Android开发过程中的坑及解决方法收录(三)
bug:应用出现了 不幸运的,应用已停止的错误提示
排除问题:
1.intent接收数据的字符串不匹配
2.java常见的NullPointerException(空指针错误),可能由三个原因引起,字符串变量未初始化;接口类型的对象没有用具体的类初始化;没有判断是否为空
所谓的指针,就是java中的对象的引用。比如String s;这个s就是指针。若是直接引用s就会出现空指针错误
再比如: List lt; 会报错 List lt = new ArrayList(); 则不会报错了
3.接收的类型不符合,显示出来出现错误,需要使用转型
例如
int s = Integer.valueOf(mEditAttack.getText().toString());
String s = Integer.valueOf(mEditAttack.getText().toString()).toString();
bug:editText输入文字显示一半
原因:
1.editText的textsize设置过大,将字体改小,或者是设置android:paddingTop属性
2.模拟器分辨率问题,建议使用真机进行测试
bug:litepal建表错误
错误提示内容:
org.litepal.exceptions.DatabaseGenerateException: An exception that indicates there was an error with SQL parsing or execution. create table BookStores (id integer primary key autoincrement,comeId text, upDate text, thumb text, title text, type text
原因:这是因为表结构的实体类中的字段(属性)用了SQL语法中的关键字(如使用了id)
修改为其他名称即可
bug:litepal关联表返回的list为null
原因:使用了findfirst方法查询带有model的数据库
解决方法:使用find(class,id,true)方法查询
bug:list调用clear方法之后没有数据
原因:list调用clear后在
list.clear();
list = getList();
上述的代码中list清除之后,getList是list指向了getList中返回的list,list中是没有数据的
想要数据的话,使用addAll(),参数是一个同类型的list