你好

推荐答案

非常简单的例子.

这里有一个非常简单但非常有效的例子.一旦你有了基本的东西,你就可以很容易地在它的基础上建立起来.

Cursor Adapter与SQLite一起使用有两个主要部分:

  1. 从数据库中创建适当的Cursor.

  2. 创建一个定制的Cursor Adapter,它从数据库中获取Cursor个数据,并将其与要表示数据的View配对.

1.从数据库创建正确的游标.

在您的活动中:

SQLiteOpenHelper sqLiteOpenHelper = new SQLiteOpenHelper( 
        context, DATABASE_NAME, null, DATABASE_VERSION);

SQLiteDatabase sqLiteDatabase = sqLiteOpenHelper.getReadableDatabase();

String query = "SELECT * FROM clients ORDER BY company_name ASC"; // No trailing ';'

Cursor cursor = sqLiteDatabase.rawQuery(query, null); 

ClientCursorAdapter adapter = new ClientCursorAdapter(
        this, R.layout.clients_listview_row, cursor, 0 );

this.setListAdapter(adapter);

2.创建自定义光标适配器.

Note: Extending from 100 assumes you use XML to create your views.

public class ClientCursorAdapter extends ResourceCursorAdapter {

    public ClientCursorAdapter(Context context, int layout, Cursor cursor, int flags) {
        super(context, layout, cursor, flags);
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {
        TextView name = (TextView) view.findViewById(R.id.name);
        name.setText(cursor.getString(cursor.getColumnIndex("name")));

        TextView phone = (TextView) view.findViewById(R.id.phone);
        phone.setText(cursor.getString(cursor.getColumnIndex("phone")));
    }
}

Database相关问答推荐

MongoDB是面向对象的吗?

502 是数据库错误的适当状态代码吗?

如何将 PHP 会话数据保存到数据库而不是文件系统中?

查询最后一天、上周、上个月SQLite

免费的 SQL 比较工具

如何设计 SaaS 数据库?

NameError:设置更改为 mysql 后未定义名称_mysql

行之间的 SQL 差异

执行语句还是运行脚本?

无法加载时区?

我应该如何使用 MySQL 构建我的设置表?

在 SQL Server 中,如何以类似于 Oracle 的SELECT FOR UPDATE WAIT的方式锁定单行?

添加具有初始(但不是默认)值的新列的最佳方法?

何时在关系数据库中使用枚举或小表?

在数据库中存储业务逻辑

显式事务回滚是否必要?

单元测试数据库

C# IEnumerator/yield struct 可能不好?

Rails 控制台 - 查找在某天创建的位置

为什么 Rails 迁移在应用程序中定义外键而不在数据库中定义外键?