Android學習之路之資料的使用(二)

來源:互聯網
上載者:User

Android學習之路之資料的使用(二)

下午學習了SQLite並用剛學的做了一個非常簡單的資訊管理系統,系統完整做出來之後,我感覺單機版的管理系統都應該能做出來了!!!!

現在開始講講SQLite的用法(增刪查改)

介紹什麼的就不說了,百度一大推,還有講一下,既然是資料庫我都喜歡圖形化的操作,我在網上找了個,感覺不錯推薦大家用一下

http://yunpan.cn/Q7bYmCQucJ9qU 提取碼 fb99

介面是這樣的


用起來挺方便的!

SQLite提供了一個類SQLiteOpenHelper,可以當做一個工具類<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+19S8utC00ru49kRCT3BlbkhlbHBlcsC0vMyz0Mv8o6zA78Pm0N64xMr9vt2/4sP7us2w5rG+usWho7T6wuvI58/Co7o8L3A+CjxwPjxwcmUgY2xhc3M9"brush:java;">public class DBOpenHelper extends SQLiteOpenHelper {private static final String DBNAME = "sutdent.db";private static final int VERSION = 1;private static final String TAG="DBOpenHelper";/** * * @param context * 建構函式(庫名、版本號碼) */public DBOpenHelper(Context context) {super(context,DBNAME, null, VERSION);}@Override/* * (non-Javadoc) * @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase) * 一般是建表和預設資料 */public void onCreate(SQLiteDatabase db) {String sql = "CREATE TABLE table_student(sid integer primary key,name varchar(20),age inter);";db.execSQL(sql);db.execSQL("insert into table_student values(1,'雄霸天',20)");db.execSQL("insert into table_student values(2,'黑旋風',21)");db.execSQL("insert into table_student values(3,'帥氣劉',22)");Log.i(TAG, "onCreate");}@Override/** * 一般是應用升級使用,同時對資料庫進行升級 * */public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {Log.i(TAG, "onUpgrade");}}大家可以看看上述代碼,很簡單

super(context,DBNAME, null, VERSION);
指定資料庫的名字,這裡說一下,資料庫的名字最好加上“.db”如“student.db”這樣才能算是一個標準的資料庫檔案

版本號碼就預設1

資料庫的語句依然是SQL語句,沒有改變,改變的是如何運行這些sql語句

下面介紹一下(最基礎最基本的運行方法)

增加,刪除等不返回數值的sql語句可以使用

db.execSQL(sql);db.execSQL("update table_student set name="+name+",age="+age+" where sid="+id);db.execSQL(sql, Object[]);db.execSQL("update table_student set name=?,age=? where sid=?",new Object[]{name,age,id});
同樣的效果,建議用第二種!

到這裡不禁要問,db如何而來

在使用Model裡使用DBOpenHelper的時候這樣寫

private DBOpenHelper helper;private SQLiteDatabase db;public StudentDao(Context context){helper = new DBOpenHelper(context);db = helper.getWritableDatabase();}
然後就任意使用db了

當需要從資料庫提取值的時候需要這樣用

/*擷取全部學生*/public List getAllList(){List list = new ArrayList();Cursor cursor = db.rawQuery("select * from table_student"});while(cursor.moveToNext()){Student student = new Student(cursor.getInt(0),cursor.getString(1),cursor.getShort(2));list.add(student);}return list;}
注意這個Cursor就像SQL裡的Result一樣,sql語句需要query,當然了也有其他的方法如

Cursor cursor = db.query("table_student", null, null, null, null, null, null);
這樣寫有點繁瑣,不如一句sql語句痛快,這樣寫,參數比較多

我喜歡第一種

別忘了最後要關閉db,不然電腦會變卡的!

到此SQLite算是入門了,基本的增刪查改都會了,管理系統就能很輕鬆的寫出來了!!!!








聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.