ListActivity+sqlite+SimpleCursorAdapter

DBHelper.java

[java]  view plain copy
  1. package com.example.sqlitedemo.db;  
  2.   
  3. import android.content.Context;  
  4. import android.database.SQLException;  
  5. import android.database.sqlite.SQLiteDatabase;  
  6. import android.database.sqlite.SQLiteOpenHelper;  
  7.   
  8. public class DBHelper extends SQLiteOpenHelper {  
  9.   
  10.     /** 
  11.      * 数据库名称 
  12.      */  
  13.     private static final String DATABASE_NAME = "test.db";    
  14.       
  15.     /** 
  16.      * 数据库版本 
  17.      */  
  18.     private static final int DATABASE_VERSION = 1;    
  19.   
  20.     /** 
  21.      * 表格名称 
  22.      */  
  23.     public static final String TABLE_NAME = "profile";  
  24.       
  25.     /** 
  26.      * 列表一,_ID,自动增加 
  27.      */  
  28.     public static final String COLUMN_ID = "_id";  
  29.       
  30.     /** 
  31.      * 列表二,名称 
  32.      */  
  33.     public static final String COLUMN_NAME = "name";  
  34.       
  35.     public DBHelper(Context context) {  
  36.         super(context, DATABASE_NAME, null, DATABASE_VERSION);  
  37.     }  
  38.   
  39.   
  40.     @Override  
  41.     public void onCreate(SQLiteDatabase db)  throws SQLException {  
  42.         //创建表格  
  43.         db.execSQL("CREATE TABLE IF NOT EXISTS "+ TABLE_NAME + "("+ COLUMN_ID +" INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_NAME +" VARCHAR NOT NULL);");  
  44.     }  
  45.   
  46.     @Override  
  47.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)  throws SQLException {  
  48.         //删除并创建表格  
  49.         db.execSQL("DROP TABLE IF EXISTS "+ TABLE_NAME+";");  
  50.         onCreate(db);  
  51.     }  
  52. }  

MainActivity.java

[java]  view plain copy
  1. package com.example.sqlitedemo;  
  2.   
  3. import android.app.ListActivity;  
  4. import android.content.ContentValues;  
  5. import android.database.Cursor;  
  6. import android.database.SQLException;  
  7. import android.database.sqlite.SQLiteDatabase;  
  8. import android.os.Bundle;  
  9. import android.view.Menu;  
  10. import android.widget.SimpleCursorAdapter;  
  11.   
  12. import com.example.sqlitedemo.db.DBHelper;  
  13.   
  14. public class MainActivity extends ListActivity {  
  15.     private DBHelper helper = null;    
  16.     private SQLiteDatabase db = null;    
  17.     private SimpleCursorAdapter adapter= null;  
  18.     private Cursor mCursor = null;  
  19.   
  20.     @Override  
  21.     public void onCreate(Bundle savedInstanceState) {  
  22.         super.onCreate(savedInstanceState);  
  23.         initData();  
  24.         initAdapter();  
  25.     }  
  26.   
  27.     public void initData(){  
  28.         //获取数据库  
  29.         helper = new DBHelper(this);  
  30.         db = helper.getReadableDatabase();  
  31.   
  32.         //插入数据  
  33.         try {  
  34.             insert("zhang san");  
  35.             insert("li si");  
  36.             insert("wang wu");  
  37.             insert("chen liu");  
  38.             insert("zhang san");  
  39.             insert("li si");  
  40.             insert("wang wu");  
  41.             insert("chen liu");  
  42.         } catch (SQLException e) {  
  43.             e.printStackTrace();  
  44.         }  
  45.     }  
  46.   
  47.       
  48.     public void initAdapter(){  
  49.         //查询表格,并获得Cursor  
  50.         mCursor = db.query(DBHelper.TABLE_NAME, new String[]{DBHelper.COLUMN_ID,DBHelper.COLUMN_NAME}, nullnullnullnullnull);  
  51.           
  52.         //设置adapter  
  53.         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});  
  54.         setListAdapter(adapter);  
  55.     }  
  56.   
  57.     public void insert(String name) throws SQLException {  
  58.         ContentValues values = new ContentValues();  
  59.         values.put(DBHelper.COLUMN_NAME, name);  
  60.         db.insertOrThrow(DBHelper.TABLE_NAME, null, values);  
  61.     }  
  62.   
  63.     @Override  
  64.     public boolean onCreateOptionsMenu(Menu menu) {  
  65.         getMenuInflater().inflate(R.menu.activity_main, menu);  
  66.         return true;  
  67.     }  
  68.   
  69.   
  70. }  


预览效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值