Android知乎日报开发

一. 项目问题java

1. Banner自动滚动,当Banner不可见时,屡次切换Fragment,FC 
缘由:系统组件之间的冲突
规避:1) 当Banner可见时自动滚动
          2) 当Banner不可见时中止自动滚动
 
延迟加载LazyLoad
参考ApiDemo中的List13.java
解决步骤:
1) 监听ListView的滚动事件
    
2) 非手动,而且可见才自动滚动
ww.23code.com
 
2. 布局事件穿透
场景:当使用FrameLayout或层叠布局时,上层布局中若是某处没有控件,
          用户点击事件会透传到下层
解决:
 
二. 项目功能
1. 收藏(浏览历史)
分析
1) 收藏:详情页菜单
2) 查看:收藏片断中
3) 取消:详情页菜单
设计
数据持久化
1) InternalStorage
    /data/data/packagename/files
2) ExternalStorage
    SDCard    /mnt/sdcard/
    场景:文件较大     游戏数据包     图片缓存
3) SharePreferences
    /data/data/packagename/share_prefs
    场景:较小、键值对形式       用户设置
4) SQLite
    /data/data/packagename/databases
    场景:数据量较大、数据结构相似,频繁增/删/改/查
              联系人、短信、图片、音频、视频
5) Web    
    URL
    场景:用户在任何设备上均可以查看
 
分类:
1) 服务端
2) 客户端
 
复习:
SQLite使用步骤
1) 继承SQLiteOpenHelper
2) 建立Helper , helper.getWritableDatabase()
3) db.execSQL(sql)
    db.rawQuery()
 
关系型数据库
面向对象
4) ORM    对象关系映射
    db.insert()
    db.delete()
    db.update()
    db.query()
 
2. ORM框架
    Ormlite
    GreenDao
    ActiveAndroid
 
    
 
3. ActiveAndroid库的使用步骤:
1) 建立Application,初始化ActiveAndroid
    
2) 建立一个类,继承Model,设置与数据库表名和列名的映射
3) 经过save()方法保存数据
4. ActiveAndroid更多方法
1) 删除
2) 查
3) 修改
4) 批量插入
    
5) 设置数据库的文件名和版本号
    
 
全部的IO操做都是耗时的
 
5. 收藏功能
1) 编写数据库操做工具类
2) 在详情页菜单点击事件中调用
3) 从列表Fragment传递Story对象到详情页
    
 
6. 取消收藏
1) 在DBManager中增长删除收藏数据库的方法
2) 增长判断某条数据在数据库中是否存在的方法
3) 增长一个切换收藏状态的方法
4) 在详情页面调用
 
7. 使用同一个对象反复插入删除的问题
    现象:第二次以后插入数据失败
    缘由:ActiveAndroid不支持同一个对象屡次插入
    解决:使用克隆对象
    重写Story类的clone()方法
  
常见问题
1. 使用ActiveAndroid,建立Model时没有添加无参数的构造方法
 
constructor:构造方法
 
心得体会:
       安卓的开发学习已经有3个多月了,从中已经学到了不少,也有不少的不懂,今天主要是用到了数据库,数据库也是以前所学到SQLite,要对数据库的增删改查要比较的熟悉,数据的持久化的经常使用的几种。无论是在那个项目都须要用到数据库,以前我所作的QQ音乐播放器,一样须要数据库对数据的保存还有修改。今天所须要的是知乎日报中收藏须要对数据的持久化。取消收藏是对数据进行删除,在删除的时候会遇到一个常见的问题就是,若是没有数据的话你进行删除会出现项目的运行错误。如今在高级阶段感受天天所学到的东西真的天天都比一天多。须要对天天的知识点进行消化,积累多了两天就不少知识点就没法消化了。安卓的学习是无止境的不少的是须要坚持积累。
相关文章
相关标签/搜索