我想嘗試在帶有 Java(而不是 Kotlin)的 android studio 中使用 Room Library 制作一個表格來容納 2 列。
這里的問題是我的資料是這樣的:
| 年 | 嫁妝 |
|---|---|
| 1317 | 0.004 |
| 1318 | 0.004 |
| 1319 | 0.004 |
| 1320 | 0.008 |
| 1400 | 0.255 |
因此,為此,我創建了一個名為 Data 的類,我對它的評價如下:
@Entity(tableName = "tbl_data")
public class Data {
@PrimaryKey(autoGenerate = true)
private long id;
private int year;
private int dowry;
public Data(int year, int dowry) {
this.year = year;
this.dowry = dowry;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getDowry() {
return dowry;
}
public void setDowry(int dowry) {
this.dowry = dowry;
}
}
然后我做了一個這樣的資料庫:
@Database(version = 1 , exportSchema = false , entities = {Data.class} )
public abstract class AppDatabase extends RoomDatabase {
private static AppDatabase appDatabase;
public static AppDatabase getAppDatabase(Context context) {
appDatabase= Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class,
"db_app")
.allowMainThreadQueries()
.build();
return appDatabase;
}
public abstract DataDao getDataDao();
}
如何將資料添加到我的 data.class AKA "tbl_data" 中?
uj5u.com熱心網友回復:
在用@Dao 注釋的 DataDao 介面(或抽象類)中,您可以擁有。
@Insert
long insert(Data data);
然后您可以插入單獨的行,例如
db = AppDatabase.getAppDatabase(this);
dao = db.getDataDao();
dao.insert(new Data(1317,0004));
dao.insert(new Data(1318,0004));
dao.insert(new Data(1319,0004));
結果是(第一次運行時):-

- 使用 Android Studio 的
至于處理字串{1317 | 0.004, 1318 | 0.004, 1319 | 0.004, 1320 | 0.008, ... 1400 | 0.255 }用于輸入。
然后(假設...是等等)并因此洗掉,那么您需要:-
- 去掉前導和尾隨大括號。
- 將剩余的字串拆分為每個陣列
, - 對于在 | 處拆分的每個陣列 洗掉空格然后
- 從兩部分創建一個資料物件
- 結果應該是一個可以插入的資料陣列。
舉個例子 :-
首先是,另一個 dao 已添加到使用 ArrayList 的批量插入中,如下所示:-
@Insert long[] insert(ArrayList<Data> dataArrayList);The the following code was added :-
String datain = "{1317 | 0.004, 1318 | 0.004, 1319 | 0.004, 1320 | 0.008,1400 | 0.255 }"; ArrayList<Data> newDatas = new ArrayList<>(); String x = datain.substring(1,datain.length() - 1); String[] split1 = x.split(","); for (String s: split1) { s = s.replace(" | ","~"); String[] parts = s.split("~"); if (parts.length == 2) { try { newDatas.add(new Data(Integer.parseInt(parts[0].trim()), Double.parseDouble(parts[1].trim()))); } catch (Exception e) { } } } dao.insert(newDatas);With the database now including :-

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/346469.html標籤:爪哇 安卓 mysql android-room
