運(yùn)交華蓋欲何求袁滥?未敢翻身已碰頭盖桥。 破帽遮顏過鬧市题翻,漏船載酒泛中流揩徊。 橫眉冷對千夫指嵌赠,俯首甘為孺子牛塑荒。 躲進(jìn)小樓成一統(tǒng)姜挺,管他冬夏與春秋袜炕。
承上啟下
寫到這里,就剩下一個功能了初家,那就是 戰(zhàn)車 了;
戰(zhàn)車頁面
關(guān)于戰(zhàn)車頁面的設(shè)計(jì)與數(shù)據(jù)提任谥溜在;
先來提取數(shù)據(jù),看看獲取的數(shù)據(jù)都有什么他托;然后再定頁面的展示掖肋;
初步的規(guī)劃是三個級聯(lián)頁面;
前兩個頁面赏参,也就是 戰(zhàn)車類型列表 和 各類型戰(zhàn)車列表 的數(shù)據(jù)在之前的html中志笼,仍然使用jsoup進(jìn)行提取,比提取到對應(yīng)的抽象類 Tanks
把篓,這個地方也比較復(fù)雜纫溃,代碼比較多,我也不貼了韧掩,可以去源碼中的工具類中去看紊浩;
第三個頁面 戰(zhàn)車戰(zhàn)績信息 的數(shù)據(jù)是沒有,繼續(xù)抓請求,發(fā)現(xiàn)點(diǎn)擊某個戰(zhàn)車的時候回發(fā)出一個 json 請求坊谁,這就好辦了费彼;
類似下面的請求,需要參數(shù)acount_id和vehicle_cd:
http://ncw.worldoftanks.cn/zh-cn/community/accounts/1509154099/vehicle_details/?vehicle_cd=305
返回的 json 包括該戰(zhàn)車的成就list口芍,和其他的戰(zhàn)績信息箍铲;
**一些技術(shù)細(xì)節(jié): **
第一個 戰(zhàn)車類型列表 頁面使用的是 TanksFragment
填充主頁的空白,后兩個則是使用的新的 Activity 來實(shí)現(xiàn)的鬓椭,分別為:AtyTanks
和 AtyTank
颠猴;
AtyTanks
中根據(jù) TANKS_TYPE
來判斷展示的坦克類型名稱,名稱使用了一個數(shù)組來存儲:String[] TANKS_TITLE = {"LT", "MT", "HT", "TD", "SPG"}
膘融,順序與列表的點(diǎn)擊 position
對應(yīng)芙粱;
在 AtyTanks
的頁面文件 activity_tanks
中使用了 CollapsingToolbarLayout
,其中添加了一個代表各類型的坦克圖片氧映,我選的德系比較多春畔,,岛都,誰讓我是個德粉呢律姨!
在 AtyTank
的頁面文件 activity_tank
中的上半部分使用了 NestedScrollView
嵌套 CardView
再嵌套 RecyclerView
的方式,在可上下滾動的Card里實(shí)現(xiàn)了成就列表的左右滾動臼疫;
其他的一些 邏輯處理 择份,如:國旗的處理、坦克成就的圖片url拼接烫堤、提取勛章的ID與名稱對照字段map(坦克成就json中沒有成就名字漢字荣赶,于是拼裝了一個中英文對照的map,此map用于以英文為id提取中文從而設(shè)置成就名稱)等鸽斟,不再詳細(xì)描述拔创,具體可參見代碼;
戰(zhàn)車類型列表 圖:
各類型戰(zhàn)車列表 圖:
坦克詳細(xì)戰(zhàn)績頁面 圖:
兩個問題
1富蓄、上滑時toolbar只隱藏一半的問題
錯誤圖:
原因:在 CoordinatorLayout
中多了下面這個屬性:
android:fitsSystemWindows="true"
2剩燥、網(wǎng)絡(luò)請求又出問題了,立倍,灭红,不返回jsonobj
去掉好多header后可以獲取到String,header還是不要亂加口注,夠用就好变擒;
后記
核心功能基本完成,下一步開發(fā)APP的基礎(chǔ)功能:設(shè)置疆导、關(guān)于赁项;
主要的功能點(diǎn):版本更新葛躏、緩存清除等;
明明還有好多要干的悠菜,可是不知從何下手了舰攒;
2016年5月15日16:12:23 by zhang.xx