前言:因为之前学的都是用一个自己定义的类,完成将某一个bean中的数据直接获取,而实际中通常是通过数据库来得到的,总之,最终就是要得到数据。提一下最重要的东西,我把它叫做代理,如同一个校园代理,没有他很多事情都做不了,这个东西就是游标适配器--CursorAdapter

  1.首先讲一个故事。

     onCreate()梦开始了,ListView最初是没有数据的,内心十分空荡。

    ListView:  嘿,适配器,可以给我前5个数据吗?我要充实一下自我。

    CursorAdapter:  兄弟,没问题,我现在就去取。

    CursorAdapter:  嘿,游标,我需要前5个数据,帮我取一下。

    游标:  好的,才5个数据,我会马上传给你。

    真正的用户不会满足5个数据,用户会往下滑,希望看到更多的数据。

    -----手机屏幕监听用户往下滑动-----ListView率先知道,他去问适配器-----适配器去请求游标-----游标去查数据库

    2.SimpleCursorAdapter将数据映射到视图

        SimpleCursorAdapter它的老板是CursorAdapter ,就是用来做苦力的。实际的作用是:实现列表视图显示游标数据。

        SimpleCursorAdapter首先问一下游标有哪些列,然后它仔仔细细地把每一列都找到对应的TextView和ImageView,生怕出乱子。

        (1)首先肯定要存在这么一个游标,而且要有唯一的一个_id列,就是为了保证数据不会很紊乱,也方便查找数据。

      

    cursor=db.query("Person",new String[]{"_id","name"},
null,null,null,null,null)  //意思就是我要Person表中_id列,name列的所有数据,后面那些null为条件,这里就不管什么条件,也就是所有列都要给霸道的游标

       (2)创建游标适配器-----CursorAdapter派了一个员工来-----SimpleCursorAdapter来处理一些事情。      联系点在第四个参数和第五个参数,String[] fromColumns决定了数据库表中的那些列,int[] toViews对应布局中的唯一id ,这样就联系起来了!

       (3)关闭游标和数据库c

        当你打扰他人时,离开的时候,有素质的人都会帮忙关一下门。否则陌生人随便进来就惨了,东西不见造成内存泄露,把危险品带进来造成线程阻塞等等意想不到的事情,所以出以礼貌的原因,我们最后一步会简简单单地close

         super.onDestroy();-----主人送你到门口

        cursor.close();-----在数据库里面游荡的线人先出来,不然就永远地长眠于大数据中了

        db.close();-----游标出来后,可以放心的关上门了

      3.最后整理一下思路,不然就被绕晕了

      以一个故事完美结束。

      onCreate()...梦开始了。因为这个活动有点特殊,由一个ListActvity老板举行,所以它可以直接通过一个getListView()函数得到一个列表。

      SQLiteOpenHelper随之率先引领潮流,获得一个数据库的大宝藏。

      宝藏藏在一座山中,数据库委员会决定派一个游标cursor来查找这个宝藏的下落。

      这个小游标找到了宝藏,但是太重了,他一个人完全无法搬运,所以它找来了一个适配器SimpleCursorAdapter来帮助他将宝藏搬出去。

      这个时候,ListActivity老板发现了他们肮脏的交易,然后他也拍了一批人,直接将宝藏转移到自己的适配器上面了。

      这些宝藏分了好几批,运过来了。主活动对每一批宝藏都进行了严格的监视,所以就产生了一个每一列的监听器。

      所以现在有人要借用宝藏,更新宝藏,使用宝藏,数据库委员会都进行了严格的记录。以便于其他活动正确执行。

    4.滴答滴答,梦结束了。晚安了。-----2017-7-8 0:31

       

  

  

Android 数据库中的数据给到ListView的更多相关文章

  1. C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改

    在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...

  2. 【Android Developers Training】 26. 在SQL数据库中保存数据

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. 将Oracle数据库中的数据写入Excel

    将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...

  4. java更改数据库中的数据

    不废话,上代码 package com.ningmeng; import java.sql.*; /** * 1:更改数据库中的数据 * @author biexiansheng * */ publi ...

  5. Eclipse中java向数据库中添加数据,更新数据,删除数据

    前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据. 注意事项:如果参考下面代码,需要 改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息) package com.ning ...

  6. phpexcel的写操作将数据库中的数据导入到excel中

    这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...

  7. 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表

    最近项目中有一种需求: 大致需求是这样的 通过给定的 用户名和密码 要定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表 项目的结构式struts1 hibernat ...

  8. 怎样在C#中从数据库中读取数据(数据读取器)

    实现在C#中通过语句,查询数据库中的数据 SqlConnection con = null; //创建SqlConnection 的对象 try    //try里面放可能出现错误的代码        ...

  9. 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释

    在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...

随机推荐

  1. Assembly测试

    using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Reflecti ...

  2. C#保存图片到数据库并读取显示图片的方法

    private void button2_Click_1(object sender, System.EventArgs e) { string pathName; if (this.openFile ...

  3. 计算后缀表达式的过程(C#)

    计算后缀表达式的过程是一个很好玩的过程,而且很简单哦!这里呢,有个计算的技巧,就是:遇到数字直接入栈,遇到运算符就计算! 后缀表达式也叫逆波兰表达式,求值过程可以用到栈来辅助存储: 假定待求值的后缀表 ...

  4. 1 - python3基础语法

    编码 默认情况下,Python 3 源码文件以 UTF-8 编码.当然你也可以为源码文件指定不同的编码: # _*_ coding:utf-8 _*_ 保留字 Python的标准库提供了一个keywo ...

  5. session的MaxInactiveInterval=0在tomcat6和tomcat8不同表现

    在tomcat6中调用 request.getSession().setMaxInactiveInterval(0); 这个session会立即过期. 而在tomcat8中,同样的调用,会导致这个se ...

  6. 使用selenium grid与BrowserMobProxyServer联合使用

    背景:项目主要是做埋点数据,要使用 BrowserMobProxyServer,它相当于做一个代理,在你访问一个网页时,通过代理,获取打开网页的数据,对比你需要对比数据,所以这个工具提供获取页面请求的 ...

  7. SpringMVC接受JSON参数详解

    转:https://blog.csdn.net/LostSh/article/details/68923874 SpringMVC接受JSON参数详解及常见错误总结 最近一段时间不想使用Session ...

  8. 1.4 配置备份策略(Policy)

    1.1 配置备份策略(Policy) 一个备份策略由四部分组成. Attributes(属性) Policy是否Active Policy类型 由此Policy产生的任务的优先级 使用的Storage ...

  9. Spring 远程调用工具类RestTemplateUtils

    Spring 远程调用Rest服务工具类,包含Get.Post.Put.Delete四种调用方式. 依赖jar <dependency> <groupId>org.spring ...

  10. python遇到IndentationError: unexpected indent

    由于tab和空格混用而导致的问题,解决办法如下: 在SubLime中View中的Identation中的Convert Indentitation to Spaces即可