Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android學習之路之數據的使用(二)

Android學習之路之數據的使用(二)

編輯:關於Android編程

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

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

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

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

界面是這樣的

\

用起來挺方便的!

SQLite提供了一個類SQLiteOpenHelper,可以當做一個工具類<喎?/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算是入門了,基本的增刪查改都會了,管理系統就能很輕松的寫出來了!!!!








  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved