一. 項目問題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音樂播放器,一樣須要數據庫對數據的保存還有修改。今天所須要的是知乎日報中收藏須要對數據的持久化。取消收藏是對數據進行刪除,在刪除的時候會遇到一個常見的問題就是,若是沒有數據的話你進行刪除會出現項目的運行錯誤。如今在高級階段感受天天所學到的東西真的天天都比一天多。須要對天天的知識點進行消化,積累多了兩天就不少知識點就沒法消化了。安卓的學習是無止境的不少的是須要堅持積累。