在开发Android项目过程中遇到的常见问题整合

常见问题


1. 导入SupportV7Demo编译报错,控制台提示

[2016-05-26 16:17:22 - Support7Demos] D:\workspace\xa27_advanced\Support7Demos\res\values\styles.xml:26: error: Error retrieving parent for item: No resource found that matches the given name 

'Theme.AppCompat.Light.NoActionBar'.

原因:需要依赖support\v7\appcompat库

解决:导入AppComapt库

提示:一定要选择拷贝

    

2. 库项目不能运行

    

3. Utils cannot be resolved找不到

4. error: Error retrieving parent for item: No resource found that matches the given name  'android:Widget.Material.ActionButton'.

原因:Material

背景:Android 5.0新增的设计风格

解决:改为使用Android6.0编译

5、 

  dependency list:依赖列表

  原因:supportV4.jar有多个版本,它们之间有冲突

  解决:将项目和库中的supportV4.jar改为同一个版本,或者删除项目中的supportV4.jar

sdk\extras\android\m2repository\com\android\support\support-v4

    

2. 将清单中最低版本号改为9  

  

Call requires API level 11 (current min is 9): android.app.Activity#onCreateView

原因:分析发现没有使用onCreateView()方法,eclipse编译问题

解决:clean

规避:

    

 4. [2016-05-27 12:00:44 - EX05_Actionbar最低兼容4.0] ActivityManager: Warning: Activity not started, its current task has been brought to the front

原因:运行不同的项目,eclipse的bug

解决:clean

5. 清单中最低版本号是9,菜单xml文件中的shouAsAction有警告

Attribute "showAsAction" is only used in API level 11 and higher (current min is 9)

原因:使用了高版本的xml属性

解决:改为使用appcompatV7的属性

术语:命名空间  xmlns

6. Type mismatch: cannot convert from BlankFragment to MyFragment

    类型不匹配    

    ft对象在commit后失效,下次使用需要重新创建

8. 在Fragment布局中使用onClick属性,运行时FC

  原因:运行时系统会到Activity中查找onClick属性值对应的方法

不会在Fragment中找方法

解决:在Fragment的布局中不要使用onClick

NullPointerException异常

Cause by紧跟着自己的代码,说明当前代码中某个对象为null

    例如  

    

Causeby之后不是自己的代码,说明当前代码触发了其他代码空指针

 原因是传入某个参数为null

 例如:  

   

9. id对应的布局没有在contentView中

    12. 在布局中添加toolbar,编译出错

   error: Error parsing XML: unbound prefix

    

    原因:未定义命名空间

    解决:声明命名空间

    xmlns:appv7="http://schemas.android.com/apk/res-auto"

13. Class requires API level 3 (current min is 1): android.widget.HorizontalScrollView

清单中最低sdk配置要高于3

原因:Android Studio的项目,最低版本号不在清单文件中

14. 

开源库抛异常,原因是传入了没有设置适配器对象的pager

解决:先设置pager的适配器,再传入

15. 

    

没有重写getPageTitle()方法

16. 

    

    原因:eclipse的bug

解决:clean

  注意:在xml布局文件中使用,必须重载两个参数的构造方法     

                  

        让自定义控件动起来

           

      注意:如果是在子线程刷新控件,不能调用invalidate()方法

       需要调用postInvalidate()

    17.添加热门城市

            

    ListView在添加HeadView时,必须先添加,然后在设置适配器

  解决ListView中嵌套GridView冲突问题

  ScrollView嵌套GridView  ScrollView嵌套ListView

  使用库中的GridView4ScrollView

                        

5. JDK1.7新增语法,泛型

    

18. 拷贝SupportV7Demo的ActionBarWithDrawerLayout类编译报错

   The import android.support.v7 cannot be resolved

19. 拷贝SupportV7Demo的ActionBarWithDrawerLayout类运行FC

原因:如果Activity继承了AppCompatActivity,主题必须使用Theme.AppCompat开头的主题

    

解决:修改清单中配置的主题

 

1. 解决生成的POJO编译错误

1) 项目libs目录中拷贝一个gson.jar,或者依赖lib_yuchen0428库

   

2) ctrl + 1,添加包名

    

3) 删除导入

4) 删除

解析json对象,但下载的是jsonarray字符串

2. 解析jsonarray对象,但下载的是json字符串

    

3. [2016-06-01 12:03:51 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/android/volley/VolleyError;

[2016-06-01 12:03:51 - EX33_使用gson包解析json] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/android/volley/VolleyError;

原因:多次使用了同一个库,库冲突

解决:删除项目中使用的重复库之一

4. 使用UIL运行时FC

init  initial   initialization   初始化

原因:使用之前没有配置

5. 

原因:使用jsonschema2pojo工具生成的JAVA类,可能某些字段的类型不对,需要修改

解决:根据实际类型修改POJO

 5. 为IntentService的子类添加了有参数构造方法,运行时FC

    

 

 

1. 多个含有so文件的开放接口公用冲突问题

将libs中缺少的目录补全,so文件从armeabi-v7a拷贝

. 在.so中没有被JAVA代码调用的方法

3.在某个so目录中找不到so文件

 

4. 继承IntentService时编译报错   Implicit super constructor IntentService() is undefined. Must explicitly invoke another constructor

 

5. 为IntentService的子类添加了有参数构造方法,运行时FC

5.为IntentService的子类添加了有参数构造方法,运行时FC