前提
kotlinで書籍を見ながらRealmの勉強中。
ただ、書籍のコード自体が古くてそのまま書いてもエラーになるし
ネットで調べても、みなさん書き方がまちまちなので、修正しまくっているうちに
今自分は、何がとりあえず正解なのかどうかさえ、わからなくなった。
実現したいこと
Realmのgradleの追記はそもそもこれで正しいのかどうかの検証をお願いしたい。
発生している問題・エラーメッセージ
メモ帳アプリのようなものを作って、「保存ボタン」を押した時に エミュレータがクラッシュして閉じてしまう。 いくつかエラーは考えられるので順次対応しなければいけないが、 そもそもの第一歩として、Realmの記述の正解がわからないので ※とにかくどの解説サイトもちょっとずつみなさん違う(人、時期によって)。これがとにかく初学者には混乱する
該当のソースコード
build.gradle(プロジェクト)
1// Top-level build file where you can add configuration options common to all sub-projects/modules. 2buildscript { 3 dependencies { 4 classpath "io.realm:realm-gradle-plugin:10.8.0" 5 } 6} 7 8plugins { 9 id 'com.android.application' version '7.2.0' apply false 10 id 'com.android.library' version '7.2.0' apply false 11 id 'org.jetbrains.kotlin.android' version '1.6.21' apply false 12} 13 14task clean(type: Delete) { 15 delete rootProject.buildDir 16}
build.gradle(app)
1plugins { 2 id 'com.android.application' 3 id 'org.jetbrains.kotlin.android' 4 id 'kotlin-kapt' 5 id 'realm-android' 6} 7 8android { 9 compileSdk 32 10 11 defaultConfig { 12 applicationId "com.example.samplerealm" 13 minSdk 21 14 targetSdk 32 15 versionCode 1 16 versionName "1.0" 17 18 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 19 } 20 21 buildTypes { 22 release { 23 minifyEnabled false 24 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 25 } 26 } 27 compileOptions { 28 sourceCompatibility JavaVersion.VERSION_1_8 29 targetCompatibility JavaVersion.VERSION_1_8 30 } 31 kotlinOptions { 32 jvmTarget = '1.8' 33 } 34 buildFeatures { 35 viewBinding true 36 } 37} 38 39dependencies { 40 41 implementation 'androidx.recyclerview:recyclerview:1.2.1' 42 implementation 'androidx.core:core-ktx:1.7.0' 43 implementation 'androidx.appcompat:appcompat:1.4.1' 44 implementation 'com.google.android.material:material:1.6.0' 45 implementation 'androidx.constraintlayout:constraintlayout:2.1.3' 46 implementation 'androidx.navigation:navigation-fragment-ktx:2.4.2' 47 implementation 'androidx.navigation:navigation-ui-ktx:2.4.2' 48 testImplementation 'junit:junit:4.13.2' 49 androidTestImplementation 'androidx.test.ext:junit:1.1.3' 50 androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 51}
試したこと・その他
解説サイトによっては、上記2つじゃなくって
「settings.gradle」に記述しなさい、という解説もありました。
比較的日付の新しい記事だったので「最近はそうしなさい」という意味なのか、
「たまたま新しく出てきた人が、そういうトリッキーな書き方をしただけ」なのか、も判断できませんで
ここにたどり着いた次第です。
とにもかくにも、上記で正しいのか、間違っているのか。Realmの正解を教えてください。
補足情報(FW/ツールのバージョンなど)
AndroidStudio Chipmunk | 2021.2.1
あなたの回答
tips
プレビュー