原先的entity可以直接修改,例如原來的為:
packagecom.example.roombasic;
import
androidx.room.columninfo;
import
androidx.room.entity;
import
androidx.room.primarykey;
@entity
public
class
word
public
intgetid()
public
void setid(int
id)
public
string getword()
public
void
setword(string word)
public
string getchinesemean()
public
void
setchinesemean(string chinesemean)
}
可以直接修改為:
packagecom.example.roombasic;
import
androidx.room.columninfo;
import
androidx.room.entity;
import
androidx.room.primarykey;
@entity
public
class
word
public
void setok(boolean
ok)
public
word(string word, string chinesemean)
public
intgetid()
public
void setid(int
id)
public
string getword()
public
void
setword(string word)
public
string getchinesemean()
public
void
setchinesemean(string chinesemean)
}
新新增的屬性記得新增get和set函式。
不保留原有資料的修改,可以直接將資料庫類的版本修改為原版本+1,然後構建資料庫類的時候新增乙個.fallbacktodestructivemigration()。
packagecom.example.roombasic;
import
android.content.context;
import
androidx.room.database;
import
androidx.room.room;
import
androidx.room.roomdatabase;
@database(entities = ,version = 2,exportschema = false
)public
abstract
class worddatabase extends
roomdatabase
return
instance;
}
public
abstract
worddao getworddao();
}
此時需要使用另乙個方法.addmigrations(),並新增自定義的遷移方式,如:
packagecom.example.roombasic;
import
android.content.context;
import
androidx.annotation.nonnull;
import
androidx.room.database;
import
androidx.room.room;
import
androidx.room.roomdatabase;
import
androidx.room.migration.migration;
import
androidx.sqlite.db.supportsqlitedatabase;
@database(entities = ,version = 2,exportschema = false
)public
abstract
class worddatabase extends
roomdatabase
return
instance;
}
public
abstract
worddao getworddao();
private
static
final migration migration_1_2 = new migration(1,2)
};}
安卓學習 spinner控制項
安卓提供了一種下拉列表式的控制項 spinner,實現這個控制項主要就是配置arrayadapter這個介面卡,下面就記錄配置該介面卡的兩種方法。一.通過createfromresource方法建立乙個arrayadapter物件 1.首先在布局檔案中定義乙個spinner控制項 2.建立乙個arr...
安卓學習問題彙總
1.textview.settext string text text必須為string,如果傳入int,不會報編譯錯誤,但是會報執行時異常。2.獲取乙個view的幾種方法 a 傳入int context.findviewbyid int b 傳入string 通過反射獲取 c 給view設定tag...
安卓學習筆記二
1 安卓intent啟動系統activity 1 啟動瀏覽器 intent intent new intent intent.setaction intent.action view uri url uri.parse intent.setdata url startactivity intent ...