編輯:關於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注意這個Cursor就像SQL裡的Result一樣,sql語句需要query,當然了也有其他的方法如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 cursor = db.query("table_student", null, null, null, null, null, null);這樣寫有點繁瑣,不如一句sql語句痛快,這樣寫,參數比較多
我喜歡第一種
別忘了最後要關閉db,不然電腦會變卡的!
到此SQLite算是入門了,基本的增刪查改都會了,管理系統就能很輕松的寫出來了!!!!
Android增量更新技術在很多公司都在使用,網上也有一些相關的文章,但大家可能未必完全理解實現的方式,本篇博客,我將一步步的帶大家實現增量更新。為什麼需要增量更新?當我
首先上效果圖 第一張圖是進入該界面的效果,頂部是一個viewpager,下面每個塊都是自定義的view HomeButton,第二張圖是點擊右邊第一個方塊的效果,點擊時方
四大組件的運行狀態: Android中的四大組件中除了BroadcastReceiver以外,其他三種組件都必須在Android Mainfrst中注冊。對於,Bro
前面簡單介紹了下GreenDao的使用,從前面的介紹看來是不是覺得有點 so easy。對就是這麼簡單。曾經有位大神說作為一位合格的程序員就要在學習別人的東西時,有點自己