每周一结

2018-01-03  本文已影响0人  半世流离_6597

适配器:. 顾名思义,就是把一些数据给弄得适当,适合以便于在View上显示。可以看作是界面数据绑定的一种理解。它所操纵的数据一般都是一些比较复杂的数据,如数组,链表,数据库,集合等。适配器就像显示器,把复杂的东西按人可以接受的方式来展现。那么适配器是怎么处理得到的数据,并把它显示出来的呢。其实很简单,说白了适配器它也是一个类,在类里面它实现了父类的这几个方法:

publicint getCount() //得到数据的行数

public Object getItem(int position)//根据position得到某一行的记录

public long getItemId(int position)//得到某一条记录的ID

1)ArrayAdapter

列表的显示需要三个元素:

a.ListVeiw 用来展示列表的View。

b.适配器 用来把数据映射到ListView上的中介。

c.数据    具体的将被映射的字符串,图片,或者基本组件。

2)SimpleAdapter

  simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片),还可以放上Button(按钮),CheckBox(复选框)等等。下面的代码都直接继承了ListActivity,ListActivity和普通的Activity没有太大的差别,不同就是对显示ListView做了许多优化,方面显示而已。

3)BaseAdapter

  有时候,列表不光会用来做显示用,我们同样可以在在上面添加按钮。添加按钮首先要写一个有按钮的xml文件,然后自然会想到用上面的方法定义一个适配器,然后将数据映射到布局文件上。但是事实并非这样,因为按钮是无法映射的,即使你成功的用布局文件显示出了按钮也无法添加按钮的响应,这时就要研究一下ListView是如何现实的了,而且必须要重写一个类继承BaseAdapter。下面的示例将显示一个按钮和一个图片,两行字如果单击按钮将删除此按钮的所在行。并告诉你ListView究竟是如何工作的。

线程 后台 请求数据

  1:网络权限

  2:开启一个子线程

    new Thread(new Runnable{

        @Override

        run(){

         //耗时操作

          1:URL url = new URL("http://xxx:8080/")

          2:InputStream inputStream = url.openStream();

          //文字 字符流  图片 音频视频  字节流

           3:inputStream--->字符流

            通信主线程

            runonUiThread(){

              run(){

             .setText

              .setAdapter

              .setImageResurce

                    //弹框

                    //吐司

                }

            }

        }

    })

  1:地址

  servlet-mapping

    servlet名字

    /MyServlet

  ip:8080/项目名字/MyServlet?name=zhangsan&pwd=2344

  2:doPost  doGet doPost()

    get:  ?name=123&pwd=124

    post  隐藏

  3:字符编码  中文乱码

    utf-8  gbk  ?

  4:手机测试

    同一个局域网

上一篇 下一篇

猜你喜欢

热点阅读