Android連接SQLite數據庫的簡單例子


背景:

  SQLite是一個非常流行的嵌入式數據庫,它提供了一個清爽的 SQL 接口,相當小的內存占用和高速的響應,更 Happy 的是他還是免費的,大家都可以盡情的使用,很多牛叉的公司(諸如 Adobe,Apple,Google,Sun,Symbian ),開源項目( Mozilla,PHP,Python )都在產品中裝配 SQLite.  

  Android 中, SQLite 是被集成於 Android runtime ,每個 Android 應用程序都可以歡快的使用 SQLite 數據庫,如果你熟悉 JDBC ,那么這個過程就更安逸了。 

SQLite3 特征 

和傳統關系數據庫比較 有的: 

 Sql 語句:SELECT(查詢), INSERT(添加數據), UPDATE(修改數據), CREATE(創建表), DROP(刪除表)      

 數據類型: 不區分大小寫,TEXT( 文本), NUMERIC( 數值), INTEGER( 整型), REAL(小數), NONE(無類型) 

沒有的:  FOREIGN KEY(外鍵約束), RIGHT OUTER JOIN, FULL OUTER JOIN, ALTER TABLE(修改表中的列)

程序:

一、啟動eclipse和android虛擬機,用adb shell命令行新建目錄、SQLite數據庫和表

1 編寫runadb.bat

  path D:\程序設計\安卓\eclipse 3.7\android-sdks\platform-tools

  adb shell  (也可在DOS環境中直接輸入);

2 新建文件夾

  在data/data目錄下創建cqvie.edu.cn(項目中包的名字),

  mkdir cqvie.edu.cn

  cd cqvie.edu.cn    在此目錄下創建文件夾databases

  mkdir databases

  cd databases

3 創建數據庫

  sqlite3 test.db

  create table 表名(“no” integer,”name” text);    //創建表

  select * from sqlite_master where type=”table” and name=”表名”;   //查詢表結構

  insert into 表名 values(1,”張三”);

  .explain ON  

  Select * from 表名;    //查詢

二、編寫android程序實現表記錄的添加與查

1 建立專門用於數據庫操作的DBHelper類

在cqvie.edu.cn包上點鼠標右鍵,新建一個類

 

類的名稱是DBHelper,繼承自“android.database.sqlite.SQLiteOpenHelper”,基類的名稱可以點按鈕進行查找

        2 用戶界面

         

       3 代碼編寫實現添加查詢功能

       public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        Button btnAdd=(Button) findViewById(R.id.btnAdd);

        Button btnQuery=(Button) findViewById(R.id.btnQuery);

        btnAdd.setOnClickListener(this);

        btnQuery.setOnClickListener(this);

    }

 

    public void onClick(View arg0) {

        // TODO Auto-generated method stub

        DBHelper helper=new DBHelper(this, "test.db", null, 1);

        SQLiteDatabase db=helper.getWritableDatabase();

       

        Button btn=(Button)arg0;

        int id=btn.getId();

        if(id==R.id.btnAdd){

            String sql="insert into count values(2222)";

            db.execSQL(sql);

        }

        else if(id==R.id.btnQuery){

            Cursor cursor=db.query("count", new String[]{"*"}, "name=?",  new String[]{"2222"}, null, null, null);

            String s="查詢結果\n";

            while(cursor.moveToNext()){

                   int no=cursor.getInt(cursor.getColumnIndex("no"));

                String name=cursor.getString(cursor.getColumnIndex("name"));

                s+=no+","+name+"\n";

            }

            EditText Text=(EditText) findViewById(R.id.Text);

            Text.setText(s);

        }

    }

}

       在進行數據庫寫測試之前,一定要把數據庫文件test.db的寫權限打開,不然會出錯

       在data/data/cqvie.edu.cn/databases目錄下寫chmod 777 test.db

       當標示符為”#”時,可直接寫這句chmod 777 test.db 

       當標示符為”sqlite>”時,要先退出.exit,再寫這句chmod 777 test.db

     4結果顯示

      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM