ListActivity+sqlite+SimpleCursorAdapter简单实例

下面是一个简单实例,主要演示ListActivity+sqlite+SimpleCursorAdapter的用法。

实例打包下载:http://download.csdn.net/detail/yang_hui1986527/4419708

DBHelper.java

package com.example.sqlitedemo.db;

import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {

	/**
	 * 数据库名称
	 */
	private static final String DATABASE_NAME = "test.db";  

	/**
	 * 数据库版本
	 */
	private static final int DATABASE_VERSION = 1;  

	/**
	 * 表格名称
	 */
	public static final String TABLE_NAME = "profile";

	/**
	 * 列表一,_ID,自动增加
	 */
	public static final String COLUMN_ID = "_id";

	/**
	 * 列表二,名称
	 */
	public static final String COLUMN_NAME = "name";

	public DBHelper(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}

	@Override
	public void onCreate(SQLiteDatabase db)  throws SQLException {
		//创建表格
		db.execSQL("CREATE TABLE IF NOT EXISTS "+ TABLE_NAME + "("+ COLUMN_ID +" INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_NAME +" VARCHAR NOT NULL);");
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)  throws SQLException {
		//删除并创建表格
		db.execSQL("DROP TABLE IF EXISTS "+ TABLE_NAME+";");
		onCreate(db);
	}
}

MainActivity.java

package com.example.sqlitedemo;

import android.app.ListActivity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.widget.SimpleCursorAdapter;

import com.example.sqlitedemo.db.DBHelper;

public class MainActivity extends ListActivity {
	private DBHelper helper = null;
	private SQLiteDatabase db = null;
	private SimpleCursorAdapter adapter= null;
	private Cursor mCursor = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		initData();
		initAdapter();
	}

	public void initData(){
		//获取数据库
		helper = new DBHelper(this);
		db = helper.getReadableDatabase();

		//插入数据
		try {
			insert("zhang san");
			insert("li si");
			insert("wang wu");
			insert("chen liu");
			insert("zhang san");
			insert("li si");
			insert("wang wu");
			insert("chen liu");
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	public void initAdapter(){
		//查询表格,并获得Cursor
		mCursor = db.query(DBHelper.TABLE_NAME, new String[]{DBHelper.COLUMN_ID,DBHelper.COLUMN_NAME}, null, null, null, null, null);

		//设置adapter
		adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, mCursor, new String[]{DBHelper.COLUMN_ID,DBHelper.COLUMN_NAME}, new int[]{android.R.id.text1,android.R.id.text2});
		setListAdapter(adapter);
	}

	public void insert(String name) throws SQLException {
		ContentValues values = new ContentValues();
		values.put(DBHelper.COLUMN_NAME, name);
		db.insertOrThrow(DBHelper.TABLE_NAME, null, values);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

}

预览效果:

时间: 2024-12-27 08:09:36

ListActivity+sqlite+SimpleCursorAdapter简单实例的相关文章

Ubuntu 12.04下SQLite数据库简单应用

       SQLite,是一款轻型的数据库,实现了多数的SQL-92标准,包括事务,就是代表原子性.一致性.隔离性和持久性的(ACID),触发器和多数的复杂查询.SQLite数据库是Android平台软件开发必备数据库产品! 在Ubuntu 12.04下进行SQLite开发简单实例如下: 1. 安装SQLite3           hadron@hadron ~ $ sudo apt-get install sqlite sqlite3 2. 查看版本号           hadron@

Android 中自定义ContentProvider与ContentObserver的使用简单实例

Android 中自定义ContentProvider与ContentObserver的使用简单实例 示例说明: 该示例中一共包含两个工程.其中一个工程完成了自定义ContentProvider,另外一个工程用于测试该自定义ContentProvider且在该工程中使用了ContentObserver监听自定义ContentProvider的数据变化 以下代码为工程TestContentProvider ContentProviderTest如下: package cn.testcontentp

Android 自定义ContentProvider简单实例

Android 自定义ContentProvider简单实例 Android允许我们定义自己的的ContentProvider对象来共享数据,练练手,简单来实现一下. 要使用ContentProvider来操作数据,必须要有保存数据的场所.可以使用文件或SQLite数据库的方式来保存数据,通常使用SQLite数据库. 1,创建一个数据库帮助类,归根结底都是它在操作数据库.代码如下: package com.njue; import android.content.Context; import

Openresty服务器使用lua脚本写的Hello World简单实例

  这篇文章主要介绍了Openresty服务器使用lua脚本写的Hello World简单实例,OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项,需要的朋友可以参考下 Openresty提供了丰富的接口和变量给Lua,开发者可以充分利用Lua语言特性和这些接口进行高效率开发.万事开头难,但是对于编程来说能写出Hello world就已经算是成功一半了. 1.安装openr

PHP5生成条形码的简单实例

该软件支持PHP4和PHP5两个版本,本文中使用的是PHP5的版本.在使用前注意要将PHP的GD模块开启.在Windows中为php_gd2.dll,Linux中为gd.so.将压缩文件解压到Apache,执行http://localhost/barcode/index.php.PHP5生成条形码见下图: 1. Type:选择条形码类型 2. Output:输出的图片格式 3. Thickness:条形码高度 4. Resolution:条形码大小 5. Font:条形码下方的文字大小,也可不显

js入门·循环与判断/利用函数的简单实例/使用对象/列举对象属性的名称

js|对象|函数|循环 1,列举对象属性的名称<script language="javascript">var obj=new Object();obj.a="您好,我是田洪川";obj.b="你是田洪川咋的,不得了啊?";obj.c="西西,哈哈,我是属性 c ";//上面当然是申明一个新的对象,并给对象申明属性再赋值//下面我们再给上面的对象做一个镶套的对象,还是加新属性并赋值obj.d=new Object

[WEB开发] 基于XMLHTTP的简单实例

web|xml 樊欢 java爱好者.Email :heydaymail@hotmail.comBlog :http://heyday.blogone.net2005-8-23 引言 大家都知道可以通过post或者get获得form表单的数据,那么我们如何实现不刷新的提交直接获得页面上的数据呢?这就要借助xmlhttp协议了.xmlhttp是xmldom技术的一部分.  下面的代码就是一个很简单的例子,我们利用xmlhttp技术实现简单的用户登陆.   开始  1.简单的登录页面 login.j

模糊、缓冲、顺序加载、XML等的混合运用简单实例

xml|加载 放假了,没多少事,发个模糊.缓冲.顺序加载.XML等的混合运用简单实例,作品粗糙,给我等新手们参考,抛砖引玉吧,如果你觉得可以一定记得要顶帖. 第一帧上加载进度显示: stop(); load_txt.selectable = false;//动态文本用于显示加载进度 onEnterFrame = function () {         var l:Number = _root.getBytesLoaded();         var t:Number = _root.get

关于webservice的异步调用简单实例

web|异步 关于webservice的异步调用简单实例无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的, 下面,我们就以异步调用一个webservice 为例作说明.这是一个webservice <WebMethod(Description:="试验")> _ Public Function delCurTable(ByVal tbName As String) As Boolean Try Return True Catch