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