這位網友的教程
http://www.herokay.cn/index.php/archives/429/ 使用的是現成已用的數據庫 !!!!!!此教程目前有點問題,現在wxbit ai2中不支持直接操作外部數據庫
先看Android中sqlite中的說明 。數據庫在軟件的私有目錄里,不root是看不到的,為什么不應該直接操作外部數據庫,這是安卓為了隱私數據安全設置的。
為什么要設置數據庫名,如果不設置數據庫名則只在內存中運行,程序關了啥都不保存。並且一個軟件可以有多個數據庫.默認的數據庫名是sqlite.db
如果要使用外部數據可,需要在確保沒有數據庫的前提下導入外部數據庫,注意這里會完全外部覆蓋程序的私有數據庫
這一句是在某些低版本的安卓手機(測試6.0)上避免沒有本身沒有數據庫導致無法導入,記得先打開數據庫。並且在第二次運行程序的時候才會正確導入。在我的紅米note5(11)上則沒有這問題
如果要在別的屏幕使用數據庫,則需要在初始化時候設置數據庫名
我們使用非常火的Navicat來圖形化成sql語句,https://www.cnblogs.com/kkdaj/p/12794804.html ,使用內置的運行sql函數來生成表
先新建一個sqlite文件,然后新建一個表
在sql預覽里可以看到 新建表的sql語句 粘貼出來,然后修改下表名
CREATE TABLE "main"."學生" (
"學號" integer NOT NULL,
"姓名" TEXT NOT NULL,
"年級" integer NOT NULL,
PRIMARY KEY ("學號")
);
這個語句就可以用來新建表-學生。同理獲得創建表-老師的sql語句
CREATE TABLE "main"."老師" (
"姓名" TEXT,
"科目" TEXT,
"性別" TEXT
);
第一步先打開數據庫,數據庫名就是數據庫的路徑,如果路徑不存在的話會自動新建文件
新建表的sql語句
現在是空表,在表里添加數據
點對勾,就會顯示sql語句
當然,我們也可以用ai2的現成語句,等同於上邊語句,不過這個一次只能插入一條,要運行多個語句,得用運行sql文件路徑那個函數
navcat可以用工具自動添加查詢語句,點擊查詢創建工具
生成sql語句 ,distinct表示結果不重復
SELECT DISTINCT
"老師"."姓名",
"老師"."科目",
"老師"."性別",
"學生"."姓名",
"學生"."學號"
FROM
"老師",
"學生"
GROUP BY
"學生"."學號"
然后運行
注意這里的回調,sql的查詢結果會傳遞給回調函數的運行結果,是一個單層列表或者雙層列表
把數據庫導出到文件里