編輯:關於android開發
主java
package com.itheima.createdatabase; import android.app.Activity; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; public class MainActivity extends Activity { private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; //創建一個幫助類對象 MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(mContext); //調用getReadableDatabase方法,來初始化數據庫的創建 SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase(); } }
同一目錄下創建一個類繼承於數據庫
package com.itheima.createdatabase; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class MySqliteOpenHelper extends SQLiteOpenHelper { public MySqliteOpenHelper(Context context) { //context :上下文 , name:數據庫文件的名稱 factory:用來創建cursor對象,默認為null //version:數據庫的版本號,從1開始,如果發生改變,onUpgrade方法將會調用,4.0之後只能升不能將 super(context, "info.db", null,1); } //oncreate方法是數據庫第一次創建的時候會被調用; 特別適合做表結構的初始化,需要執行sql語句;SQLiteDatabase db可以用來執行sql語句 @Override public void onCreate(SQLiteDatabase db) { //通過SQLiteDatabase執行一個創建表的sql語句 db.execSQL("create table info (_id integer primary key autoincrement,name varchar(20))"); } //onUpgrade數據庫版本號發生改變時才會執行; 特別適合做表結構的修改 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //添加一個phone字段 db.execSQL("alter table info add phone varchar(11)"); } }
老師筆記
什麼情況下我們才用數據庫做數據存儲? 大量數據結構相同的數據需要存儲時。
mysql sqlserver2000 sqlite 嵌入式 輕量級
SqliteOpenHelper
創建數據庫步驟:
1.創建一個類集成SqliteOpenHelper,需要添加一個構造方法,實現兩個方法oncreate ,onupgrade
構造方法中的參數介紹:
//context :上下文 , name:數據庫文件的名稱 factory:用來創建cursor對象,默認為null
//version:數據庫的版本號,從1開始,如果發生改變,onUpgrade方法將會調用,4.0之後只能升不能將
super(context, "info.db", null,1);
2.創建這個幫助類的一個對象,調用getReadableDatabase()方法,會幫助我們創建打開一個數據庫
3.復寫oncreate和onupgrdate方法:
oncreate方法是數據庫第一次創建的時候會被調用; 特別適合做表結構的初始化,需要執行sql語句;SQLiteDatabase db可以用來執行sql語句
//onUpgrade數據庫版本號發生改變時才會執行; 特別適合做表結構的修改
幫助類對象中的getWritableDatabase 和 getReadableDatabase都可以幫助我們獲取一個數據庫操作對象SqliteDatabase.
區別:
getReadableDatabase:
先嘗試以讀寫方式打開數據庫,如果磁盤空間滿了,他會重新嘗試以只讀方式打開數據庫。
getWritableDatabase:
直接以讀寫方式打開數據庫,如果磁盤空間滿了,就直接報錯。
Android(Java)控制GPIO的方法及耗時分析,androidgpio 前面兩篇分別介紹了通過腳本和C代碼讀寫/sys/class/gpio以控制GPIO。實際
Android 應用程序的反編譯,android反編譯1、ApkTool工具 安裝ApkTool工具,該工具可以解碼得到資源文件,但不能得到Java源文件。安裝環境:需要
Android 指紋認證,android指紋認證安卓指紋認證使用智能手機觸摸傳感器對用戶進行身份驗證。Android Marshmallow(棉花糖)提供了一套API,使
本文使用SAX來解析XML,在Android裡面可以使用SAX和DOM,DOM需要把整個XML文件