1.添加RecylcerView出现无法找到该类,在build.gradle最后添加一句:(注意版本号变化)
compile 'com.android.support:recyclerview-v7:24.2.0'
compile 'com.android.support:recyclerview-v7:24.2.0'
2.添加样式后,shape标签无法被识别,默认的xml会放在values文件夹下,无法被识别,需要放到drawable目录下
3.在Android6.0之后,系统权限机制发生了改变,想要使用AlertDialog必须要声明相应的权限
4.ButterKnife 新版本增加了资源绑定,并且将 compiler 分离了出来,引用方式做了改变
直接添加“ compile 'com.jakewharton:butterknife:8.4.0' ”之后,
还要在 project的build.gradle配置文件中添加 :
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
在app的build.gradle配置文件中 :
最上面添加
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'com.jakewharton.butterknife'
之后添加
compile 'com.jakewharton:butterknife:8.4.0'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
并且在使用ButterKnife的相关插件的时候,需要先将光标移动到setContentView(R.layout.acty_login),将光标放到R.layout.acty_login,然后右键Generate就有了。要注意一定要将光标放在R.layout.acty_login上面。
5.为了使用 ButerKnife的右键一键生成绑定功能,需要添加插件:butterknife zelezny插件。官网下载最新版本即可
6.Android的mipmap仅仅用于应用启动图标,可以根据不同分辨率进行优化。其他的图标资源,还是要放到drawable文件夹中。
7.新建selector.xml文件:Drawable文件夹右键新建-Drawable Resource file,
Android中颜色编码为8位时,前两位表示透明度,后六位表示颜色
8.cannot reslove symbol R : clean一下工程就好。当缺失必要的 values文件的属性时,可能会当时不报错,但编译不通过,导致问题。
9.真机上运行android程序logcat不显示是因为一些rom默认关闭logcat。百度解决办法
10.AS的模拟器的File Exploer打开一片空白,用下载的ddmlib.jar替换掉sdk的tools文件夹下的那个文件,重启File Explorer
11.结果打开后,data文件夹又打不开:
进入Android SDK安装目录,找到platform-tools点击进去,按shift键并点击鼠标右键选择在命令行在此处打开;
输入adb shell 回车,然后再输入 su 回车进入权限root模式;
输入chmod -R 777 /data/ 回车即可。(-R 是对该目录下所有文件夹都执行此操作,也可以不输入-R,直接chmod 777 /data/ 也是一样的)
但发现数据库外层的data还无法打开,继续root,知道数据库文件夹/data/data/应用包名/databases/数据库名 都能打开为止
12.打开之后又尼玛导不出数据库,显示”to pull selection: open failed: Permission denied“
13.okhttp使用的时候,不仅要导入okhttp的库,而且okhttp内部依赖okio,
别忘了同时导入okio:gradle: compile 'com.squareup.okio:okio:1.5.0'
14.okhttp使用获取response信息的时候获取结果返回的是com.squareup.okhttp.internal.http.RealResponseBody@****字符串,不是正常结果。
解决方法:
Replace:String json = response.body().toString()
With: String json = response.body().string()
15.希望在其他界面对数据进行处理,希望返回到数据显示页面时,ListView进行更新,
但是在 onResume() 方法中调用 apater的notifyDataSetChanged()方法时,没有作用,页面没有改变。
原因adapter的数据更新了,但listview显示的内容并没有改变。
解决方法:
在Activity的onResume()方法中将adaper和listView重新再绑定一次。
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
16.将一个项目转移到另一个电脑上,但新电脑上的Android SDK版本较低,编译时出现了
“Error:Cannot change dependencies of configuration ':app:_debugAnnotationProc……”的问题,结果StackOverFlow上的大神给出了回答:
- commenting out the added dependency, the jackOptions enable true block, and the compileOptions block, where I had it compatible with 1.8.
- Sync/Clean/Rebuild Gradle (whichever it is, I'm still learning)
- Uncomment the added dependency, sync/rebuild gradle again
- Uncomment the jackOptions and compileOptions blocks, sync/rebuild gradle again
直说就是将有问题的引用注释掉,然后再编译,编译通过后将注释去掉,重新编译即可。