不可不知的android开发冷知识8
来源:互联网 发布:李喆工笔画网络班 编辑:程序博客网 时间:2024/05/22 04:26
1、在开发过程中,发现用的第三方串口库在4.4、5.1系统上运行正常,而在6.0系统上却打开串口错误。原因是编译串口.so文件的版本太低,而工程中的targetSdk太高,因此把targetSdk改成小于23就可以了。如:targetSdkVersion 22
2、Activity的onActivityResult比onResume早调用,这个知识很重要,例如跳到另一个界面的时候,在onPause中将某个状态置为了false,某个界面返回后需要根据返回的数据进行更新。而更新时需要根据这个状态为true才可以更新,这时就需要在onActivityResult中先将状态置为true,而不是等onResume时才置为true。
3、使用leakcanary发生eferences android.view.inputmethod.InputMethodManager
问题,这时可以参考以下连接解决:Github解决方案
4、使用android Studio 3.0体验kotlin时出现 Plugin is too old and ANDROID_DAILY_OVERRIDE
问题。
原因是beta/alpha版本有40天限制,在此之后Android Studio就会强制我们升级新版本。但是这个所谓的新版本在引用库中并不存在(最新版是配合Android Studio 3.0使用的alpha版),解决方法是在系统环境变量中添加一个环境变量ANDROID_DAILY_OVERRIDE,设置为Android Studio中提示的值。
5、Android隐藏返回键
WindowManager.LayoutParams params = getWindow().getAttributes(); params.systemUiVisibility =View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; getWindow().setAttributes(params);
需要在4.0以上,在setContentView之前加。
6、Android数据库升级暂不支持删除列,因此以下写法是错误的。
final String dropMachinePassword = "alter table " +TABLE_MACHINE_SET+" drop column "+PASSWORD;db.execSQL(dropMachinePassword);
7、Android在数据库版本更新时添加列
final String addMachineModel = "alter table " +TABLE_MACHINE_SET+" add column "+MACHINE_MODEL+" TEXT DEFAULT('NONE')";final String addCleanHour = "alter table " +TABLE_MACHINE_SET+" add column "+MACHINE_CLEAR_HOUR+" INTEGER DEFAULT(0)";db.execSQL(addMachineModel);db.execSQL(addCleanHour);
- 不可不知的android开发冷知识8
- 不可不知的android开发冷知识1
- 不可不知的android开发冷知识2
- 不可不知的android开发冷知识3
- 不可不知的android开发冷知识4
- 不可不知的android开发冷知识5
- 不可不知的android开发冷知识6
- 不可不知的android开发冷知识7
- android开发不可不知的UI知识
- 不可不知冷排选择4法则 水冷知识大讲堂
- android 开发中不可不知的技巧
- android 开发中不可不知的技巧
- android 开发中不可不知的技巧
- android 开发中不可不知的技巧
- android 开发中不可不知的技巧
- 不可不知的健康知识
- 不可不知的python知识
- Android工程师不可不知的安卓屏幕知识(原创)
- ubuntu安装NERDTree,Taglist和WinManager
- 字符串比对
- 优先队列
- 源码网址
- 20171215.05
- 不可不知的android开发冷知识8
- 购物车之Recyclerview列表
- SharedPreference的存值取值
- angular js 结算总价
- Guava之ArrayListMultimap
- 文件权限
- tensorflow-offline 离线安装
- 初学C#,对委托的初认识
- EL表达式&Ognl框架