四个月的培训马上就要结束了,感谢新博离校长和各位老师,同学们的帮助,希望新博越办越好,同学们能够找到属于自己的平台,务实奋进,开拓一块属于自己的领域!



下面简单整理下高级部分做项目期间遇到的常见问题以及解决方法:


总结经验

1. 哪些比较好的经验

1) 封装

2) 分析、设计、实现

3) 文件结构:物理架构

4) 时机

5) 命名

6) 常量类

7) 复用

8) 单独例子

9) 错误日志   关键词

10) 积累工具类

11) 延迟加载、多线程机制

12) 控制台信息


  1. 项目出现叹号

    原因:项目配置问题

    解决:项目右键→perferences→java build path→libraries→删除不需要的东西 


06-02 07:47:59.154: E/AndroidRuntime(4103): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ex_templete/com.example.ex_templete.MainActivity}: android.view.InflateException: Binary XML file line #28: Error inflating class fragment

日志提示的原因:

06-02 07:47:59.154: E/AndroidRuntime(4103): Caused by: java.lang.ClassCastException: com.example.ex_templete.MyFragment cannot be cast to android.app.Fragment

原因:继承的Activity内部只能添加android.app.Fragment的片段,不支持supportV4的Fragment

解决:修改继承FragmentActivity

3. 关联supportV4源代码

源代码路径:

D:\Android_Prog\android-sdk_r24.2\extras\android\support\v4\src

关联方法

在libs目录中新建一个文件,名称为:android-support-v4.jar.properties

打开文件,编辑内容为:

src=源代码路径

3B09412E79BE42678BCEB4B60FFC180D


关闭项目,再打开.


4.工具环境
1) 路径中不要含有中文和空格

2) 两个版本不能同时使用


5.乱码问题

char

编码:25991 = 文

常见的编码格式:

UTF-8

GBK    简体中文

GB2312

GB18030

Big5    繁体

ISO 8859-1

常见问题场景:客户端与服务端的编码方式不同

如何解决:最好统一为utf-8


6.导入supportv7库

1)问题:编译版本默认不是5.x,

解决:修改编译版本为5.1.1,再clean

2)supportV7源代码

D:\...\android-sdk_r24.2\extras\android\m2repository\com\android\support\appcompat-v7\22.1.1


7.项目引用库时,提示编译报错

原因:项目和库中含有相同jar包的不同版本,

解决:将两个jar包改为一致

          或者删除项目中的jar包

7785D77091B849499A811B9AA23847B8


8.ListView没有显示

前提:

1) server正常?

2) 检查json字符串是否成功下载?


9.ViewPager嵌套ViewPager的问题

现象:Banner自动切换速度变快

原因:Fragment的onCreateView()方法被多次重复调用

解决:

C2DE4D2AF8E44D5BBD06267C5A32F83D

339AACBA50D740CC9CF394B485FF5E08

10.ViewPager嵌套ViewPager,Fragment管理器需要使用ChildFragmentMananger

问题现象:内部的ViewPager图片有时不显示


11.

Unable to execute dex: Multiple dex files define Lcom/nostra13/universalp_w_picpathloader/cache/disc/DiscCacheAware;

[2015-06-09 17:31:10 - 欢迎界面_01] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/nostra13/universalp_w_picpathloader/cache/disc/DiscCacheAware;

原因:项目多次依赖了同一个库

解决:删除重复的依赖


12.使用ActiveAndroid时提示NullPointerException

34E1C00673C64929BC41AAF4838F0FCC

原因:清单中没有注册Application,没有初始化ActiveAndroid


13.Banner中三个ImageView无法显示图片

原因:多线程的时机问题

在下载banner数据之前,banner的Item无法显示图片

下载数据成功后,才可以显示图片

解决:下载数据后再初始化Banner