質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.46%
Realm

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Android Studio

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

Kotlin

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

Q&A

1回答

1314閲覧

kotlinでrealmを実装しようとするとアプリが落ちる

退会済みユーザー

退会済みユーザー

総合スコア0

Realm

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Android Studio

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

Kotlin

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

0グッド

0クリップ

投稿2021/10/20 00:46

前提・実現したいこと

最近仕事で、realmを実装することになったのですが、以下のコードだとアプリが落ちてしまいます。まだkotlin初心者で(プログラミング自体初心者です。。)色々調べてはいるのですが、中々解決には至りません。どうかご教授お願い致します。
簡単なメモアプリを製作しようと思っております。

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

エラーは発生していません

該当のソースコード

MainActivity

1 2package com.example.memo 3 4import android.os.Bundle 5import android.widget.Button 6import android.widget.EditText 7import androidx.appcompat.app.AppCompatActivity 8import androidx.recyclerview.widget.RecyclerView 9import io.realm.Realm 10import io.realm.RealmConfiguration 11 12class MainActivity : AppCompatActivity() { 13 14 private lateinit var adapter: MemoListAdapter 15 16 override fun onCreate(savedInstanceState: Bundle?) { 17 super.onCreate(savedInstanceState) 18 setContentView(R.layout.activity_main) 19 20 adapter = MemoListAdapter() 21 val recyclerView = findViewById<RecyclerView>(R.id.memo_List) 22 recyclerView.adapter = adapter 23 24 val editText = findViewById<EditText>(R.id.memo_edit_text) 25 val addButton = findViewById<Button>(R.id.add_button) 26 27 28 29 addButton.setOnClickListener { 30 val text = editText.text.toString() 31 if (text.isEmpty()){ 32 return@setOnClickListener 33 } 34 val realm = Realm.getDefaultInstance() 35 36 realm.executeTransaction { 37 val memo = it.createObject(Memo::class.java) 38 39 memo.name = editText.text.toString() 40 41 it.copyFromRealm(memo) 42 } 43 44 editText.text.clear() 45 } 46 } 47}

Memo

1package com.example.memo 2 3import io.realm.RealmObject 4import io.realm.annotations.PrimaryKey 5import io.realm.annotations.Required 6 7open class Memo : RealmObject(){ 8 @PrimaryKey 9 open var id : Int? = null 10 @Required 11 open var name = "" 12}

MemoListAdapter

1package com.example.memo 2 3import android.view.LayoutInflater 4import android.view.View 5import android.view.ViewGroup 6import android.widget.TextView 7import androidx.recyclerview.widget.RecyclerView 8 9class MemoListAdapter : RecyclerView.Adapter<MemoListAdapter.MemoViewHolder>(){ 10 val memoList = mutableListOf<String>() 11 12 override fun onCreateViewHolder( 13 parent: ViewGroup, 14 viewType: Int 15 ): MemoListAdapter.MemoViewHolder { 16 val view = LayoutInflater.from(parent.context).inflate(R.layout.item_memo,parent,false) 17 return MemoViewHolder(view) 18 } 19 20 override fun onBindViewHolder(holder: MemoViewHolder, position: Int) { 21 val textView = holder.itemView.findViewById<TextView>(R.id.memo_text_view) 22 textView.text = memoList[position] 23 } 24 25 override fun getItemCount(): Int = memoList.size 26 27 class MemoViewHolder(view: View): RecyclerView.ViewHolder(view) 28 29}

memoApplication

1package com.example.memo 2 3import android.app.Application 4import io.realm.Realm 5import io.realm.RealmConfiguration 6 7class memoApplication : Application(){ 8 override fun onCreate() { 9 super.onCreate() 10 Realm.init(this) 11 val realm = Realm.getDefaultInstance() 12 13 val realmConfig = RealmConfiguration.Builder() 14 .deleteRealmIfMigrationNeeded() 15 .build() 16 Realm.setDefaultConfiguration(realmConfig) 17 } 18}

試したこと

val realm = Realm.getDefaultInstance()
↑を削除すると起動が出来ます。
おそらく上記のコードがおかしいのかなとは考えているのですが、解決方法が分かりません。。

補足情報(FW/ツールのバージョンなど)

Android Studio Arctic | 2020.3.1 Patch 1

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

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

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

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

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

guest

回答1

0

エラーは発生していません

とありますが、Logcat の存在は、ご存知ですか?

まず、Logcat を調べて確認して見て下さい。

投稿2021/10/20 13:19

kamikaze.cappa

総合スコア558

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問