Android学习笔记
基于人人網客戶端進行推廣與營銷的這個項目已接近尾聲。回想自己這2個月以來對Android的學習,有不少收獲。盡管在整個過程中遇到過不少問題,但最終還是解決了。
在這里,記錄一下自己在整個過程中碰到的問題與解決方案。
我負責的是“好友”界面部分,主要需要實現的功能如下
1.??????????使用一個List View顯示好友列表,其中,每個Item包含用戶頭像/姓名/ID,并使用數據庫保存.
第一個遇到的問題便是對圖片的保存。因為是網絡圖片,且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;}elsereturnfalse;}});在這里,view就是自定義的布局,而data則是傳入的list數據。此函數將遍歷布局中的各個組件,從而使data中保存的圖片傳入Simple Adapter。
2. 為Item設置單擊事件,先獲取每個Item的ID,之后通過Intent傳送過去,在另一個界面顯示好友的基本信息.其布局為Scroll View中 嵌套 List View。話說,最初看到官方客戶端的時候還弄不明白,為什么不在一個界面上顯示所有的信息?后來就發現了下面這種布局的問題了。在真機上測試時,對Scroll View的拖動會影響List View的拖動。其實,最好的方式應該是使用ExpandableListView。其次,就是在不同的手機中,顯示的信息將不能和背景圖片吻合。之前想著UI要做的酷炫,卻忽略了布局要適應所有不同尺寸的設備。
? ? ? ? ? ? ? ? ? ? ???
? ?
2.??????????最后還有比較疑惑的問題就是,解析出來的”JSON”數據需要做一定的處理
比如下面這個
? ? ?
這里,需要將得到的”DOCTOR”, ”COLLEGE”等轉換為與之對應的“博士”, “本科”等。否則會顯示
我的想法是,使用一個數組進行轉換。即,“博士”、“本科”這些添加到一個數組中,然后將最終解析出的數據與之一一比較,從而得到預期的效果。
//最后,我要深深為我的英語水平感到慚愧!!!在解析某個數據的時候,由于將某個單詞拼錯而未能使信息顯示出來。我屮艸芔茻,又是改布局,又是查Activity代碼,艸,最終鬼使神差的找到了錯誤!
轉載于:https://blog.51cto.com/anglecode/1532135
總結
以上是生活随笔為你收集整理的Android学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Idea 添加lib文件夹,并添加至项目
- 下一篇: 【VLC-Android】vlc-and