微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);
		
		//设置adapter
		adapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2,mCursor,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,values);
	}

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


}


预览效果

原文地址:https://www.jb51.cc/sqlite/201940.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐