错误问题总结

本文记录一下遇到的问题,持续更新。

1.java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/data/com.ant.sqlite3/databases/mydata.db  

产生原因:
假如你有A、B两个异步线程操作sqlite数据库。A是读取,B是写入,当A完成读的时候调用close(),而B在这时正在执行写的方法就会出现下面的异常。有人说去掉单例模式可以解决这个问题,但你不能忘记你在怎么单例使用的数据库还是同一个,避免不了。
解决办法:
如果你在一定的时间内需要重复的操作数据库,那么不要调用close()方法,关闭游标就可以了。在你Activity注销或者真正不再需要的时候调用数据库的colse()方法.

2.使用TabLayout发生的错误:
Failed resolution of: Landroid/support/v7/widget/TintManager;

design包的版本是24.0.0,而recyclerview的版本是24.2.0,两个包版本不一致,导致报错,改成一致就可以了。

3. You cannot start a load for a destroyed activity
使用Glide出错

归根结底都是因为我们传入了一个已经销毁的Activity或者是一个空的Context ,Fragment 挂载的Activity为空导致的
http://blog.csdn.net/loners_/article/details/73521968

4.android studio关于真机调试DDMS中的data文件夹打不开的解决方法

http://blog.csdn.net/q394895302/article/details/52796883

5.百度地图:定位不准确

option.setCoorType("bd09ll");

6.周边搜索出错

设置pageNum为1,表示第二页数据,如果搜索逸特图文快印,返回的near结果就一条,当然第二页里面看不到

7.fragment 嵌套 fragment 解决 getFragmentManager() 已经存在的问题

主要是把 getFragmentManager() 方法 换成 getChildFragmentManager();因为你已经在fragment里面了,不能再次得到到外层的manager,只能用孩子的manager。

8.Fragment的可见再加载的方法(真正的Fragment的OnResume和OnPause)

  1.  public void setUserVisibleHint(boolean isVisibleToUser) {  
  2.        super.setUserVisibleHint(isVisibleToUser);  
  3.        if (isVisibleToUser) {  
  4.            //相当于Fragment的onResume  
  5.        } else {  
  6.            //相当于Fragment的onPause  
  7.        }  
  8.    }  
http://blog.csdn.net/jasoncol_521/article/details/24973565

9.android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 0

android中数据库处理使用cursor时,游标不是放在为0的下标,而是放在为-1的下标处开始的。
也就是说返回给cursor查询结果时,不能够马上从cursor中提取值。

10.APP接入QQ登陆功能报错“该应用非官方正版应用,请到......100044”的几种错误

      App没有上线,这种情况下申请的是“个人开发者”,必须确保你创建App所用的QQ帐号和你测试时使用的登录QQ号一致!如果App是公司的企业号创建的,可能是因为你的QQ号没有测试权限,请找到创建的人为你的QQ号添加测试权限。

      App已上线,如果你是用IDE导出的包进行登陆测试,出现这种情况很大情况是 APP_ID 出错,或者是导出包时用的签名不一致,这自己找问题,签名要妥善保管,不然更换签名还要找客服操作。

11..IndexOutOfBoundsException: Index: 2, Size: 2
sqlite 多线程读写

http://blog.csdn.net/fateee/article/details/45311323

12.百度地图定位不显示内容,一片蓝

原因是没开启权限的话,坐标为(0,0),经度 0和纬度 0的交点,大致位于非洲西部的几内亚湾,位于海上,所以是蓝色。设置targetVersion>=23,那么运行到6.0及以上设备时,默认所有权限都不开启,必须动态requestPermission,这里需要位置权限,默认没开启导致此结果。

13.关于百度SDK的返回错误-"PERMISSION UNFINISHED"

PERMISSION-UNFINISHED是因为鉴权还未完成,直接使用相关的方法,比如直接将信息检索写在onCreate方法中,你可以写在别的地方试试,比如click事件中。SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中

14.Could not resolve com.android.support.constraint:constraint-layout:1.1.1.

打开Project Structure Settings查看默认配置,发现关键配置为空,于是关键的配置如SDK, Compile Tools, JDK source和target均选择最新版本

编译还是不通过。查看Settings配置gradle,使用Android Studio默认的gradle版本,并且不勾选offline work,使用网络下载dependency依赖配置。


这样之后我已经解决了,对于还有错误的朋友,就抱歉了。

14.Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

可以用Build->Rebuild Project解决,但这个方法只是临时的,重新打开项目还是会报错

另一种方法是在app下的build.gradle文件中的dependences {}中添加如下代码:

 androidTestCompile('com.android.support:support-annotations:26.1.0') {
        force = true
    }

15.微信分享出错:MicroMsg.SDK.WXMediaMessage: checkArgs fail, thumbData is invalid

这是因为微信分享图片有大小限制,最大32k,只要进行图片压缩就好了。

猜你喜欢

转载自blog.csdn.net/hua93/article/details/79672980