當前位置:首頁 » 安卓系統 » androidsqlite讀取資料庫

androidsqlite讀取資料庫

發布時間: 2023-10-26 15:34:18

『壹』 android app如何從資料庫中獲取需要的數據

Android 不自動提供資料庫。在 Android 應用程序中使用 sqlite,必須自己創建資料庫,然後創建表、索引,填充數據。Android 提供了 SQLiteOpenHelper 幫助你創建一個資料庫,你只要繼承 SQLiteOpenHelper 類,就可以輕松的創建資料庫。SQLiteOpenHelper 類根據開發應用程序的需要,封裝了創建和更新資料庫使用的邏輯。SQLiteOpenHelper 的子類,至少需要實現三個方法:
構造函數,調用父類 SQLiteOpenHelper 的構造函數
onCreate()方法;// TODO 創建資料庫後,對資料庫的操作
onUpgrage()方法。// TODO 更改資料庫版本的操作
當你完成了對資料庫的操作(例如你的 Activity 已經關閉),需要調用 SQLiteDatabase 的 Close() 方法來釋放掉資料庫連接。
操作資料庫的最佳實踐是創建一個輔助類,例如聯系人模塊
class ContactsDatabaseHelper extends SQLiteOpenHelper
3.2 Cursor類
Android使用Cursor類返回一個需要的值,Cursor作為一個指針從資料庫查詢返回結果集,使用Cursor允許Android更有效地管理它們需要的行和列,你使用ContentValues對象存儲鍵/值對,它的put()方法允許你插入不同數據類型的鍵值。
3.3 數據類型
SQLite 和其他資料庫最大的不同就是對數據類型的支持,創建一個表時,可以在 CREATE TABLE 語句中指定某列的數據類型,但是你可以把任何數據類型放入任何列中。當某個值插入資料庫時,SQLite 將檢查它的類型。如果該類型與關聯的列不匹配,則 SQLite 會嘗試將該值轉換成該列的類型。如果不能轉換,則該值將作為其本身具有的類型存儲。比如可以把一個字元串(String)放入 INTEGER 列。SQLite 稱這為「弱類型」(manifest typing.)。

四、資料庫操作
4.1創建和打開資料庫
在Android中創建和打開一個資料庫都可以使用openOrCreateDatabase方法來實現,因為它會自動去檢測是否存在這個資料庫,如果存在則打開,如果不存在則創建一個資料庫:創建成功則返回一個SQLiteDatebase對象,否則拋出異常FileNotFoundException。
下面我們來創建一個名為Test的資料庫,並返回一個SQLiteDatabase對象mSQLiteDatabase。
mSQLiteDatabase=this.openOrCreateDatabase("Test",MODE_PRIVATE,null);

4.2創建表
通過execSQL方法來執行一條SQL語句。
String CREATE_TABLE="create table 表名(列名,列名,……)";
mSQLiteDatabase.execSQL(CREATE_TABLE);

創建表的時候總要確定一個主鍵,這個欄位是64位整型,別名_rowid。其特點就是自增長功能。當到達最大值時,會搜索該欄位未使用的值(某些記錄被刪除_rowid會被回收),所以要唯一嚴格增長的自動主鍵必須加入關鍵字autoincrement。
4.3刪除表
mSQLiteDatabase("drop table 表名");

『貳』 怎麼查看安卓sqlite資料庫

打開android項目的調試模式,然後找到顯示DDMS 選擇DDMS 切換到DDMS,顯示File Explorer窗口,找到/data/data/ 啰嗦一句,你可能在你自己的eclipse沒找到,File Explorer ,如果找不到的話,就去網上下載,"easyExplorer",放在eclipse的plugins目錄下:就OK了,重啟一下。 然後找到自己用的程序包的文件夾,打開databases,就看到sqlite資料庫文件了,然後到處就可以了。步驟上面標注好了,1,2,3。這樣就把sqlite資料庫文件以文件的方式導出來了,然後使用sqlite界面管理工具如sqlite administrator、sqlite man或者firefox插件sqlite manager等打開就可以了。 說一下另外一種方法,運行cmd,切換到android-sdk目錄,運行adb.exe,加上參數shell,出現#號就代表進入了shell命令模式,注意adb要在Android模擬器運行時才能進入shell:(必須要用root許可權,如果不是root許可權,去查詢別的資料,一般都是root許可權。OK了) 上面的不走還算詳細吧,大家應該了解了吧,我也是菜鳥,被逼著走過來的,加油。YES,我也可以的。 Android開發怎麼查看和管理sqlite資料庫

『叄』 安卓中怎麼讀取sqlite的db文件的數據

安裝SQLite Expert Professional 可以在網上下載,我下載的是試用版,沒有找注冊碼,但是試用不影響使用,反正用幾次查看到資料庫操作沒有錯誤就不用這個工具了。當然也可以使用Eclipse插件DDMS來查看,也可以使用Android工具包中的adb工具來查看。android項目中的sqlite資料庫位於/data/data/項目包/databases中。先介紹使用DDMS導出sqlite資料庫的操作和使用adb工具訪問sqlite資料庫。
首先打開android項目的調試模式,然後找到顯示DDMS

切換到DDMS,顯示File Explorer窗口,找到/data/data/ 如下圖1 ,
然後找到程序包的文件夾,打開databases,就能看到sqlite資料庫文件了。選擇將其導出。如下圖2.
這樣就把sqlite資料庫文件以文件的方式導出來了,然後使用sqlite界面管理工具如SQLite Expert Professional可以打開該資料庫了。其他 sqlite界面管理工具如sqlite administrator、sqlite man或者firefox插件sqlite manager也可以打開該資料庫。

使用adb工具訪問sqlite資料庫
Android Debug Bridge(ADB)是Android的一個通用調試工具,它可以更新設備或模擬器中的代碼,可以管理預定埠,可以在設備上運行shell命令,我們 知道android是基於linux內核,它的內部文件結構也是採用linux文件組織方式,因此訪問它的文件結構需要使用shell。這次我們就會用 shell來訪問android應用中的sqlite資料庫文件。
1、運行cmd,切換到android-sdk目錄,運行adb.exe,加上參數shell,出現#號就代表進入了shell命令模式,注意adb要在Android模擬器運行時才能進入shell:如下圖

進入資料庫所在目錄:
shell命令記住兩個基本命令ls和cd,類似windows命令提示行中的dir和cd,代表列出當前目錄下文件列表和進入到指定目錄。了解這兩個命令之後,就可以找到data/data/項目包名/databases 如下圖1, 找到資料庫文件如下圖2。

使用sqlite管理工具來進行資料庫操作
鍵入sqlite3 資料庫名就進入了sqlite管理模式了。
如下圖

設置sqlite環境變數:
在android的sdk中自帶了sqlite3.exe,這是sqlite的官方管理工具,它是一個命令行工具。為了使用方便,將其路徑注冊到系 統環境變數path中,即將;%Android_Home%加在Path中,這樣只樣運行sqlite3,就能直接打開sqlite管理工具了。
如下圖:

8
使用sqlite管理資料庫:
sqlite命令行工具默認是以;結束語句的。所以如果只是一行語句,要在末尾加;,或者在下一行中鍵入;,這樣sqlite命令才會被執行。
sqlite常用命令:
.tables--查看資料庫的表列表
.exit--退出sqlite命令行
其他命令可隨時.help查看幫助。sql命令可直接在此命令行上執行即可:

『肆』 如何讀取android asserts下面已經存在的sqlite資料庫

這個可以在每次應用開啟時檢測database文件夾下是否有這個名稱的資料庫,如果沒有就從asserts中獲得釋放一次,給你看一下我的代碼:

我的asserts里有一個文件叫做:address.db

java">/**
*在onCreate()方法中調用
*/
privateFileinitDatabase(){
BufferedInputStreambis=null;
BufferedOutputStreambos=null;
Filefile=getDatabasePath("address.db");
byte[]buffer=newbyte[1024];
intc;

try{
if(!file.exists())
file.getParentFile().mkdirs();
else
returnfile;
bis=newBufferedInputStream(getAssets().open("address.db"));
bos=newBufferedOutputStream(newFileOutputStream(file));

while((c=bis.read(buffer))!=-1)
bos.write(buffer,0,c);

}catch(IOExceptione){
e.printStackTrace();
returnnull;
}finally{
try{
if(bis!=null)
bis.close();
if(bos!=null){
bos.close();
bos.flush();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
returnfile;
}
熱點內容
去角質皮面膜怎麼樣配置 發布:2024-11-30 10:44:22 瀏覽:808
證券首次開戶後為什麼沒密碼 發布:2024-11-30 10:41:57 瀏覽:316
玩具廠資料庫 發布:2024-11-30 10:41:57 瀏覽:786
學校考試伺服器地址 發布:2024-11-30 10:35:30 瀏覽:683
nas無盤伺服器搭建教程 發布:2024-11-30 10:27:07 瀏覽:156
觸摸精靈腳本解密 發布:2024-11-30 10:27:04 瀏覽:328
如何解鎖密碼鎖上的密碼用數字解 發布:2024-11-30 10:07:55 瀏覽:454
文件夾選項怎麼找 發布:2024-11-30 10:05:50 瀏覽:378
安卓手機界面下面返回鍵怎麼設置 發布:2024-11-30 09:59:12 瀏覽:65
名ftp是 發布:2024-11-30 09:59:12 瀏覽:294