android timer后函数继续执行_Android连载34更新数据库以及使用SDK自带adb工具
生活随笔
收集整理的這篇文章主要介紹了
android timer后函数继续执行_Android连载34更新数据库以及使用SDK自带adb工具
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、使用adb shell功能
- Book表是無法通過File Explorer來看的,所以我們可以使用android SDK自帶的一個工具來進行查看,這個工具就是adb
- 首先我們要把該工具所在的地址配置環(huán)境變量中去才可以在dos窗口中直接調(diào)用。
- 34.2
- 輸入adb shell,進入設(shè)備控制臺
- 輸入cd /data/data/com.example.databasetest/databases/,進入到android目錄下
- ls查看文件夾中有什么
- 里面含有兩個文件,一個就是我們創(chuàng)建的BookStore.db和一個journal結(jié)尾的文件,這個文件就是為了讓數(shù)據(jù)庫能夠支持事務(wù)而產(chǎn)生的臨時日志文件,通常這種文件的大小都是0
- 使用sqlite3 數(shù)據(jù)庫名 來打開數(shù)據(jù)庫,然后輸入.table來查看數(shù)據(jù)庫中有哪些表,可以看到有兩張表,其中android_metadata表是每個數(shù)據(jù)庫中都會自動生成的,而另一張Book表就是我們在android app中生成的。
- 輸入.exit或者.quit退出數(shù)據(jù)庫的編輯,再輸入exite就是退出設(shè)備控制臺。
二、升級數(shù)據(jù)庫
- 我們不能只能創(chuàng)建這一個表就結(jié)束了,我們還創(chuàng)建更多的表,所以還是要在MyDatabaseHelper.java中修改函數(shù)來實現(xiàn)升級數(shù)據(jù)庫的功能
import?android.content.Context;
import?android.database.sqlite.SQLiteDatabase;
import?android.database.sqlite.SQLiteDatabase.CursorFactory;
import?android.database.sqlite.SQLiteOpenHelper;
import?android.widget.Toast;
public?class?MyDatabaseHelper?extends?SQLiteOpenHelper{
?public?static?final?String?CREATE_BOOK?=?"create?table?Book?("?+?"id?integer?primary?key?autoincrement,"?+?"author?text,"?+?"price?real,"+?"pages?integer,"?+?"name?text)";
?
?public?static?final?String?CREATE_CATEGORY?=?"create?table?Category("?+?"id?integer?primary?key?autoincrement"?+?"category_name?text"?+?"category_code?integer";
?
?private?Context?mContext;
?
?public?MyDatabaseHelper(Context?context,String?name,CursorFactory?factory,int?version)?{
??super(context,name,factory,version);
??mContext?=?context;
?}
?
?@Override
?public?void?onCreate(SQLiteDatabase?db)?{
??db.execSQL(CREATE_BOOK);
??db.execSQL(CREATE_CATEGORY);
??Toast.makeText(mContext?,"Create?succeeded",Toast.LENGTH_LONG).show();
?}
?
?@Override
?public?void?onUpgrade(SQLiteDatabase?db,int?oldVersion?,int?newVersion)?{
??db.execSQL("drop?table?if?exists?Book");
??db.execSQL("drop?table?if?exists?Category");
??onCreate(db);
?}
}
- 相比上一個版本就是增加升級數(shù)據(jù)庫的SQL語句以及執(zhí)行“升級數(shù)據(jù)庫”的SQL語句。以及修改了升級函數(shù)。
- 這個升級函數(shù)可以講一下,如果發(fā)現(xiàn)已經(jīng)存在Book和Category表,就會先扔這兩個表,然后再執(zhí)行onCreate方法。然而如何讓這個函數(shù)執(zhí)行呢?我們就需要修改主活動程序MainActivity.java
- 這里只需要修改一行語句就可以,就是第四個參數(shù)改為2,代表著數(shù)據(jù)升版了,那么有人問,如果是第一次創(chuàng)建呢?這無所謂啊,第一次創(chuàng)建,drop語句不生效而已,仍然會繼續(xù)執(zhí)行onCreate()函數(shù)。
- 我們查看一下adb shell創(chuàng)建成功了沒有
三、添加數(shù)據(jù)
- 其實android是支持SQL語句,但是為了能夠加強交互性,android程序開發(fā)即使不用SQL語句也可以對數(shù)據(jù)庫進行“增刪改查”一系列操作的。
- getReadableDatabase()和·getWritableDatabase()`方法是可以創(chuàng)建和升級數(shù)據(jù)庫的,這兩個方法還會返回一個SQLiteDatabase對象。
- 具體如何進行我們下次連載再進行編寫。
四、源碼:
- DatabaseTest
- 地址:https://github.com/ruigege66/Android/tree/master/DatabaseTest
- CSDN:https://blog.csdn.net/weixin_44630050
- 博客園:https://www.cnblogs.com/ruigege0000/
- 歡迎關(guān)注微信公眾號:傅里葉變換,個人賬號,僅用于技術(shù)交流
總結(jié)
以上是生活随笔為你收集整理的android timer后函数继续执行_Android连载34更新数据库以及使用SDK自带adb工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: h5如何上传文件二进制流_HTML5新特
- 下一篇: 无法使用前导 .. 在顶级目录上退出