編輯:關於Android編程
Android操作系統使用SQLite數據庫,使用有兩種方法獲得數據庫對象:
1.獲取已經存在的數據庫
SQLiteDatabase dbbrndi=SQLiteDatabase.openDatabase("/sdcard/zhycheng.db3", null,SQLiteDatabase.OPEN_READONLY);
第一個String參數是數據庫在文件系統中的位置,第二個參數一般為null,第三個參數控制數據庫打開的方式。
這樣就獲得了數據庫對象。
2.自己創建數據庫
新建一個類,繼承SQLiteOpenHelper,添加未實現的方法
代碼如下
package your.zhycheng;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class MyHelper extends SQLiteOpenHelper{
public MyHelper(Context context, String name)
{
this(context,name,1);
}
public MyHelper(Context context, String name,int version)
{
this(context,name,null,version);
}
public MyHelper(Context context, String name,//數據庫的名字
CursorFactory factory,
int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table user(id int,name text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
獲得的數據庫位於/data/data/yourpackage/databases/zhycheng.db3
然後通過生成一個MyHelper類的對象,調用
MyHelper mh=new MyHelper(this,"zhycheng"); SQLiteDatabase db=mh.getReadableDatabase(); SQLiteDatabase db=mh.getWritableDatabase();
分別獲得只讀和可寫的數據庫。
獲得數據庫之後就可以進行數據庫操作有以下兩種方式操作數據庫
1.執行SQL語句
db.rawQuery(sql,Args) db.execSQL(sql, Args) db.execSQL(sql)
上面的sql是String類型的數據庫語言,Args是String數組。前面String中若有"?"則對應後面的值。
2.使用特定的方法
插入方法
MyHelper mhz=new MyHelper(this,"zhycheng",2);
SQLiteDatabase dbz=mhz.getWritableDatabase();
ContentValues value=new ContentValues();
value.put("id", 1);
value.put("name", "zhangyicheng");
dbz.insert("user", null, value);//第二個參數一定是null
刪除方法
MyHelper mhsc=new MyHelper(this,"zhycheng",2);
SQLiteDatabase dbsc=mhsc.getWritableDatabase();
dbsc.delete("user", "id=?", new String[]{"1"});
dbsc.close();
改方法
MyHelper mhg=new MyHelper(this,"zhycheng",2);
SQLiteDatabase dbg=mhg.getWritableDatabase();
ContentValues vs=new ContentValues();
vs.put("id", 1);
dbg.update("user", vs, //set XXX=xx
"id=?", new String[]{"4"}//id=4
);//
查方法
MyHelper mhc=new MyHelper(this,"zhycheng",2);
SQLiteDatabase dbc=mhc.getReadableDatabase();
Cursor c=dbc.query("user",//表名字
new String[]{"id","name"},//查詢的列
"id=?", new String[]{"2"}, //where
null, null, null);
while(c.moveToNext())
{
System.out.println(c.getString(c.getColumnIndex("name")));
}
最後有一個函數很有用
insert into user values(7,datetime(CURRENT_TIMESTAMP,'localtime'))
Android App應用啟動分析與優化
app的啟動方式: 1.)冷啟動 當啟動應用時,後台沒有該應用的進程,這時系統會重新創建一個新的進程分配給該應用,這個啟動方式就是冷啟動。冷啟動因為系
Android使用個推實現三方應用的推送功能
PS:用了一下個推.感覺實現第三方應用的推送功能還是比較簡單的.官方文檔寫的也非常的明確.學習內容:1.使用個推實現第三方應用的推送.所有的配置我最後會給一個源代碼,內部
Android成長之路(3)——Activity的生命周期(1)
當用戶在用一個App的時候,Activity會在生命周期不同的狀態下轉換。當用戶離開或重新回到一個Activity,我們可以在生命周期的回調函數中來寫一些相關的操作。比如
Android中實現圖片平移、縮放、旋轉同步進行
前言之前因為項目需求,其中使用到了圖片的單擊顯示取消,圖片平移縮放功能,昨天突然想再加上圖片的旋轉功能,在網上看了很多相關的例子,可是沒看到能同時實現我想要的