Android 学习 笔记_03. SQLite的使用

分享到:

    SQLite是一种轻量级的小型数据库,虽然比较小,但是功能相对完善,具备一些常见的数据库基本功能,在现在的嵌入式系统中使用该数据库的比较多,因为它占用系统资源很少。

  现在将通过学习SQLite来进行数据的创建表、更新表、插入数据、更新数据、查询数据、删除数据的操作。

  效果图如下:

                                         

1、创建表:

   (1 SQLite页面中点击“创建数据库”

       在 cmd中输入如下命令:adb shell;    cd data;    cd data;    ls;    cd zzl.sqlite; ls;

      

      如果没有点击页面,则ls查询到的不会有databases这个文件,这时候我创建的是一个数据库名为test_db的数据库

     (2  SQLite页面中点击“修改数据库”

           

        则会输出对应的语句

     (3  添加

     点击页面,然后继续在cmd中输入命令:sqlite3 test_db;  .schema; select * from user

     

    如果没有添加,则查询出来的结果是空的,否则:

            

(4  修改

  点击修改

      

   查询和删除已完成的,请自测!

SQLite_Activity.java

  1 package zzl.sqlite;
  2 
  3 import zzl.sqlite.db.DatabaseHelper;
  4 import android.app.Activity;
  5 import android.content.ContentValues;
  6 import android.database.Cursor;
  7 import android.database.sqlite.SQLiteDatabase;
  8 import android.os.Bundle;
  9 import android.view.View;
 10 import android.view.View.OnClickListener;
 11 import android.widget.Button;
 12 
 13 public class SQLite_Activity extends Activity {
 14 
 15     private Button updateDBbutton = null;
 16     private Button createDBbutton = null;
 17     private Button insertButton = null;
 18     private Button queryButton = null;
 19     private Button updateButton = null;
 20     private Button deleteButton=null;
 21     
 22     @Override
 23     public void onCreate(Bundle savedInstanceState) {
 24         super.onCreate(savedInstanceState);
 25         setContentView(R.layout.main);
 26         updateDBbutton = (Button) findViewById(R.id.createDBbutton);
 27         createDBbutton = (Button) findViewById(R.id.updateDBbutton);
 28         insertButton = (Button)findViewById(R.id.insertButton);
 29         updateButton = (Button)findViewById(R.id.updateButton);
 30         queryButton = (Button)findViewById(R.id.queryButton);
 31         deleteButton=(Button)findViewById(R.id.deleteButton);
 32    
 33         createDBbutton.setOnClickListener(new createDBListener());
 34         updateDBbutton.setOnClickListener(new updateDBListener());
 35         insertButton.setOnClickListener(new insertListener());
 36         updateButton.setOnClickListener(new updateListener());
 37         queryButton.setOnClickListener(new queryListener());
 38         deleteButton.setOnClickListener(new deleteListener());
 39     }
 40 
 41     private final class createDBListener implements OnClickListener{
 42 
 43         public void onClick(View v) {
 44             // TODO Auto-generated method stub
 45             //创建一个DatabaseHelper对象
 46             DatabaseHelper dbHelper = new DatabaseHelper(SQLite_Activity.this,"test_db");
 47             //只有调用了DatabaseHelper对象的getReadableDatabase()方法,
 48             //或者是getWritableDatabase()方法之后,才会创建,或打开一个数据库
 49             SQLiteDatabase db = dbHelper.getReadableDatabase();
 50         }
 51         
 52     }
 53     
 54     private final class updateDBListener implements OnClickListener{
 55 
 56         public void onClick(View v) {
 57             DatabaseHelper dbHelper = new DatabaseHelper(SQLite_Activity.this,"test_db",null,2);
 58             SQLiteDatabase db = dbHelper.getReadableDatabase();
 59         }
 60     }
 61     private final class insertListener implements OnClickListener{
 62 
 63         public void onClick(View v) {
 64 
 65             //生成ContentValues对象
 66             ContentValues values = new ContentValues();
 67             DatabaseHelper dbHelper = new DatabaseHelper(SQLite_Activity.this, "test_db",null,2);
 68             SQLiteDatabase db = dbHelper.getWritableDatabase();
 69             //想该对象当中插入键值对,其中键是列名,值是希望插入到这一列的值,值必须和数据库当中的数据类型一致
 70             values.put("id",1);
 71             values.put("name", "zzl_NO1");
 72             //调用insert方法,就可以讲数据插入到数据库当中
 73             db.insert("user",null,values);
 74         }
 75     }
 76     //UPDATE table_name SET XXXO=XXXX WHERE XXXO=XX...
 77      private final class updateListener implements OnClickListener{
 78 
 79             public void onClick(View v) {
 80                 ContentValues values = new ContentValues();
 81                 DatabaseHelper dbHelper = new DatabaseHelper(SQLite_Activity.this, "test_db");
 82                 SQLiteDatabase db = dbHelper.getWritableDatabase();
 83                 values.put("name", "new_zzl");
 84                 //update(String table, ContentValues values, String whereClause, String[] whereArgs)
 85                 //1-更新的表名  2-ContentValues对象  3-where子句(不包含where本身) 4-前个参数有几个占位符?就有多几个参数
 86                 db.update("user",values,"id=?",new String[]{"1"});
 87             }
 88      }
 89 
 90      private final class queryListener implements OnClickListener{
 91 
 92             public void onClick(View v) {
 93                 DatabaseHelper dbHelper = new DatabaseHelper(SQLite_Activity.this, "test_db");
 94                 SQLiteDatabase db = dbHelper.getReadableDatabase();
 95                 Cursor cursor = db.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null,null);
 96                 while(cursor.moveToNext()){
 97                     String name = cursor.getString(cursor.getColumnIndex("name"));
 98                     System.out.println("query--->" + name);
 99                 }
100             }
101      }
102      private final class deleteListener implements OnClickListener{
103 
104             public void onClick(View v) {
105                 DatabaseHelper dbHelper = new DatabaseHelper(SQLite_Activity.this, "test_db");
106                 SQLiteDatabase db = dbHelper.getWritableDatabase();
107                 db.delete("user", "id=?", new String[]{"2"});
108             }
109      }
110 }

昵    称:
验证码:

相关文档: