Android 数据库中的数据给到ListView
前言:因为之前学的都是用一个自己定义的类,完成将某一个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的更多相关文章
- C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改
在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...
- 【Android Developers Training】 26. 在SQL数据库中保存数据
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 将Oracle数据库中的数据写入Excel
将Oracle数据库中的数据写入Excel 1.准备工作 Oracle数据库"TBYZB_FIELD_PRESSURE"表中数据如图: Excel模板(201512.xls): 2 ...
- java更改数据库中的数据
不废话,上代码 package com.ningmeng; import java.sql.*; /** * 1:更改数据库中的数据 * @author biexiansheng * */ publi ...
- Eclipse中java向数据库中添加数据,更新数据,删除数据
前面详细写过如何连接数据库的具体操作,下面介绍向数据库中添加数据. 注意事项:如果参考下面代码,需要 改包名,数据库名,数据库账号,密码,和数据表(数据表里面的信息) package com.ning ...
- phpexcel的写操作将数据库中的数据导入到excel中
这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...
- 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表
最近项目中有一种需求: 大致需求是这样的 通过给定的 用户名和密码 要定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表 项目的结构式struts1 hibernat ...
- 怎样在C#中从数据库中读取数据(数据读取器)
实现在C#中通过语句,查询数据库中的数据 SqlConnection con = null; //创建SqlConnection 的对象 try //try里面放可能出现错误的代码 ...
- 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释
在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...
随机推荐
- 【ArcGIS】文件地理数据库,个人地理数据库与ArcSDE的局别
地理数据库的类型 地理数据库是用于保存数据集集合的“容器”.有以下三种类型: 文件地理数据库 - 在文件系统中以文件夹形式存储.每个数据集都以文件形式保存,该文件大小最多可扩展至 1 TB.建议使 ...
- appium(四)交互分析
转自:http://blog.csdn.net/Yejianyun1/article/details/56017360 一.简介 英文官网:appium官网 Appium跨平台.开源的自动化测试工具, ...
- Azure降价辣么多,省下的预算该怎么花?
那么 Azure 产品创新以及服务完善到底体现在何处呢?以下最新发布内容也许可以告诉你答案. ◆ ◆ ◆ Power BI Embedded 让应用中的数据更加生动 Microsoft Power B ...
- linux下搭建svn并同步更新至web目录
安装svn 使用yum安装 yum install subversion -y 安装成功后查看版本库 svnserve --version 生成目录 cd /var mkdir svn cd svn ...
- API:相关词语笔记
1.SDK 软件开发套件,接口服务器把接口开发之后,把怎么使用的示范代码弄出来给API客户端的开发者参考. 2.头部信息 对头部信息的特殊符号有要求,例如: 持续更新中....
- CRM, C4C和Hybris的后台作业
CRM 使用事务码SM36查看CRM系统的后台作业: 举一些例子: ABAP_TEXT_INDEX这个job执行的report是ABAP_DOCU_CREATE_TEXT_INDEX: 负责填充buf ...
- bzoj2568 比特集合
Description 比特集合是一种抽象数据类型(Abstract Data Type) ,其包含一个集合S,并支持如下几种操作: INS M : 将元素 M 插入到集合S中: DEL M : 将集 ...
- 正则表达式 /i /g /m /ig /gi
正则表达式中/i,/g,/ig,/gi,/m的区别和含义 /i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) / /ig(全文查找.忽略大小写)
- Linux开发常见问题:GCC:链接器输入文件未使用,因为链接尚未完成
问:我在Linux中运行一个make文件去编译C语言代码,然后得到了如下的错误信息: gcc -Wall -fPIC -DSOLARIS -DXP_UNIX -DMCC_HTTPD -D_ ...
- .svn文件被删除的解决办法
不小心把文件夹下的.svn给删除了,svn提交时会报如下错误: 包含工作副本管理数据的目录“/home/usa/svn/aispeech/air201102/branches/tools/res/di ...