V2EX社區客戶端:V2EX-android

dgy7 9年前發布 | 29K 次閱讀 Android開發 移動開發 V2EX-android

V2EX-android 即 V2EX社區客戶端。

支持功能

  • 話題查看

  • 節點查看和按字母搜索

  • 用戶資料查看

  • 話題回復

  • 話題創建

  • 未讀提醒查看

其他功能

  • 實現了節點、話題、用戶三個Scheme,通過話題、節點、用戶鏈接直接打開客戶端進行相關信息瀏覽

  • 對用戶已經瀏覽過的話題作記憶處理并在界面上進行展示

  • 話題、帖子等采用了卡片式布局

絕大部分數據是通過調用V2EX的Json API解析得到的,少部分涉及到用戶個人信息則是通過Http模擬瀏覽器請求頁面。但是Json API調用有嚴格的調用次數和時間限制,為了避免這個問題,我將數據緩存到文件系統中,如果用戶不手動刷新,則會直接從緩存中讀取的,當然這并不能解決根 本問題,每個小時180次請求的警戒線還是很容易就突破,這時候服務器返回403禁止訪問,會很大的影響用戶體驗。我在后續版本中會考慮繞過Json API用模擬瀏覽器訪問來代替。

V2EX社區客戶端:V2EX-android  V2EX社區客戶端:V2EX-android  V2EX社區客戶端:V2EX-android  V2EX社區客戶端:V2EX-android  V2EX社區客戶端:V2EX-android  V2EX社區客戶端:V2EX-android  V2EX社區客戶端:V2EX-android  V2EX社區客戶端:V2EX-android  V2EX社區客戶端:V2EX-android

開發相關

開發用的是 Android Studio,除了編譯速度感覺略慢一點點,就沒有什么其它的大問題了,而且智能提示更智能,此外用 gradle 做庫依賴確實方便,真的可以甩 eclipse 幾條大街了。

V2EX客戶端里面的列表用到了Android兼容庫

compile 'com.android.support:cardview-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.3'

剛開始對于V2EX的主題列表和回帖列表,我都是用ListView實現的。不過后來發現總存在一些問題,在Nexus 5上沒什么問題,但是在其他手機上列表會出現一些鋸齒。于是我用RecyclerView來重新實現了一遍。CardView則對每個話題Item進行卡 片式布局。

這是V2EX-Android中用到的第三方庫:
   compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
   compile 'com.loopj.android:android-async-http:1.4.6'
   compile 'com.github.mrengineer13:snackbar:1.1.0'
   compile 'com.melnykov:floatingactionbutton:1.3.0'

  • android-async-http

    封裝了 http 請求,直接支持 json,gzip 壓縮,相當省事。

  • universal-image-loader

    異步圖像加載,緩存和顯示,如果你想要在界面上顯示網絡圖片,那么趕緊使用它吧。

  • pagerslidingtabstrip

    交互式頁面指示器控件,完美配合ViewPager控件。

  • floatingactionbutton

    浮動Action Button控件,完美配合ListView、RecyleView。

  • snackbar

    Snackbar 是 Material Design 下的一個組件,這是模仿Snackbar的效果實現了一款兼容5.0系統以下的Snackbar。

除此以外,還使用了

  • 友盟的SDK作統計分析和自動更新

  • BadgeView作數字提醒

  • Pinyin4J 將漢字轉化為對應的拼音字母

項目主頁:http://www.baiduhome.net/lib/view/home/1432193691114

 本文由用戶 dgy7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!