編輯:Android開發教程
項目源碼下載
https://github.com/Wang-Jun-Chao/AndroidProjects
SQLite數據庫
輕量級關系型數據庫
創建數據庫需要使用的api:SQLiteOpenHelper
必須定義一個構造方法:
//arg1:數據庫文件的名字
//arg2:游標工廠
//arg3:數據庫版本
public MyOpenHelper(Context context, String name, CursorFactory factory, int version){}
數據庫被創建時會調用:onCreate方法
數據庫升級時會調用:onUpgrade方法
MyOpenHelper oh = MyOpenHelper(getContext(), , , );
SQLiteDatabase db = oh.getWritableDatabase();
getWritableDatabase():打開可讀寫的數據庫
getReadableDatabase():在磁盤空間不足時打開只讀數據庫,否則打開可讀寫數據庫
在創建數據庫時創建表
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(" person (_id autoincrement,
name (), phone (), money ())
* person (name, phone, money) (, , );
* person name = _id = ;
* person money = name = ;
* name, phone person name = ;
db.execSQL(, []{, , });
Cursor cs = db.rawQuery(, []{});
測試方法執行前會調用此方法
() Exception {
.setUp();
oh = MyOpenHelper(getContext(), , , );
}
插入
ContentValues cv = ContentValues();
cv.put(, );
cv.put(, );
cv.put(, );
i = db.insert(, , cv);
刪除
i = db.(, , String[]{, });
修改
ContentValues cv = ContentValues();
cv.put(, );
i = db.update(, cv, , []{});
更多精彩內容:http://www.bianceng.cn/OS/extra/
查詢
Cursor cs = db.query(, []{, }, , []{}, , , );
(cs.moveToNext()){
name = cs.getString(cs.getColumnIndex());
money = cs.getString(cs.getColumnIndex());
System.out.println(name + + money);
}
保證多條SQL語句要麼同時成功,要麼同時失敗
最常見案例:銀行轉賬
事務api
try {
dbbeginTransaction();
dbsetTransactionSuccessful();
} finally{
dbendTransaction();
}
任意插入一些數據
定義業務bean:Person.java
讀取數據庫的所有數據
Cursor cs = db.query(, , , , , , );
(cs.moveToNext()){
name = cs.getString(cs.getColumnIndex());
phone = cs.getString(cs.getColumnIndex());
money = cs.getString(cs.getColumnIndex());
Person p = Person(name, phone, money);
people.add(p);
}
把集合中的數據顯示至屏幕
LinearLayout ll = (LinearLayout) findViewById(R.id.ll);
(Person p : people){
TextView tv = TextView();
tv.setText(p.toString());
ll.addView(tv);
}
分頁查詢
Cursor cs = db.query(, , , , , , , );
Android的應用程序(app)資源存儲在項目層次中的res文件夾下;資源的類型包括值(value),Drawable,顏色(color),布局(layout), 動畫
一、下載AndroidEmoji.ttf字體地址1:Github Android Platform地址2:AndroidEmoji.ttf.zip二、使用2.1將字體拷貝
最近在考慮為已經有的一個應用程序增加一個用戶反饋的功能,用戶可以通過反饋功能將用戶的意見和建議、程序出現的問題以一種更符合用戶習慣的方式反饋回來。網上也有一些實現好的反饋
Task的概念A task is a stack of activities. Task 就是一個棧,這個棧裡面存放了 很多 Activity ,它遵循著後進先出的原則。