Realmでflagカラムを追加を行ったのですが、下記のエラーが出てしまいます。
deleteIfMigrationNeeded()というメソッドで一度realmを削除してくれる事がわかったのですが、どこに記載すればいいのかわかりません。どなたか教えていただきたいです。
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.myscheduler, PID: 32178 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myscheduler/com.example.myscheduler.MainActivity}: io.realm.exceptions.RealmMigrationNeededException: Migration is required due to the following errors: - Property 'Schedule.flag' has been added.
import io.realm.RealmObject import io.realm.annotations.PrimaryKey import java.util.* open class Schedule : RealmObject() { @PrimaryKey var id: Long = 0 var date: Date = Date() var title: String = "" var detail: String = "" var flag: Long = 0 }
kotlin
1//////////RecyclerViewにレイアウトマネージャーとアダプタを設定する///////////// 2class MainActivity : AppCompatActivity() { 3 private lateinit var realm: Realm //Realmクラスのプロパティを用意 4 5 override fun onCreate(savedInstanceState: Bundle?) { 6 super.onCreate(savedInstanceState) 7 setContentView(R.layout.activity_main) 8 setSupportActionBar(toolbar) 9 realm = Realm.getDefaultInstance() //Realmクラスのインスタンスを取得 10 list.layoutManager = LinearLayoutManager(this) 11 val schedules = realm.where<Schedule>().sort("date",Sort.DESCENDING).findAll() //findAllで全てのスケジュールを取得。変数に格納 12 val adapter = ScheduleAdapter(schedules) 13 list.adapter = adapter 14 15 fab.setOnClickListener { view -> 16 val intent = Intent(this, ScheduleEditActivity::class.java) 17 startActivity(intent) 18 } 19 adapter.setOnItemClickListener { id -> 20 val intent = Intent(this, ScheduleEditActivity::class.java) 21 .putExtra("schedule_id", id) 22 startActivity(intent) 23 } 24 } 25 26 override fun onDestroy() { 27 super.onDestroy() 28 realm.close() 29 } 30} 31
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。