5分钟轻松解决Android数据库访问,Cursor类的基础使用
来源:互联网 发布:恒大淘宝核心管理层 编辑:程序博客网 时间:2024/05/16 05:04
相比于MySql等数据库,SqLite有它自己的工具Cursor,一次获取一行数据(在数据库中,一行包含了一个主键约束的索引的全部内容)。
使用游标来读数据库一般分两步:(就像在游标卡尺上读数)
1.横向的获取列名所对应的位置(储存在Cursor中的位置),getColumnIndex方法
2.通过得到的位置,getString(index) or getInt(index)
3.也可以做循环输出
while (cursor.moveNex()t){
//move方法 返回一个布尔值,当到达最后一行时,返回false
}
下面结合的例子Cursor与RecyclerLayout的结合使用,大部分代码无难度,主要是对RecyclerView的适配器不熟悉,造成加载数据的部分花了很多coding时间。
首先是cursor中数据的读取
protected void bind(int position){ if(!cursor.moveToPosition(position)) return; //若选中位置没有数据,返回,其实还是一个安全保护,防止程序意外崩溃 int index; index=cursor.getColumnIndex(WaitlistContract.WaitlistEntry.COLUMN_GUEST_NAME); String guestName=cursor.getString(index); index=cursor.getColumnIndex(WaitlistContract.WaitlistEntry.COLUMN_TIMESTAMP); String time=cursor.getString(index); nameTextView.setText(time); partySizeTextView.setText(guestName); }
其中妙处在于,RecyclerView适配器的position刚好和cursor中的moveToPosition完美的结合起来了,不得不赞叹Google工程师的智慧。
@Override public GuestViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //获取填充器 LayoutInflater inflater = LayoutInflater.from(mContext); View view = inflater.inflate(R.layout.guest_list_item, parent, false); return new GuestViewHolder(view); } @Override public void onBindViewHolder(GuestViewHolder holder, int position) { //holder是ViewHolder实例 holder.bind(position); } @Override public int getItemCount() { return cursor.getCount(); }
阅读全文
0 0
- 5分钟轻松解决Android数据库访问,Cursor类的基础使用
- [android基础]Cursor类的使用
- Android 中查询数据库时Cursor类的使用
- Android 中查询数据库时Cursor类的使用
- Android数据库使用cursor的注意事项!
- Android SQLite数据库查询 cursor的使用
- Android cursor的使用
- Android中cursor类的使用
- Android中cursor类的使用
- Android中cursor类的使用
- Android中Cursor类的使用
- android系列:Cursor类的使用
- Android Cursor类的了解和使用
- Android SQLiter cursor的使用
- android中cursor的使用
- Android中Cursor的使用
- 使用帮助类轻松解决JDBC连接数据库
- Android数据库操作查询中Cursor类的问题
- 使用大数的基础dp
- bzoj 4152: [AMPPZ2014]The Captain
- test
- java程序员的python之路(模块)
- 在windows下用cmd命令行下载hex文件到arduino板子上
- 5分钟轻松解决Android数据库访问,Cursor类的基础使用
- 多线程之间的通信
- Java网路编程____TCP协议客户端服务器信息交互例子
- As打开DDMS的方式和使用(dump View Hierarchy for UI automator)对布局的分析
- 11、(十一)外汇基础篇之三个重要的表
- JSX语法入门
- C# DataGridView如何获取选中行的某个数据
- CentoS 6.9安装
- android studio中文件内容查找相当于Eclipse中Ctrl+H & 查找项目中所有中文