public static void move(string oldpath,string newpath)catch (exception e)finally
process.destroy();
}catch (exception ee){}
}}
將db檔案複製到公有空間(如外部儲存)之後,我們就可以通過sqlitedatabase操作這個資料庫了,接下來又有乙個小小的問題,我們怎麼知道資料庫中有哪些表呢?之所以說小小的問題,而不是小問題,是因為它太小了哈哈(如果你了解sqlite_master這個系統表)。
sqlitedatabase每建立乙個新的資料庫(db),都會自動生成乙個內建表sqlite_master,我們看下該錶的結構:
create table sqlite_master (
type text,
name text,
tbl_name text,
rootpage integer,
sql text
);應該能猜測出這是幹嘛用的吧?此表中儲存著當前資料庫中所有表的相關資訊,比如表的名稱、用於建立此表的sql語句、索引、索引所屬的表、建立索引的sql語句等。所以,我們可以通過該錶獲取db中有哪些表。
話不多說,上**:
sqlitedatabase db = sqlitedatabase.openorcreatedatabase(dbpath, null);
listtables = new arraylist<>();
if(db!=null)
}
到現在,資料庫、資料庫中有哪些表都已經取到了,就差最後列印表內的資料了。到這一步,該需求已經沒有任何難度了,直接上**:
sqlitedatabase db = sqlitedatabase.openorcreatedatabase(dbpath, null);
listdatas = new arraylist<>();
if(db!=null){
cursor cursor = db.rawquery("select * from "+tbname, null);
while (cursor.movetonext()) {
string data = "";
for(int i = 0;i資料已經取到了,至於要幹嘛用,就是經理的個人問題咯~
程式設計乙個很大的魅力,在於可以將不可能變為可能!
如何讀取第三方應用的資料庫?(PART 1)
怎麼辦呢?要不要去告訴經理該需求難以實現呢?哈哈,咱們回顧下開頭的那段對話,裡面有我們的解決方案!沒錯,我們可以root嘛,雖然安卓並不是很喜歡root這個東西,但是針對這個需求,它卻是乙個好東西呢。至於如何root,網上有太多太多的方案,這裡就不再贅述,只是給大家分享一下我參考的一種方式 root...
IOS第三方資料庫 FMDB
ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...
IOS第三方資料庫 FMDB
ios中原生的sqlite api在使用上相當不友好,在使用時,非常不便。於是,就出現了一系列將sqlite api進行封裝的庫,例如fmdb plausibledatabase sqlitepersistentobjects等,fmdb 是一款簡潔 易用的封裝庫,這一篇文章簡單介紹下fmdb的使用...