前提・実現したいこと
Entityのインスタンスを作り、それをデータベースに保存する際に以下のようなエラーが発生しました。
どのようにすればエラーを解消できますでしょうか?
コメントアウトしているLogの出力もエラーで行えなかったため、
インスタンスの生成がうまく行っていないのかと考えております。
Roomデータベースは初めて使うため、その他理解の間違っている点などありましたらご教授頂けますと幸いです。
発生している問題・エラーメッセージ
Attempt to invoke virtual method 'void com.example.app.viewmodel.ViewModel.insert(com.example.app.model.Data)' on a null object reference
実行したメソッド(LocationService.java内)
java
1private void writeToDatabase(double latitude, double longitude, double accuracy, String created_at) { 2 3 Data data = new Data(latitude, longitude, accuracy, created_at); 4 //Log.e("test", Data.getCreated_at()); 5 viewModel.insert(data); 6}
Entity.java
java
1@Entity(tableName = "data_table") 2public class Data { 3 @PrimaryKey(autoGenerate = true) 4 public int _id; 5 6 @ColumnInfo(name = "latitude") 7 @NonNull 8 public double latitude; 9 10 @ColumnInfo(name = "longitude") 11 @NonNull 12 public double longitude; 13 14 @ColumnInfo(name = "accuracy") 15 @NonNull 16 public double accuracy; 17 18 @ColumnInfo(name = "created_at") 19 @NonNull 20 public String created_at; 21 22 23 public Local_LocationData(double latitude, double longitude, double accuracy, String created_at) { 24 } 25 26 public void set_id(int _id) { 27 this._id = _id; 28 } 29 30 public void setLatitude(double latitude) { 31 this.latitude = latitude; 32 } 33 34 public void setLongitude(double longitude) { 35 this.longitude = longitude; 36 } 37 38 public void setAccuracy(double accuracy) { 39 this.accuracy = accuracy; 40 } 41 42 public void setCreated_at(String created_at) { 43 this.created_at = created_at; 44 } 45 46 @NonNull 47 public int getId() { 48 return _id; 49 } 50 51 @NonNull 52 public double getLatitude() { 53 return latitude; 54 } 55 56 @NonNull 57 public double getLongitude() { 58 return longitude; 59 } 60 61 @NonNull 62 public double getAccuracy() { 63 return accuracy; 64 } 65 66 @NonNull 67 public String getCreated_at() { 68 return created_at; 69 } 70}
補足情報(FW/ツールのバージョンなど)
情報が不十分の場合はコメント頂ければ対応致します。
回答1件
あなたの回答
tips
プレビュー