问题描述
我想通过翻新将Room Database中保存的数据发送到Body中。我将数据保存在“房间”中的列表中,并将通过翻新网络库将其发送到正文中。下面是相同的代码。
房间桌子类
@Entity(tableName = "cash")
public class Cash implements Serializable {
@PrimaryKey(autoGenerate = true)
private int id;
@SerializedName("UserID")
@ColumnInfo(name = "UserID")
private String UserID;
@SerializedName("FareAmount")
@ColumnInfo(name = "FareAmount")
private String FareAmount;
@SerializedName("TransactionId")
@ColumnInfo(name = "TransactionId")
private String TransactionId;
public String getTransactionId() {
return TransactionId;
}
public void setTransactionId(String transactionId) {
TransactionId = transactionId;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserID() {
return UserID;
}
public void setUserID(String userID) {
UserID = userID;
}
public String getFareAmount() {
return FareAmount;
}
public void setFareAmount(String fareAmount) {
FareAmount = fareAmount;
}
Dao界面
@Dao
public interface CashDao {
@Query("Select * from cash ORDER BY id ASC")
List<Cash> getCashList();
@Insert
void insertCash(Cash cash);
@Update
void updateCash(Cash cash);
@Delete
void deleteCash(Cash cash);
@Query("DELETE FROM cash")
void deleteAll();
}
TransactionDatabase类
@Database(entities = {Cash.class},exportSchema = false,version = 3)
public abstract class TransactionDatabase extends RoomDatabase {
private static final String DB_NAME = "transaction_db";
private static TransactionDatabase instance;
public static synchronized TransactionDatabase getInstance(Context context){
if (instance == null){
instance =
Room.databaseBuilder(context.getApplicationContext(),TransactionDatabase.class,DB_NAME)
.fallbackToDestructiveMigration()
.allowMainThreadQueries()
.build();
}
return instance;
}
public abstract CashDao cashDao();
}
MainActivity
btn_save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
cash = new Cash(str_userId,str_fareAmount,str_transactionId);
appDB.cashDao().insertCash(cash);
}
});
btn_upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
List<Cash> cashlist = appDB.cashDao().getCashList();
if(cashlist.size() == 0){
Toast.makeText(MainActivity.this,"Data is already uploaded!",Toast.LENGTH_SHORT).show();
} else {
// upload data code here
}
appDB.cashDao().deleteAll();
}
});
public interface AppServiceAPI{
@POST("/Api/OfflineCashTransaction")
Call<ServiceOfflineAPI> cashtxn(@Body Cash cash);
}
我想在主体json中发送数据,并通过Retrofit将类型如下所示为POST。
[{
"UserId":"Test","FareAmount":"65","TransactionId":202008281139
},{
"UserId":"Test","FareAmount":"95","TransactionId":202008281140
},"FareAmount":"195","TransactionId":202008281156
}]
响应如下:
{
"Status": true,"Error": "","Message": "3 : Transaction successfully Saved!!.","Data": ""
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)