Android學習筆記

來源:互聯網
上載者:User

標籤:android   人人網   

基於人人網用戶端進行推廣與營銷的這個項目已接近尾聲。回想自己這2個月以來對Android的學習,有不少收穫。儘管在整個過程中遇到過不少問題,但最終還是解決了。

在這裡,記錄一下自己在整個過程中碰到的問題與解決方案。

我負責的是“好友”介面部分,主要需要實現的功能如下

1.          使用一個List View顯示好友名單,其中,每個Item包含帳戶圖片/姓名/ID,並使用資料庫儲存.

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/42/3C/wKioL1PXLguySxo4AACT83jIbw4422.jpg" title="1.jpg" alt="wKioL1PXLguySxo4AACT83jIbw4422.jpg" />

第一個遇到的問題便是對圖片的儲存。因為是網狀圖片,且List View使用的是Simple Adapter設定每個Item的內容,而Simple Adapter是不支援map(?, ?)中儲存Bitmap的。

最後在網上搜了一下,普遍採用實現View Binder介面來解決這一問題。

fAdapter.setViewBinder(new ViewBinder() {               publicboolean setViewValue(View view, Object data,                     StringtextRepresentation) {                  // 判斷是否為我們要處理的對象                  if (view instanceof ImageView && data instanceof Bitmap) {                     ImageViewiv = (ImageView) view;                     iv.setImageBitmap((Bitmap)data);                     returntrue;                  }else                     returnfalse;               }            });

在這裡,view就是自訂的布局,而data則是傳入的list資料。此函數將遍曆布局中的各個組件,從而使data中儲存的圖片傳入Simple Adapter。

2. 為Item設定單擊事件,先擷取每個Item的ID,之後通過Intent傳送過去,在另一個介面顯示好友的基本資料.其布局為Scroll View中 嵌套 List View。話說,最初看到官方用戶端的時候還弄不明白,為什麼不在一個介面上顯示所有的資訊?後來就發現了下面這種布局的問題了。在真機上測試時,對Scroll View的拖動會影響List View的拖動。其實,最好的方式應該是使用ExpandableListView。其次,就是在不同的手機中,顯示的資訊將不能和背景圖片吻合。之前想著UI要做的酷炫,卻忽略了布局要適應所有不同尺寸的裝置。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/42/3C/wKiom1PXLhTw-IC2AADgBuaC7Yk740.jpg" style="float:none;" title="1.jpg" alt="wKiom1PXLhTw-IC2AADgBuaC7Yk740.jpg" />                       650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/42/3C/wKiom1PXLhWSLBaJAACa1uXJ-TQ998.jpg" title="2.jpg" style="float:none;" alt="wKiom1PXLhWSLBaJAACa1uXJ-TQ998.jpg" />


   

2.          最後還有比較疑惑的問題就是,解析出來的”JSON”資料需要做一定的處理

比如下面這個

     650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/42/3D/wKiom1PXLkTyNuksAAC1VB-B3Ns301.jpg" title="3.jpg" alt="wKiom1PXLkTyNuksAAC1VB-B3Ns301.jpg" />

這裡,需要將得到的”DOCTOR”, ”COLLEGE”等轉換為與之對應的“博士”, “本科”等。否則會顯示

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/42/3D/wKioL1PXL3zTVWUwAAAL4ey-o5o027.jpg" title="5.jpg" alt="wKioL1PXL3zTVWUwAAAL4ey-o5o027.jpg" />

我的想法是,使用一個數組進行轉換。即,“博士”、“本科”這些添加到一個數組中,然後將最終解析出的資料與之一一比較,從而得到預期的效果



本文出自 “hacker” 部落格,請務必保留此出處http://anglecode.blog.51cto.com/5628271/1532135

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.