Android串連SQLite資料庫的簡單例子

來源:互聯網
上載者:User

背景:

  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 =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結果顯示

      

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.