導航:首頁 > APP軟體 > 安卓登錄sqlite

安卓登錄sqlite

發布時間:2023-01-25 17:49:20

❶ android怎麼連接sqlite資料庫

這種方式通常連接一個外部的資料庫,第一個參數就是資料庫文件,這個資料庫不是當前項目中生成的,通常放在項目的Assets目錄下,當然也可以在手機內,如上面參數那個目錄,前提是那個文件存在且你的程序有訪問許可權。

另一種使用資料庫的方式是,自己創建資料庫並創建相應的資料庫表,參考下面的代碼

public class DatabaseHelper extends SQLiteOpenHelper {

//構造,調用父類構造,資料庫名字,版本號(傳入更大的版本號可以讓資料庫升級,onUpgrade被調用)
public DatabaseHelper(Context context) {
super(context, DatabaseConstant.DATABASE_NAME, null, DatabaseConstant.DATABASE_VERSION);
}

//資料庫創建時調用,裡面執行表創建語句.
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(createVoucherTable());
}

//資料庫升級時調用,先刪除舊表,在調用onCreate創建表.
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + DatabaseConstant.TABLE_NAME);
onCreate(db);
}
//生成 創建表的SQL語句
private String createVoucherTable() {
StringBuffer sb = new StringBuffer();
sb.append(" CREATE TABLE ").append(DatabaseConstant.TABLE_NAME).append("( ").append(「ID」)
.append(" TEXT PRIMARY KEY, ")
.append(「USER_ID」).append(" INTEGER, ").append(「SMS_CONTENT」).append(" TEXT ) ");
return sb.toString();
}
}

繼承SQLiteOpenHelper並實現裡面的方法.

之後:
//得到資料庫助手類
helper = new DatabaseHelper(context);
//通過助手類,打開一個可讀寫的資料庫連接
SQLiteDatabase database = helper.getReadableDatabase();
//查詢表中所有記錄
database.query(DatabaseConstant.TABLE_NAME, null, null, null, null, null, null);

❷ android怎麼連接sqlite資料庫

Android是有自帶的類庫的:SQLiteOpenHelper,使用的時候繼承這個類,然後寫邏輯就可以,一般使用單例模式:

java">(Contextcontext){
if(helper==null){
helper=newDBHelper(context);
}
returnhelper;
}
privateDBHelper(Contextcontext){
super(context,"你自己的資料庫名",null,資料庫版本);
}

使用的時候也很簡單,下面是一個刪除操作:

(Stringpackname){
SQLiteDatabasedb=getWritableDatabase();
try{
db.beginTransaction();
db.delete("site","packname=?",newString[]{packname});
db.setTransactionSuccessful();
}finally{
db.endTransaction();
if(db!=null){
}
}
}

❸ android 關於連接 sqlite問題

安卓無關,sqlite本身的特性就是文件性資料庫,如果某個後台進程後者應用進程通過sqlite3_open或者sqlite3_popen打開資料庫文件,那麼默認建立一個連接,其他進程如果訪問返回sqlite_busy,等同於庫鎖狀態。

❹ 如何在android中使用sqlite資料庫

android 中SQliteDatabase資料庫使用SQLiteOpenHelper輔助類來創建SQLite資料庫視圖,如下代碼:
create view 表名 as 定義

SQLiteOpenHelper類是一個輔助類,用於創建或打開資料庫。
該類的使用方法一般是自定義一個子類,繼承自SQLiteOpenHelper,並覆寫其中最關鍵的兩個方法:onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)。當新建一個資料庫時會調用前者,一般在裡面做一些創建表或視圖的操作。資料庫版本升級時則會調用後者。
定義好子類後(假如叫SqlHelper),只要調用SqlHelper對象的getReadableDatabase()方法或getWritableDatabase()方法即可返回一個SQLiteDatabase對象。如果是第一次調用,則會創建資料庫。隨後可使用SQLiteDatabase對象的方法進行數據操作,如:execSQL(), insert(), update(), query(), rawQuery(), delete()等。

❺ 安卓開發 用戶登錄 sqlite資料庫 怎麼設置記住密碼

創建表 把用戶名密碼存進去 在打開應用的時候檢測兩個東西

  1. 記住密碼的框框勾選了沒

  2. 資料庫中用戶名密碼是不是空

如果這倆條件都滿足了就從資料庫中獲取然後setText進去

其實可以不用資料庫 用個SharedPreferences就OK

❻ 安卓怎麼使用sqlite資料庫

使用sql語句命令創建SQLite資料庫需要專業的知識,例如sql語句,等等 建議你使用SQLitem客戶端回來操作,可以創答建表,加欄位改欄位,設置索引觸發器等等 最後還可以生成sql腳本,做開發的不可能用這個命令行來操作的 SQLiteDev已經上傳附件 SQLiteDve 自帶語法高亮,代碼提示的功能性,非常方便 SqliteDev385.zip大小:8.33M所需財富值:5 已經過網路安全檢測,放心下載 點擊下載下載量:0

❼ android上如何使用sqlite資料庫

1.打開資料庫Context類的openDatabase可以打開一個已經存在的資料庫,如果資料庫不存在,將會拋出FileNotFoundException異常。可以通過Context類的createDatabase函數建立一個新的資料庫。通過調用SQLiteDatabase 的execSQL方法,執行一條SQL語句建立一個新的數據表。代碼如下:public DBHelper(Context ctx) {try {//打開已經存在的資料庫 db = ctx.openDatabase(DATABASE_NAME, null); } catch (FileNotFoundException e) {try {//建立新的資料庫 db = ctx.createDatabase(DATABASE_NAME, DATABASE_VERSION, 0, null); //建立數據表 db.execSQL(DATABASE_CREATE); } catch (FileNotFoundException e1) {db = null;}}}2.獲取表中的數據建立一個游標類Cursor 通過SQLiteDatabase 的query方法查詢一個表格。有了Cursor就可以遍歷所有的記錄了。代碼如下:public List<row> fetchAllRows() { ArrayList<row> ret = new ArrayList<row>();try {Cursor c =db.query(DATABASE_TABLE, new String[] { "rowid", "title", "body"}, null, null, null, null, null); int numRows = c.count(); c.first();for (int i = 0; i < numRows; ++i) { Row row = new Row(); row.rowId = c.getLong(0); row.title = c.getString(1); row.body = c.getString(2); ret.add(row); c.next();}} catch (SQLException e) { Log.e("booga", e.toString());}return ret;}</row></row></row>3.添加新的記錄構造一個ContentValues類,通過調用put方法,可以設置一條記錄的屬性。通過調用SQLiteDatabase的insert方法添加一條新的記錄。代碼如下:public void createRow(String title, String body) { ContentValues initialValues = new ContentValues(); initialValues.put("title", title); initialValues.put("body", body); db.insert(DATABASE_TABLE, null, initialValues); }4.刪除記錄直接調用SQLiteDatabase的delete方法,第二個參數是一個SQL條件表達式。代碼如下:public void deleteRow(String str) {

❽ 在Android應用程序中使用SQLite資料庫以及怎麼用

其主要思路是:
1.
把資料庫分解成幾個asset文件。
2.
當需要打開資料庫時,如果資料庫不存在,就把那幾個asset文件重新合並成一個資料庫文件。
3.
如果資料庫的版本改變了,就在onUpgrade()方法中把資料庫文件刪除掉。
下面是代碼:
//資料庫的預設路徑
private
static
finalString
DB_PATH
=
"/data/data/com.mypackage.myapp/databases/";
private
static
finalString
DB_NAME
=
"mydb.db";
private
static
finalint
DB_VERSION
=
2;
private
static
finalString
DB_SPLIT_NAME
=
"mydb.db.00";
private
static
finalint
DB_SPLIT_COUNT
=
3;
private
SQLiteDatabasem_database;
private
final
Contextm_context;
/**
*
Constructor
*保存傳進來的context參數以用來訪問應用的asset和資源文件。
*
@param
context
*/
public
MyDB(Contextcontext)
{
super(context,
DB_NAME,
null,
DB_VERSION);
this.m_context
=
context;
}
public
static
MyDBopenDatabaseReadOnly(Context
context)
{
MyDB
db
=
new
MyDB(context);
try
{
db.createDataBase();
}
catch
(IOException
e)
{
//
TODO
Auto-generated
catch
block
e.printStackTrace();
}
db.openDataBase(SQLiteDatabase.OPEN_READONLY);
return
db;
}
public
static
MyDBopenDatabaseReadWrite(Context
context)
{
MyDB
db
=
new
MyDB(context);
try
{
db.createDataBase();
}
catch
(IOException
e)
{
//
TODO
Auto-generated
catch
block
e.printStackTrace();
}
db.openDataBase(SQLiteDatabase.OPEN_READWRITE);
return
db;
}
/**
*創建一個空資料庫,用來存儲已有的資料庫。
*/
public
voidcreateDataBase()
throws
IOException{
boolean
dbExist
=checkDataBase();
if
(dbExist)
{
/*
**如果自己的資料庫的版本改變了,調用這個方法確保在onUpgrade()被調用時
**傳進去的是可寫的資料庫。
*/
SQLiteDatabase
db
=this.getWritableDatabase();
if
(db
!=
null)
{
db.close();
}
}
dbExist
=
checkDataBase();
if
(!dbExist)
{
try
{
/*
**
調用這個方法以確保在預設路徑內產生一個空資料庫,以便在其基礎上復制咱們已有的資料庫。
*/
SQLiteDatabase
db
=this.getReadableDatabase();
if
(db
!=
null)
{
db.close();
}
DataBase();
}
catch
(IOException
e)
{
Log.e("DB",
e.getMessage());
throw
new
Error("Error
ingdatabase");
}
}
}
/**
*
檢查資料庫是否已存在,以避免重復復制。
*
@return
true
if
it
exists,
false
if
itdoesn't
*/
private
static
booleancheckDataBase(){
SQLiteDatabase
checkDB
=
null;
try
{
String
path
=
DB_PATH
+
DB_NAME;
checkDB
=SQLiteDatabase.openDatabase(path,
null,
SQLiteDatabase.OPEN_READONLY);
}
catch
(SQLiteException
e){
//database
does't
exist
yet.
}
if
(checkDB
!=
null)
{
checkDB.close();
}
return
checkDB
!=
null
?
true
:
false;
}
/**
*
把存在asset文件中的資料庫復制的剛創建的空資料庫中。
*
*/
private
voidDataBase()
throws
IOException
{
//
剛創建的空資料庫的路徑
String
outFileName
=
DB_PATH
+
DB_NAME;
//
打開空資料庫
OutputStream
output
=
new
FileOutputStream(outFileName);
byte[]
buffer
=
new
byte[1024*8];
AssetManager
assetMgr
=m_context.getAssets();
for
(int
i
=
1;
i
<=
DB_SPLIT_COUNT;
i++){
//
打開分解的asset文件
String
fn
=
DB_SPLIT_NAME
+String.valueOf(i);
InputStream
input
=
assetMgr.open(fn);
//Log.i("DB",
"opened"
+
fn);
int
length;
while
((length
=
input.read(buffer))
>0)
{
//Log.i("DB",
"read"
+
String.valueOf(length));
output.write(buffer,
0,
length);
//Log.i("DB",
"write"
+
String.valueOf(length));
}
input.close();
}
//Close
the
streams
output.flush();
output.close();
}
/**

閱讀全文

與安卓登錄sqlite相關的資料

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接