🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

3224閲覧

Android StudioとRealmの連携ができない / Kotlin

s18010

総合スコア5

Realm

RealmとはSQLiteやCore Dataに代わるモバイルデータベースです。iOSとAndroidの両方でサポートされています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2019/12/14 05:46

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
Android Studio, Kotlin, Realmを使用しデータベースにデータを追加していきたいです。
データベースの設定のため、Applicationクラスを継承しMainApplication.ktを作成、AndroidManifest.xmlにMainApplicationを使用するよう記述したのですが、"Class "MainApplication" is never used" と表示され続けます。

発生している問題・エラーメッセージ

Runすると下記エラーが表示され、アプリは強制終了します。

エラーメッセージ java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ninthapplication/com.example.ninthapplication.MainActivity}: java.lang.IllegalStateException: recordList must not be null

該当のソースコード

MainApplication

1package com.example.ninthapplication 2 3import android.app.Application 4import io.realm.Realm 5 6class MainApplication : Application() { 7 override fun onCreate() { 8 super.onCreate() 9 Realm.init(this) 10 } 11}

AndroidManifest

1<?xml version="1.0" encoding="utf-8"?> 2<manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.ninthapplication"> 4 5 <application 6 android:name=".MainApplication" 7 android:allowBackup="true" 8 android:icon="@mipmap/ic_launcher" 9 android:label="@string/app_name" 10 android:roundIcon="@mipmap/ic_launcher_round" 11 android:supportsRtl="true" 12 android:theme="@style/AppTheme"> 13 <activity android:name=".RecordListActivity"></activity> 14 <activity android:name=".MainActivity"> 15 <intent-filter> 16 <action android:name="android.intent.action.MAIN" /> 17 18 <category android:name="android.intent.category.LAUNCHER" /> 19 </intent-filter> 20 </activity> 21 </application> 22 23</manifest>

試したこと

関係があるかわかりませんが、Clean, Rebuild ProjectやGradle FilesとのSyncし直しを試しましたが改善ないです。。
初めてのAndroidアプリ制作で、解決策が見つからず困っています。アドバイスいただければ幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

gradleは変更しましたか?
gradle(Project)とgradle(app)共に変更が必要です

plugin追加方法(バージョンはご自身で選んでください)
https://realm.io/docs/java/6.0.0/

kotlinの場合、app側に
apply plugin: 'kotlin-kapt'も必要です
バージョン5.1.0 と 5.8.0 で使ったときには追記しました

投稿2019/12/14 08:02

HRSKT

総合スコア168

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s18010

2019/12/14 08:17

回答ありがとうございます! gradleは両方とも下記のように変更しております。情報が不足していてすみません! 記述の仕方が間違えてる等ありましたらご指摘いただけると嬉しいです! gradle(Project) ``` buildscript { ext.kotlin_version = '1.3.61' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.5.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "io.realm:realm-gradle-plugin:5.8.0" } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } ``` gradle(app) ``` apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'realm-android' android { compileSdkVersion 29 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildToolsVersion "29.0.2" defaultConfig { applicationId "com.example.ninthapplication" minSdkVersion 15 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation 'io.realm:android-adapters:2.1.1' implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.core:core-ktx:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' } ```
s18010

2019/12/16 07:02

エラー解決し、データベースも使用することができました! 私が色々勘違いしていて、別のファイルの修正が必要だったみたいです。。 回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問