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

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

0回答

1000閲覧

RealmStudioのデータをandroidstudioに取り込みたい(kotlin)

退会済みユーザー

退会済みユーザー

総合スコア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/25 00:38

前提・実現したいこと

最近仕事でkotlinを使うようになりました。
まだkotlinを使い始めて3か月の初心者です。
この度kotlinでrealmを使ったシンプルなメモアプリを作りたいと思っております。
今のところは、データの追加・削除・読み込みまではなんとか出来ましたが、
予め、realmstuduioにデータを入力しておいて、そのデータをandroidstudioに登録できないかと色々調べてみたのですが、うまくいかない状態です。(アプリを起動すると落ちてしまう)
どなたかご教示お願い致します。

該当のソースコード

MainActivity

1package com.example.memo4 2 3import android.content.Context 4import android.content.Intent 5import androidx.appcompat.app.AppCompatActivity 6import android.os.Bundle 7import android.view.View 8import android.widget.Button 9import android.widget.EditText 10import android.widget.TextView 11import android.widget.Toast 12import androidx.appcompat.app.AlertDialog 13import io.realm.Realm 14import io.realm.RealmResults 15import io.realm.exceptions.RealmException 16import io.realm.kotlin.where 17 18class MainActivity : AppCompatActivity() { 19 override fun onCreate(savedInstanceState: Bundle?) { 20 super.onCreate(savedInstanceState) 21 setContentView(R.layout.activity_main) 22 23 val et_gender : EditText = findViewById(R.id.et_gender) 24 val et_name : EditText = findViewById(R.id.et_name) 25 val et_age : EditText = findViewById(R.id.et_age) 26 val et_height : EditText = findViewById(R.id.et_height) 27 val et_weight : EditText = findViewById(R.id.et_weight) 28 val et_bodyfat : EditText = findViewById(R.id.et_bodyfat) 29 val et_favoritefood : EditText = findViewById(R.id.et_favoritefood) 30 val et_hatedfood : EditText = findViewById(R.id.et_hatedfood) 31 val et_favoritedrink : EditText = findViewById(R.id.et_favoritedrink) 32 val et_hateddrink : EditText = findViewById(R.id.et_hateddrink) 33 34 val bt_add : Button = findViewById(R.id.bt_add) 35 val bt_delete : Button = findViewById(R.id.bt_delete) 36 val bt_result : Button = findViewById(R.id.bt_result) 37 val bt_search_intent : Button = findViewById(R.id.bt_search_intent) 38 39 val tv_gender : TextView = findViewById(R.id.tv_gender) 40 val tv_name : TextView = findViewById(R.id.tv_name) 41 val tv_age : TextView = findViewById(R.id.tv_age) 42 val tv_height : TextView = findViewById(R.id.tv_height) 43 val tv_weight : TextView = findViewById(R.id.tv_weight) 44 val tv_bodyfat : TextView = findViewById(R.id.tv_bodyfat) 45 val tv_favoritefood : TextView = findViewById(R.id.tv_favoritefood) 46 val tv_hatedfood : TextView = findViewById(R.id.tv_hatedfood) 47 val tv_favoritedrink : TextView = findViewById(R.id.tv_favoritedrink) 48 val tv_hateddrink : TextView = findViewById(R.id.tv_hateddrink) 49 50 bt_search_intent.setOnClickListener { 51 val intent = Intent(this,Search::class.java) 52 startActivity(intent) 53 } 54 55 56 lateinit var realm : Realm 57 58 realm = Realm.getDefaultInstance() 59 60 et_gender.setOnClickListener(object : View.OnClickListener{ 61 override fun onClick(v: View?) { 62 AlertDialog.Builder(this@MainActivity) 63 .setTitle("あなたの性別は?") 64 .setMessage("選択してください") 65 .setPositiveButton("男",{dialog,which -> 66 et_gender.setText("男") 67 }) 68 .setNegativeButton("女",{dialog,which -> 69 et_gender.setText("女") 70 }) 71 .show() 72 } 73 }) 74 75 bt_add.setOnClickListener { 76 if (et_gender.text.toString().isEmpty() && 77 et_name.text.toString().isEmpty()&& 78 et_age.text.toString().isEmpty()&& 79 et_height.text.toString().isEmpty()&& 80 et_weight.text.toString().isEmpty()&& 81 et_bodyfat.text.toString().isEmpty()&& 82 et_favoritefood.text.toString().isEmpty()&& 83 et_hatedfood.text.toString().isEmpty()&& 84 et_favoritefood.text.toString().isEmpty()&& 85 et_favoritedrink.text.toString().isEmpty()&& 86 et_hateddrink.text.toString().isEmpty()){ 87 return@setOnClickListener 88 } 89 90 realm.beginTransaction() 91 try { 92 val user = realm.createObject(user::class.java) 93 user.setGender(et_gender.text.toString()) 94 user.setName(et_name.text.toString()) 95 user.setAge(et_age.text.toString()) 96 user.setHeight(et_height.text.toString()) 97 user.setWeight(et_weight.text.toString()) 98 user.setBodyfat(et_bodyfat.text.toString()) 99 user.setFavoritefood(et_favoritefood.text.toString()) 100 user.setHatedfood(et_hatedfood.text.toString()) 101 user.setFavoritedrink(et_favoritedrink.text.toString()) 102 user.setHateddrink(et_hateddrink.text.toString()) 103 104 tv_gender.text = user.getGender() 105 tv_name.text = user.getName() 106 tv_age.text = user.getAge() 107 tv_height.text = user.getHeight() 108 tv_weight.text = user.getWeight() 109 tv_bodyfat.text = user.getBodyfat() 110 tv_favoritefood.text = user.getFavoritefood() 111 tv_hatedfood.text = user.getHatedfood() 112 tv_favoritedrink.text = user.getFavoritedrink() 113 tv_hateddrink.text = user.getHateddrink() 114 115 et_gender.text.clear() 116 et_name.text.clear() 117 et_age.text.clear() 118 et_height.text.clear() 119 et_weight.text.clear() 120 et_bodyfat.text.clear() 121 et_favoritefood.text.clear() 122 et_hatedfood.text.clear() 123 et_favoritedrink.text.clear() 124 et_hateddrink.text.clear() 125 126 realm.commitTransaction() 127 }catch (e:RealmException){} 128 129 Toast.makeText(applicationContext,"登録しました",Toast.LENGTH_SHORT).show() 130 } 131 132 val sharedPreferences_name = getSharedPreferences("name",Context.MODE_PRIVATE) 133 val sharedPreferences_age = getSharedPreferences("age",Context.MODE_PRIVATE) 134 135 Realm.getDefaultInstance() 136 bt_result.setOnClickListener { 137 val name_data = sharedPreferences_name.getString("name","") 138 val age_data = sharedPreferences_age.getString("age","") 139 140 val man = realm.where<user>().equalTo("age",age_data) 141 .equalTo("name",name_data) 142 .findFirst() 143 144 val tv_man : TextView = findViewById(R.id.man) 145 tv_man.setText(man.toString()) 146 } 147 148 Realm.getDefaultInstance() 149 bt_delete.setOnClickListener { 150 AlertDialog.Builder(this) 151 .setTitle("登録情報の削除") 152 .setMessage("登録情報を削除しますか?") 153 .setPositiveButton("削除" , { dialog , which -> 154 realm.beginTransaction() 155 val delete = realm.where<user>().findAll() 156 delete.deleteAllFromRealm() 157 realm.commitTransaction() 158 Toast.makeText(applicationContext,"削除しました",Toast.LENGTH_SHORT).show() 159 }) 160 .setNegativeButton("キャンセル" , { dialog , which -> 161 Toast.makeText(applicationContext,"キャンセルしました",Toast.LENGTH_SHORT).show() 162 }).show() 163 } 164 } 165}

user

1package com.example.memo4 2 3import io.realm.RealmObject 4import io.realm.annotations.RealmClass 5 6@RealmClass 7open class user : RealmObject(){ 8 private var id : Int = 0 9 private var gender : String = "" 10 private var name : String = "" 11 private var age : String = "" 12 private var height : String = "" 13 private var weight : String = "" 14 private var bodyfat : String = "" 15 private var favoritefood : String = "" 16 private var hatedfood : String = "" 17 private var favoritedrink : String = "" 18 private var hateddrink : String = "" 19 20 fun setID(id:Int){ 21 this.id 22 } 23 24 fun getID():Int{ 25 return id 26 } 27 //性別 28 fun setGender(gender:String){ 29 this.gender = gender 30 } 31 32 fun getGender():String{ 33 return gender 34 } 35 //名前 36 fun setName(name:String){ 37 this.name = name 38 } 39 40 fun getName():String{ 41 return name 42 } 43 //年齢 44 fun setAge(age:String){ 45 this.age = age 46 } 47 48 fun getAge():String{ 49 return age 50 } 51 52}

MyApplication

1package com.example.memo4 2 3import android.app.Application 4import io.realm.Realm 5import io.realm.RealmConfiguration 6 7class MyApplication : Application(){ 8 9 override fun onCreate() { 10 super.onCreate() 11 12 Realm.init(this) 13 val config = RealmConfiguration.Builder().assetFile("myrealm.realm").build() 14 Realm.setDefaultConfiguration(config) 15 } 16}

試したこと

Realm初期化の下に下記のコードを追加するとアプリが落ちてしまいます。
下記のコードを消すと動作は出来ます。
val config = RealmConfiguration.Builder().assetFile("myrealm.realm").build()
Realm.setDefaultConfiguration(config)

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

Android Studio Arctic Fox | 2020.3.1 Patch 1

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/11/11 00:19

返信遅くなりまして申し訳ありません。 無事うまく出来ました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問