Android学习笔记

基于人人网客户端进行推广与营销的这个项目已接近尾声。回想自己这2个月以来对Android的学习,有不少收获。尽管在整个过程中遇到过不少问题,但最终还是解决了。

在这里,记录一下自己在整个过程中碰到的问题与解决方案。

我负责的是“好友”界面部分,主要需要实现的功能如下

1.          使用一个List View显示好友列表,其中,每个Item包含用户头像/姓名/ID,并使用数据库保存.

Android学习笔记

第一个遇到的问题便是对图片的保存。因为是网络图片,且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设置单击事件,先获取每个ItemID,之后通过Intent传送过去,在另一个界面显示好友的基本信息.其布局为Scroll View 嵌套 List View。话说,最初看到官方客户端的时候还弄不明白,为什么不在一个界面上显示所有的信息?后来就发现了下面这种布局的问题了。在真机上测试时,Scroll View的拖动会影响List View的拖动。其实,最好的方式应该是使用ExpandableListView。其次,就是在不同的手机中,显示的信息将不能和背景图片吻合。之前想着UI要做的酷炫,却忽略了布局要适应所有不同尺寸的设备。

Android学习笔记                       Android学习笔记


   

2.          最后还有比较疑惑的问题就是,解析出来的”JSON”数据需要做一定的处理

比如下面这个

     Android学习笔记

这里,需要将得到的”DOCTOR” ”COLLEGE”等转换为与之对应的“博士”, “本科”等。否则会显示

Android学习笔记

我的想法是,使用一个数组进行转换。即,“博士”、“本科”这些添加到一个数组中,然后将最终解析出的数据与之一一比较,从而得到预期的效果



本文出自 “hacker” 博客,请务必保留此出处http://anglecode.blog.51cto.com/5628271/1532135

Android学习笔记,布布扣,bubuko.com

Android学习笔记

上一篇:css3仿天猫侧边栏


下一篇:Delphi中Json格式读写