❶ android開發如何將自己儲存在資料庫的數據同程序一起傳輸
可以將XX.db文件復制到Eclipse Android工程中的res\raw目錄中。所有在res\raw目錄中的文件不會被壓縮,這樣可以直接提取該目錄中的文件數據存儲這塊分為兩部分,一部分是服務端,一部分是客戶端
客戶端的存儲很簡單,現在一般用sqllite,也可以直接使用SharedPreferences。
服務端的存儲就很復雜了。你要學習jdbc的知識和資料庫的知識,如oracle,sqlserver,mysql之類的、 自己寫一個方法,點擊或者啟動的時候,採用JDBC一條條的取數據來同步。如果有時間戳的列,那麼你很好同步。 2. 我們採用的是,Local和伺服器都採用SQLLite。需要同步的時候,直接把伺服器的DB文件給拷貝下來,放到Local就可以了。至於提交到1、運行輸入 adb shell (前提是模擬器正在運行)。
2、進入命令界面後 輸入 ls 指令 會列出文件的目錄。
3、cd 進入你想要的目錄里。
4、一層一層進去後會發現 databases目錄 你的數據文件就在這個目錄下放著。
5、sqlite3 test (test就是你創建的資料庫的名稱 注意:不要加.db 後綴)。
6、現在你就進入你創建的test資料庫了使用 .tables 就可以查看所有的表了。你有用什麼執行或者編寫資料庫軟體嗎? 我一般用PL/SQL。如果你有軟體你就把創表和添加數據的資料庫文件導出(如何導出可以根據你用的軟體網路下下哦)到一個txt或者其它類型的文件裡面然後一起放到你將打包的項目文件中一起打包就可以了。命名的時候讓別人一看就知道是資料庫文件就可以了
❷ Android手機怎樣導出資料庫文件
1. 已root的手機導出資料庫文件
在手機上安裝Root Explorer(R.E.管理器)後,點擊app的圖標,打開程序的主界面。
找到data文件夾,點擊進入。在這個文件夾下存放著系統運行的數據文件。沒有root許可權是打不開的,一般也不建議隨便修改或刪除該文件夾下的信息。
在data文件夾下,再次找到data文件夾,也就是說兩個data,點擊打開。在裡面的這個data文件夾下存放的則是各個app的資料庫文件,系統中所有app的資料庫文件都保存在這個文件夾下。
在第二個data文件夾下找到你想要導出資料庫文件的app的包名,這個包名就是開發程序時代碼的根目錄。也可以通過解壓apk文件後在manifest文件中找到。
5
在報名下找到databases目錄,這個目錄下存放的就是程序的資料庫文件。資料庫文件都是以db結尾的,一個程序可能擁有多個資料庫文件,找到你想要導出的資料庫文件後再進行後續的操作。
❸ android 如何導入外部資料庫到應用中
你自己不也都說了
拷貝到資料庫目錄下操作了嗎。。而且你添加表
對資料庫更新,什麼的,當然是直接對資料庫目錄下的db文件操作方便了。更新完後再把data目錄下的資料庫放到assets文件覆蓋原來的。而不是啟動應用程序然後更新資料庫,這樣利用靜態資料庫打包綁定APP更效率。資料庫直接跟隨APP發布了
查看原帖>>
❹ android模擬器可以連接資料庫,打包成APK裝入手機,就沒辦法保存數據了
肯定不行的。
你要寫個方法,把資料庫拷貝到App的根目錄下,手機上才能識別。
你的APP的第一個activity應該是閃屏頁吧,這個方法通常寫在閃屏頁里。
❺ 安卓代碼怎麼創建資料庫
創建資料庫:>sqlite3.exe mySqlite.db
創建表:
sqlite>create table person ( _id integer primary key ,
name varchar(50),
age integer,
sex char(2) );
插入數據:
sqlite>insert into person values(1,'劉備',38,'男');
sqlite>insert into person values(2,'關羽',42,'男');
sqlite>insert into person values(3,'大喬',20,'女');
備份:
sqlite>.backup D:/mydb.db
恢復數據:
sqlite>.restore mydb.db
查看錶:
sqlite>.tables
❻ android怎樣把SQLite打包到APk中
你在eclipse中編譯工程的時候,db資料庫文件會自動打包到apk文件中,也就是說你安裝這個apk的時候,資料庫就已經存在了,無需在手工導入
❼ android怎麼把數據存入資料庫
把數據放入資料庫
通過把ContentValues對象傳入instert()方法把數據插入資料庫:
// Gets the data repository in write mode
SQLiteDatabase db = mDbHelper.getWritableDatabase();
// Create a new map of values, where column names are the keys
ContentValues values = new ContentValues();
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID, id);
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, title);
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_CONTENT, content);
// Insert the new row, returning the primary key value of the new row
long newRowId;
newRowId = db.insert(
FeedReaderContract.FeedEntry.TABLE_NAME,
FeedReaderContract.FeedEntry.COLUMN_NAME_NULLABLE,
values);
insert()方法的第一個參數是表名。第二個參數提供了框架中的一個列名,在ContentValues的值是空的時候,框架會向表中插入NULL值(如果這個參數是「null」,那麼當沒有值時,框架不會向表中插入一行。
從資料庫中讀取數據
要從資料庫中讀取數據,就要使用query()方法,你需要給這個方法傳入選擇條件和你想要獲取數據的列。查詢結果會在Cursor對象中被返回。
SQLiteDatabase db = mDbHelper.getReadableDatabase();
// Define a projection that specifies which columns from the database
// you will actually use after this query.
String[] projection = {
FeedReaderContract.FeedEntry._ID,
FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE,
FeedReaderContract.FeedEntry.COLUMN_NAME_UPDATED,
...
};
// How you want the results sorted in the resulting Cursor
String sortOrder =
FeedReaderContract.FeedEntry.COLUMN_NAME_UPDATED + " DESC";
Cursor c = db.query(
FeedReaderContract.FeedEntry.TABLE_NAME, // The table to query
projection, // The columns to return
selection, // The columns for the WHERE clause
selectionArgs, // The values for the WHERE clause
null, // don't group the rows
null, // don't filter by row groups
sortOrder // The sort order
);
使用Cursor對象的移動方法來查看游標中的一行數據,在開始讀取數據之前必須先調用這個方法。通常,應該從調用moveToFirst()方法開始,它會把讀取數據的位置放到結果集中第一實體。對於每一行,你可以通過調用Cursor對象的相應的get方法來讀取列的值,如果getString()或getLong()方法。對於每個get方法,你必須把你希望的列的索引位置傳遞給它,你可以通過調用getColumnIndex()或getColumnIndexOrThrow()方法來獲取列的索引。例如:
cursor.moveToFirst();
long itemId = cursor.getLong(
cursor.getColumnIndexOrThrow(FeedReaderContract.FeedEntry._ID)
);
從資料庫中刪除數據
要從一個表中刪除行數據,你需要提供標識行的選擇條件。數據API為創建選擇條件提供了一種機制,它會防止SQL注入。這中機制把選擇條件分成了選擇條件和選擇參數。條件子句定義了要查看的列,並且還允許你使用組合列來進行篩選。參數是用於跟條件綁定的、用戶篩選數據的值。因為這樣不會導致像SQL語句一樣的處理,所以它避免了SQL注入。
// Define 'where' part of query.
String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?";
// Specify arguments in placeholder order.
String[] selelectionArgs = { String.valueOf(rowId) };
// Issue SQL statement.
db.delete(table_name, selection, selectionArgs);
更新資料庫
當你需要編輯資料庫值的時候,請使用update()方法。
這個方法在更新數據時會把insert()方法中內容值的語法跟delete()方法中的where語法結合在一起。
SQLiteDatabase db = mDbHelper.getReadableDatabase();
// New value for one column
ContentValues values = new ContentValues();
values.put(FeedReaderContract.FeedEntry.COLUMN_NAME_TITLE, title);
// Which row to update, based on the ID
String selection = FeedReaderContract.FeedEntry.COLUMN_NAME_ENTRY_ID + " LIKE ?";
String[] selelectionArgs = { String.valueOf(rowId) };
int count = db.update(
FeedReaderDbHelper.FeedEntry.TABLE_NAME,
values,
selection,
selectionArgs);
❽ unity打包安卓,資料庫從stream路徑拷貝到沙盒,拷貝成功,為什麼操作不了資料庫
方法/步驟 首先,我們要下載RE文件管理器並且安裝到手機上(這個是需要root也就是獲取手機許可權的,一定要有,不然後面的一切都是做不了的) 我們現在打開RE文件管理器,進入手機根目錄。我們開始進入微信的根目錄,下面這個就是微信的根目錄。data/data/com.tencent.mm 一定看清楚是兩個data(日期),不是我手抖敲多了。 現在我們就進入微信的根目錄了,在這個根目錄下我們能找到一個文件名為「MicroMsg」的文件夾。這就是我們需要的,現在把這個文件夾復制到存儲卡里就好了。在根目錄下有一個名為「sdcard」的文件夾,這就是存儲卡。這樣我們就能在電腦連接到手機後,在電腦上里看到這個文件夾了。 現在就該用電腦了。把「MicroMsg」文件夾復制到電腦上,打開之前要裝到電腦上的軟體(微信聊天記錄備份恢復助手)。這時會彈出下面這個對話框,選擇安卓版本微信。並把數據目錄和資源目錄都設置為「MicroMsg」文件夾。設置好之後點擊獲取數據,這時下面的表格中會出現用戶名。選中後點擊查看記錄就能看到消息記錄了。
❾ Android Studio如何將資料庫文件打包到apk中,APP安裝後能使用提前准備好的.db文件,大神們幫幫忙,謝謝!
提供一種最簡單的思路吧,把db文件放到assets目錄下,運行檢測是否已經拷貝到指定目錄,沒有就把文件拷貝過去,在讀去資料庫就可以了