Android中SQLite访问

本文详细介绍了一个使用SQLite数据库的应用实例,包括数据库的创建、更新、数据插入、查询、更新及删除等核心操作。通过MainActivity类中按钮点击事件实现各项功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多呢不想说,网上好多,先看界面:
 
sqliteOpenHelper类文件内容
package com.yingxian.sqliteOpenHelper;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class SQLiteHelper extends SQLiteOpenHelper{
 private final static int VERSION = 1;
 public SQLiteHelper(Context context, String name, CursorFactory factory,
   int version) {
  super(context, name, factory, version);
 }
 
 public SQLiteHelper(Context context,String name, int version)  {
  this(context,name,null,version);
 }
 
 public SQLiteHelper(Context context,String name)  {
  this(context,name,VERSION);
 }
 @Override
 public void onCreate(SQLiteDatabase db) {
  // TODO Auto-generated method stub
  System.out.println("data base helper Oncreate is being call...");
  String sqlStr = "CREATE TABLE IF NOT EXISTS USER(_ID integer primary key,name text,permission text)";
  db.execSQL(sqlStr);  
 }
 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  // TODO Auto-generated method stub
  System.out.println("Data base update is call....");
 }
}

mainActivity中的代码:

package com.yingxian.sqlitestudy;
import com.yingxian.sqliteOpenHelper.SQLiteHelper;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
 private final String strData = "db_order_sys";
 private Button btnCreateDB;
 private Button btnUpdateDB;
 private Button btnInsertDT;
 private Button btnQueryDT;
 private Button btnUpdateDT;
 private Button btnDeleteDT;
 private SQLiteHelper sqlHelper;
 private SQLiteDatabase db;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);       
        this.getComponent();
        this.initComponent();
    }
   
    private void getComponent()  {     
     this.btnCreateDB = (Button)findViewById(R.id.btn_create_database);
     this.btnUpdateDB = (Button)findViewById(R.id.btn_update_database);
     this.btnInsertDT = (Button)findViewById(R.id.btn_insert_data);
     this.btnQueryDT = (Button)findViewById(R.id.btn_query_data);
     this.btnUpdateDT = (Button)findViewById(R.id.btn_update_data);
     this.btnDeleteDT = (Button)findViewById(R.id.btn_delete_data);
    }
   
    private void initComponent()  {     
     this.btnCreateDB.setOnClickListener(new OnClickListener() {   
   public void onClick(View v) {    
    MainActivity.this.sqlHelper = new SQLiteHelper(MainActivity.this,MainActivity.this.strData);
    MainActivity.this.db = MainActivity.this.sqlHelper.getWritableDatabase();
   }
  });
     this.btnUpdateDB.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {    
    
   }
  });
     this.btnInsertDT.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {
    String insertStr = "insert into USER(_ID,name,permission) values(11001,'zhangsan','admin')";
    try  {
       MainActivity.this.db = MainActivity.this.sqlHelper.getWritableDatabase();
       db.execSQL(insertStr);
    }
    catch(SQLiteException sqlex)  {
     System.out.println(sqlex.getMessage().toString());
    }
    catch(Exception ex)  {
     System.out.println(ex.getMessage().toString());
    }
   }
  });
     this.btnQueryDT.setOnClickListener(new OnClickListener() {
   Cursor cursor = null;
   public void onClick(View v) {
    try{
       db = sqlHelper.getReadableDatabase();
       cursor = db.query("USER", null, null, null, null, null, null);
       int indexID = cursor.getColumnIndex("_ID");
       int indexName = cursor.getColumnIndex("name");
       int indexPermission = cursor.getColumnIndex("permission");
       while(cursor.moveToNext())  {
          System.out.println(cursor.getString(indexID)+"|"+cursor.getString(indexName)+"|"+cursor.getString(indexPermission));
       }
    }
    catch(SQLiteException sqlex)  {
     System.out.println("SQLiteException: "+ sqlex.getMessage().toString());
    }
    catch(Exception ex)  {
     System.out.println("Exception: "+ ex.getMessage().toString());     
    }
    finally  {
     if(cursor != null)  {
      cursor.close();
     }
     if(db.isOpen())  {
      db.close();      
     }
    }
   }
  });
     this.btnUpdateDT.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {
    try  {
       db = sqlHelper.getWritableDatabase();
       ContentValues cv = new ContentValues();
       cv.put("name", "飞飞");
       cv.put("_ID",11002);
       String whereClause = "_ID = ?";
       String[] whereArgs = {String.valueOf(11001)};
       int row = db.update("USER", cv, whereClause, whereArgs);   
       System.out.println(row+" 条记录受到影响!");
    }
    catch(SQLiteException sqlex)  {
     System.out.println(sqlex.getMessage().toString());
    }
    catch(Exception ex)  {
     System.out.println(ex.getMessage().toString());
    }
    finally{
     if(db.isOpen())  {
      db.close();
     }     
    }
    
   }
  });
     this.btnDeleteDT.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {   
    try{
     db = sqlHelper.getWritableDatabase();
     String whereClause = "_ID = ?";
     String[] whereArgs = {String.valueOf(11001)};
     int row = db.delete("USER", whereClause, whereArgs);
     System.out.println(row+"条记录受到影响");     
    }
    catch(SQLiteException sqlex)  {
     System.out.println(sqlex.getMessage().toString());
    }
    catch(Exception ex)  {
     System.out.println(ex.getMessage().toString());
    }
    finally{
     if(db.isOpen())  {
      db.close();
     }
    }
   }
  });
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值