Android 数据库 SQLite

今天正式要写博客了,这些天会把我在新浪里写的复制过来,希望大家多交流

开发中我们难免要用到数据库,今天来看一下SQLite,它是一个短小精悍的数据库,为了更好的掌握和管理数据库我们这里借助了SQLiteOpenHelper这个封装类,先写一个继承于SQLiteOpenHelper的数据库操作类

public class mydaHelper extends SQLiteOpenHelper{

//构造函数,这个是必须有的包括四个参数,分别是容器,数据库的名字,CursorFactory暂时不用管,版本号

 public mydaHelper(Context context, String name, CursorFactory factory,
   int version) {
  super(context, name, factory, version);
  
 }

// 自己写的一个含有三个参数的构造函数,它其实就是调用上面的构造函数
 public mydaHelper(Context context, String name,
   int version) {
  this(context, name, null, version);
  
 }

//同样这是自己写的一个含有两个参数的构造函数,来自于对上面的调用
 public mydaHelper(Context context, String name) {
  this(context, name,1);
  
 }

//创建数据库时调用,会建立一个表
 public void onCreate(SQLiteDatabase db) {
  
  System.out.println("create database");
  db.execSQL("create table user(id int,name text)");
 }

 //更新数据库时被调用
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  System.out.println("update a Database");
  
 }

}

接下来再写一个对数据库操作的类

public class Activity01 extends Activity {
private Button button1;
private Button button2;
private Button button3;
private Button button4;
private Button button5;
private TextView textview;
private EditText  editText1;
private EditText editText2;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

//实例化按钮和文本以及编辑框
        textview = (TextView) this.findViewById(R.id.textView1);
        button1 = (Button) this.findViewById(R.id.button1);
        button1.setText("create");
        button2 =(Button) this.findViewById(R.id.button2);
        button2.setText("insert");
        button3 =(Button) this.findViewById(R.id.button3);
        button4 =(Button) this.findViewById(R.id.button4);
        button3.setText("更新");
        button4.setText("查询");
        button5 = (Button) this.findViewById(R.id.button5);
        editText1 = (EditText) this.findViewById(R.id.editText1);
        editText2 = (EditText) this.findViewById(R.id.editText2);
        editText1.setText("");
        editText2.setText("");
        editText1.setEnabled(true);
        editText2.setEnabled(true);
      
        button1.setOnClickListener(new Button.OnClickListener(){
         public void onClick(View v){

//调用SQLiteOpenHelper构造函数
          mydaHelper dbh = new mydaHelper(Activity01.this,"my database");

 //通过对mydaHelper的调用创建数据库并来执行CreateTable方法创建一个user表
          SQLiteDatabase db = dbh.getReadableDatabase();
         }
        });
       button2.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){

 //通过ContentValues来向数据库里写数据
         ContentValues contentValues = new ContentValues();
         contentValues.put("id", editText1.getText().toString());
         contentValues.put("name", editText2.getText().toString());
         mydaHelper dbh = new mydaHelper(Activity01.this,"my database");

得到一个可写入的数据库
         SQLiteDatabase db = dbh.getWritableDatabase();

将数据写入
         db.insert("user", null, contentValues);
        }
       });
       button3.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){
         mydaHelper dbh= new mydaHelper(Activity01.this,"my database");
         ContentValues contentValues = new ContentValues();
         contentValues.put("name", editText2.getText().toString());
         SQLiteDatabase db= dbh.getWritableDatabase();

更新数据库通过"id=?",new String[]{editText1.getText().toString()}确定要更新的位置
         db.update("user", contentValues, "id=?",new String[]{editText1.getText().toString()} );
        }
       });
       button4.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){
         String n = "";
         mydaHelper dbh = new mydaHelper(Activity01.this,"my database");
         SQLiteDatabase db=  dbh.getReadableDatabase();

   查询数据库几个参数分别是数据库的名字,要返回的内容,确定内容的标志比如id,标志内容,其他的不做介绍
         Cursor cursor = db.query("user", null, null,  null, null,null, null
           );

//通过指针的移动来确定是不是查询完毕
         while(cursor.moveToNext()){
         得到内容
          int id = cursor.getInt(cursor.getColumnIndex("id"));
          String name = cursor.getString(cursor.getColumnIndex("name"));
          n += id+"  :  "+name+"\n";
               
         }
     显示内容
         textview.setText(n);
        
        }
       });
       button5.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){
         mydaHelper dbh = new mydaHelper(Activity01.this,"my database");
         SQLiteDatabase db = dbh.getWritableDatabase();

删除表中的内容几个参数分别是数据库名字,要删除的列,列的内容来确定那一列
         db.delete("user", "id=?", new String[]{editText1.getText().toString()});
        }
       });
        }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值