当然,我们也可以直接用代码创建一个ListView控件,并把该控件作为要显示的View,或者添加到现有的一个groupview控件中去。...Adapter 含义 ArrayAdapter 用来绑定一个数组,支持泛型操作 SimpleAdapter 用来绑定在xml中定义的控件对应的数据 SimpleCursorAdapter 用来绑定游标得到的数据...2.准备数据 一般情况下Cursor都是通过查找数据获取到的,此处我们的重点是看如何用在SimpleCursorAdapter中来绑定到ListView中,因此我们使用可以直接示例化并可以直接插入数据的...使用BaseAdapter绑定数据 OK, 此处其实才是ListView用的最多的适配器实现方式,一般都是通过继承BaseAdapter类并重写父类的一些方法来完成ListView数据的绑定。...ArrayAdapter 适合非常简单的数据显示,很方便,很简单。
顾名思义就是加载器,简单来说,Loader做了2件事: (1)在单独的线程中读取数据,不会阻塞UI线程 (2)监视数据的更新 LoaderManager是什么,有什么作用?...使用Loader来加载手机中的音乐为例 1、主布局,就是一个ListView listView; // 使用SimpleCursorAdapter来填充数据 private SimpleCursorAdapter mAdapter; // 使用CursorLoader...public void onLoaderReset(Loader loader) { mAdapter.swapCursor(null); } } 4、运行结果,手机中的音乐数据被加载到列表中显示出来...,而且是按照一定的顺序(数字 —>汉字拼音对应字母升序 —> 字母升序) ?
SQLite数据库简介 SQLite是一种非常流行的嵌入式数据库,是由C语言编写而成,是一款轻型关系型数据库,支持SQL,支持多种操作系统,完全独立运行,没有依赖性,Android内嵌了SQLite数据库...数据库文件的保存位置 默认情况下,数据库文件保存在如下目录中: /data/data//databases 用户也可以指定将文件保存在任意有权限的目录中,通常SD卡中的目录都可以,在Android...提供了数据层的数据绑定桥梁 SimpleCursorAdapter可以将数据库层的数据提供给列表 1、准备一个列表项的布局用于ListView的展现 的数据提供给列表 2、使用SimpleCursorAdapter展现数据 ListView bookListView = (ListView)findViewById(R.id.booklist...接口来实现 修改的步骤如下: 1、编写一个类实现SimpleCursorAdapter.ViewBinder接口 SimpleCursorAdapter.ViewBinder viewBinder =
SQLite数据库简介 SQLite是一种非常流行的嵌入式数据库,是由C语言编写而成,是一款轻型关系型数据库,支持SQL,支持多种操作系统,完全独立运行,没有依赖性,Android内嵌了SQLite数据库...数据库文件的保存位置 默认情况下,数据库文件保存在如下目录中: /data/data//databases 用户也可以指定将文件保存在任意有权限的目录中,通常SD卡中的目录都可以...提供了数据层的数据绑定桥梁 SimpleCursorAdapter可以将数据库层的数据提供给列表 1、准备一个列表项的布局用于ListView的展现 的数据提供给列表 2、使用SimpleCursorAdapter展现数据 ListView bookListView = (ListView)findViewById(R.id.booklist...接口来实现 修改的步骤如下: 1、编写一个类实现SimpleCursorAdapter.ViewBinder接口 SimpleCursorAdapter.ViewBinder viewBinder
TextView自己的适配器完全控制ListView的显示。因此适配器控制列表中显示的内容以及如何显示它。 TextView接口包括将数据传送到ListView的各种方法。...想象一下,如果没有适配器,世界会是什么样的! 例子 一个视图,显示垂直滚动列表中的项目。这些项目来自与此视图关联的SimpleCursorAdapter。...SimpleCursorAdapter定义列表的各行的布局通过setAdapter()方法向CursorAdapter提供数据ListView。...AdapterView的示例是ListView。 适配器还提供显示AdapterView中数据的子视图。适配器负责提供数据并创建表示每个项目的视图。...适配器是一组数据和显示数据的AdapterView之间的链接。 Ramesh answered 2019-06-30T01:19:00Z 0 votes 最后,适配器对于执行报告非常有用。
源码中给出的这个SimpleCursorAdapter 首先看下API中的定义 Public Constructors public SimpleCursorAdapter (Context...,目前学的不够深,有错的话就放在评论里面 但是对于这个测试程序而言还是可以用的、 public SimpleCursorAdapter (Context context, int layout, Cursor...意思就是将游标中的数据显示在布局文件中哪些控件上,这个参数是控件的id号 flags:用于确定适配器的行为 其实这里我们也可以用前面讲到的SimpleAdapter去实现它,那就是参数不是游标数据...3 .requery()函数: myCursor.requery();//这里用到了一个游标数据的重新查询 这也是一个非常危险的操作 ,API中也说了这个是一个被废弃方法 abstract...,不推荐使用呢,我想更上面的那个构造SimpleCursorAdapter是一个意思,当我们的数据量非常大的时候,这个操作需要更多的时间,时间一长,我们的UI进程不能等你的啊!
,重建数据库表的索引,数据库升级,事物中保存点,没有返回值的语句; 参数介绍 : -- 参数① sql: 要执行的SQL语句, 只能执行一条, 多条语句用分号隔开不管用, 参数使用 "?"...; -- 参数⑤ int[]: 将数据库中每行的字段 按照对应顺序 放入到该数组对应组件中; SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter...关联SimpleCursorAdapter与数据库表, 获取数据库表中的最新数据 * 2....将最新的SimpleCursorAdapter设置给ListView */ private void inflateListView(Cursor cursor) { SimpleCursorAdapter...关联SimpleCursorAdapter与数据库表, 获取数据库表中的最新数据 * 2.
在极客学院的Android学习中,发现其下拉刷新组件用的是比较老的组件,现在Google官方出的是SwipeRefreshLayout,借此机会学习了一下。...< 20; i++) { data.add("Item list " + (i + 1)); } return data; } 是不是非常...后记 在创建ListView过程中, 我使用的是ArrayAdapter适配器, 还有 : SimpleAdapter SimpleCursorAdapter BaseAdapter 都还不太了解, 下面准备详细学下...ListView的各种适配器。...相应的详细代码我放在了我的github上,这是链接
一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。...视图层(view):是应用程序中负责生成用户界面的部分。也是整个MVC架构中用户唯一可以看到的一层,接收用户的输入,显示用户的处理结果。一般用XML文件进行界面的描述,使用的时候可以非常方便的引入。...Android的适配器负责为列表组件提供数据源,也负责将单独的数据元素转换为显示在列表组件中的特定视图,如ListView的适配器关系如下图所示。 ?...SimpleCursorAdapter:与SimpleAdapter基本相似,只是用于包装Cursor提供的数据。...那么本节先通过一个示例学习如何使用ArrayAdapter创建ListView,关于SimpleAdapter和BaseAdapter会在后续几期进行学习,而SimpleCursorAdapter会在数据库部分进行学习
由图可以看到在Android中与Adapter有关的所有接口、类的完整层级图。在我们使用过程中可以根据自己的需求实现接口或者继承类进行一定的扩展。...SimpleAdapter有最好的扩充性,可以自定义出各种效果。 SimpleCursorAdapter可以适用于简单的纯文字型ListView,它需要Cursor的字段和UI的id对应起来。...,将数组中的字符串绑定到ListView中用于显示每个项目的简单TextView控件上。...同时用setAdapter()完成适配的最后工作。效果图如下: ?...我们用LayoutInflater的方法将定义好的vlist2.xml文件提取成View实例用来显示。然后将xml文件中的各个组件实例化(简单的findViewById()方法)。
Adapter提供的内容 3.2 缓存原理 试想一个场景:若把所有数据集合的信息都加载到ListView上显示,若 ListView要为每个数据都创建一个视图,那么会占用非常多的内存 为了节省空间和时间...:缓冲 显示视图 即:第1个Item离开屏幕是有过程的,会有1个 第1个Item的下半部分 & 第8个Item上半部分同时在屏幕中显示的状态,此时仍无法使用缓存的View,只能继续用新创建的视图View...生成方式 生成列表视图(ListView)的方式主要有两种: 直接用ListView进行创建 让Activity继承ListActivity 2. xml文件配置信息 SimpleCursorAdapter:与SimpleAdapter类似,用于绑定游标(直接从数据数取出数据)作为列表项的数据源 BaseAdapter:可自定义ListView,通用用于被扩展。...,是ListView使用的最优化方案 方案3(通过convertView+ViewHolder重写getView())是ListView使用的最优化,所以非常推荐大家使用 总结:ListView
android中listview控件可以说是非常重要的控件,几乎每一个应用都会使用到它,例如游戏中的积分榜,音乐播放列表。...但是,重要就意味着使用起来会有点繁琐,今天就来总结一下listview的使用步骤吧。...和SimpleCursorAdapter,而最后一种是专门与数据库连接用的,今天先不讨论。...item的位置 arg3 * item在listview中的第几行,通常与arg2相同 */ public void onItemClick(AdapterView arg0, final View arg1, int arg2, long arg3) { } 最后,我们要注意,如果在onitemclick中修改listview某个item,一定要记住要修改
同时,合理的预加载、预缓存可以让加载速度的瓶颈更小。 WebView 初始化慢,就随时初始化好一个 WebView 待用。 DNS 和链接慢,想办法复用客户端使用的域名和链接。...并没有实现动画效果,但我们可以在 Adapter 自己实现 item 的动画效果; 刷新区别: ListView 中通常刷新数据是用全局刷新 notifyDataSetChanged (),这样一来就会非常消耗资源...SimpleCursorAdapter:用于显示简单文本类型的 listView,一般在数据库那里会用到,不过有点过时,不推荐使用!...,用户可以调用 C、C++ 编写的本地代码 NDK 是 Android 所提供的一个工具集合,通过 NDK 可以在 Android 中更加方便地通过 JNI 访问本地代码,其优点在于: 提高代码的安全性...MVP 彻底解决了 MVC 中 View 和 Controller 傻傻分不清楚的问题,但是随着业务逻辑的增加,一个页面可能会非常复杂,UI 的改变是非常多,会有非常多的 case,这样就会造成 View
将数据源的数据适配到ListView中的常用适配器有:ArrayAdapter、SimpleAdapter 和 SimpleCursorAdapter。...(复选框)等等; SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方便地把数据库的内容以列表的形式展示出来。...为了显示较为复杂的ListView的item效果,需要写一个xml布局文件,来设置ListView中每一个item的格式。...* @param resource :自定义的ListView中每个item的布局文件。用R.layout.文件名的形式来调用。...* @param from :其实是数据源中Map的key组成的一个String数组。 * @param to :表示数据源中Map的value要放置在item中的哪个控件位置上。
同时,合理的预加载、预缓存可以让加载速度的瓶颈更小。 WebView 初始化慢,就随时初始化好一个 WebView 待用。 DNS 和链接慢,想办法复用客户端使用的域名和链接。 ?...并没有实现动画效果,但我们可以在 Adapter 自己实现 item 的动画效果; 刷新区别: ListView 中通常刷新数据是用全局刷新 notifyDataSetChanged (),这样一来就会非常消耗资源...SimpleCursorAdapter:用于显示简单文本类型的 listView,一般在数据库那里会用到,不过有点过时,不推荐使用!...,用户可以调用 C、C++ 编写的本地代码 NDK 是 Android 所提供的一个工具集合,通过 NDK 可以在 Android 中更加方便地通过 JNI 访问本地代码,其优点在于: 提高代码的安全性...MVP 彻底解决了 MVC 中 View 和 Controller 傻傻分不清楚的问题,但是随着业务逻辑的增加,一个页面可能会非常复杂,UI 的改变是非常多,会有非常多的 case,这样就会造成 View
试想下这么一个场景:如果把所有数据集合的信息都加载到View上,如果ListView要为每个数据都创建一个视图,那么会占用非常多的内存 从上面可知,ListView不会为每一个数据创建一个视图,为了节省空间和时间...生成方式 生成列表视图(ListView)的方式主要有两种: - 直接用ListView进行创建 - 让Activity继承ListActivity 2. xml文件配置信息 中控件绑定为列表项的数据源 SimpleCursorAdapter:与SimpleAdapter类似,用于绑定游标(直接从数据数取出数据)作为列表项的数据源 BaseAdapter:可自定义...}//这个方法返回了在列表中与指定索引对应的行id @Override public View getView(int position, View convertView, ViewGroup...这肯定会极大的消耗资源,导致ListView滑动非常的慢,那应该怎么做呢?可以使用BaseAdapter进行优化ListView的显示。
前言 我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite。然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等。...简单的讲,greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案。...compile 'de.greenrobot:greendao-generator:1.3.1' 编写 ExampleDaoGenerator 类,注意: 我们的 Java 工程只有一个类,它的内容决定了...// 其实,输出目录的路径可以在 build.gradle 中设置,有兴趣的朋友可以自行搜索,这里就不再详解。...// 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。
我学习Android都是结合源代码去学习,这样比较直观,非常清楚的看清效果,觉得很好,今天的学习源码是网上找的个HealthFood 源码 百度搜就知道很多下载的地方 本篇学习需要结合前面写的几篇文章,...从名称可以看出ArrayAdapter使用的是一个ArrayAdapter做为数据源,SimpleCursorAdapter使用的是一个Cursor使用数据源,都比较容易理解,那么如何使用SimpleAdapter...数组的每一个实体对象跟list中的每一行需要相匹配的 The Maps contain the data for each row, [map]中包含listView控件每一行所需要的数据...}:int参数数组里面放置的是从资源文件中获得的,项目中所有资源的索引id,他们分别对应着from参数 接下来我们再去看看lists是怎么初始化的: for (int i = 0; i...resId[i]);,也就是说通过ImageView01键值取出来的东西就是我们要显示的图片,只不过这个东西代表的是图片资源的id索引号。
,默认显示列表第一项的索引字母。...监听列表的滑动,当列表可见的第二项是索引 item 时,计算并更新悬浮 view 的 y 坐标,让它处于索引 item 的上方。...监听列表的滑动,当列表可见第一项发生变化时,更新悬浮 view 显示的字母为当前可见第一项的索引字母。 感觉比想象中简单啊。...最后说明一下,这个代码是使用 RecyclerView 实现的,要是用 ListView 的话是有问题的。...ListView 的 item 使用 getTop() 方法,刚开始拿到的应该是 item 距离整个 ListView 最顶部的距离,要都是这样还好处理,但是复用 item 的时候这个值又发生了变化。
ListAdapter列表项的显示配置: 一、 通过简单XML文件配置 默认的ListAdapter希望提供的ListView每一项的 xml布局配置文件中只有一个TextView。...TextView,TextView被引用了,使用数组中的对象,调用toString方法,转换成字符串来填充这个TextView,你可以使 用包含自定义对象的数组或者集合。...populated(显示) ListView中Item项的复杂布局xml文件中用来显示ArrayAdapter中数据的那个TextView public ArrayAdapter (Context...自定义数组xml文件的标识id号,也就是ArrayAdapter要绑定到ListVIew中的数据 textViewResourceId:用于显示数组数据的布局文件的id标识号(注意:该布局文件中只能有一个...还有其他的各种适配器类如SimpleAdapter,SimpleCursorAdapter等都是直接或间接地继承BaseAdapter。
领取专属 10元无门槛券
手把手带您无忧上云