2014.9.17
松下被拒,东软也没消息,太打击了。。接到通知明天面试美团。前几天学习opencv,最近两天忙android 下载项目,记点有用的。
bitmap序列化:
http://blog.youkuaiyun.com/woaieillen/article/details/8199950
这样就可以将bitmap数据存到bin里了。
webview 获取favicon问题。 webview.getfavicon()返回null
http://stackoverflow.com/questions/3462582/display-the-android-webviews-favicon
onCreate 里加入 WebIconDatabase.getInstance().open(getDir("icons", MODE_PRIVATE).getPath());
但是getfavicon()还是时常返回null,WebChromeClient 的 onReceivedIcon()应该是比较靠谱的。
2014.9.25
在连续被松下东软360美团商泰拒之门外后,终于被新松要了,今天签了三方,不知道日后待遇怎么样。
android 将自己注册为浏览器。别的应用想要打开url的时候会弹出候选打开方式,把自己的app加入其中,的方法:
http://blog.vogella.com/2011/02/21/android-intents/
之前把它加入到
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
这里了,是没有效果的。
<activity
android:name="com.example.tabtest3.MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" >
</action>
<category android:name="android.intent.category.DEFAULT" >
</category>
<data android:scheme="http"/>
</intent-filter>
</activity>
这样就可以了。
然后在activity里
Intent intent = getIntent();
if(Intent.ACTION_VIEW.equals(intent.getAction())){
不清楚if里的判断是何意。
10.28
jni 出现ReferenceTable overflow (max=1024) 错误
http://blog.youkuaiyun.com/xiechengfa/article/details/6228524
(env)->GetShortArrayElements
(env)->ReleaseShortArrayElements
Bitmap 复制 public static Bitmap createBitmap (Bitmap src)
下拉菜单:Spinner http://www.open-open.com/lib/view/open1330651497624.html
Spinner.setSelection(int position); 来设置初始显示哪个
11.6
屏幕适配 http://blog.youkuaiyun.com/guolin_blog/article/details/8830286
res/layout-sw600dp/ 屏幕宽度大于600dp则优先从这个文件夹里找layout,没有则在layout文件夹找
togglebutton自定义 http://blog.youkuaiyun.com/wwj_748/article/details/9967757
获取屏幕宽度dp相关:http://blog.youkuaiyun.com/ithomer/article/details/6688883
http://blog.youkuaiyun.com/cocodehouse/article/details/7329631
http://blog.sina.com.cn/s/blog_b5c9056601018kou.html
11.8
网络连接改变监听: http://stackoverflow.com/questions/1783117/network-listener-android
获取联网方式: http://www.2cto.com/kf/201111/109796.html
2015.1.23
ConcurrentModificationException异常: http://blog.youkuaiyun.com/lirunfa/article/details/7353857
synchronized: http://www.cnblogs.com/devinzhang/archive/2011/12/14/2287675.html
三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。
2015.3.17
对Serializable用FileOutputStream writeObject存储为本地文件bin,如果程序签名换了,是无法读取的
fragment获取activity context : getActivity();
jni 环境配置:http://blog.youkuaiyun.com/lemon_tree12138/article/details/42523435
实践发现不用按照上面的讲解
1, 新建工程:正常新建,然后右击项目,android tools->add native support
2, 工程属性里:C/C++ Build -> Environment 添加一个 NDKPATH 指向 ndkroot(ndk的文件夹)
libpcap : http://blog.youkuaiyun.com/htttw/article/details/7521053
2015.5.27
最近修改了一下videodownloader,增加了直播HLS的下载,目前能下乐视直播、天天直播、日本的m.ustream.tv
关于iframe的DOM查找问题,所有的HTML5视频网站按理说应该是都有video标签的,有的是在iframe里,但是有的时候DOM查找并不能嗅探到,因为存在跨域问题,iframe的域如果与网页的不同,那么就无法操作,提示SecurityError ... Blocked a frame with origin...from accessing a cross-origin frame。(http://stackoverflow.com/questions/25098021/securityerror-blocked-a-frame-with-origin-from-accessing-a-cross-origin-frame)
同源策略Same-origin policy,(同源策略,简单地说就是要求动态内容(例如,JavaScript或者VBScript)只能阅读与之同源的那些HTTP应答和cookies,而不能阅读来自不同源的内容。更为有趣的是,同源策略对写操作没有任何限制。http://daimojingdeyu.iteye.com/blog/1754599)
m.cmt.com是https的,嗅探到的是m3u8嵌套列表,但是请求次级列表时返回403,在chrome上调试发现,如果单给次级列表会403,如果在chrome上下载嵌套列表,再下载次级列表,则可以下载,且清空cookie则403,所以猜想是cookie原因。最后发现是请求嵌套列表时会返回cookie,请求次级列表时带上这个cookie则请求成功。
2015.6.16
Android4.4以上透明导航栏状态栏(Translucent system bar)
http://segmentfault.com/a/1190000000403651
http://www.bkjia.com/Androidjc/913061.html
// 1.2新加=======================================================
if (getAndroidSDKVersion() >= Build.VERSION_CODES.KITKAT) {
// 透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
// 界面在状态栏下面
alLayout.setFitsSystemWindows(true);
alLayout.setClipToPadding(true);
}
最根layout有背景图片,平铺屏幕。所有界面控件都在alLayout上,alLayout在状态栏、导航栏之间
2015.6.22
opengl抗锯齿有些机器崩溃问题。使用cocos2dx的EGLConfigChooser,解决了问题。
2015.7.5
AutoCompleteTextView 可以实现输入提示(类似下拉菜单)
http://www.cnblogs.com/tinyphp/p/3969984.html
2016.1.18
开机启动
http://blog.youkuaiyun.com/sunboy_2050/article/details/8240956
4.0+ Home键失效:配置Activity增加如下
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.HOME" />
crash后重启activity:配置Activity属性
android:stateNotNeeded="true"
2016.2.19
listview adapter 偶尔抛出异常
java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread.
是因为数据源变了但是没有调用notification。我这次遇到是因为数据源清空导致的。
解决办法,可以在adapter内声明一个数据源,引用到原数据源,这样原数据源置为null,adapter内的数据源依然存在
adapter的getview、getcount等都使用adapter内的数据源。
listview adapter 的 getView、getCount疯狂调用。
原因是listView必须是match_parent,不能是wrap_content
http://stackoverflow.com/questions/2618272/custom-listview-adapter-getview-method-being-called-multiple-times-and-in-no-co