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

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

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

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Android Studio

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

Q&A

0回答

454閲覧

AndroidStudioにてRealmによるデータベースの構築

ShinichiSendoh

総合スコア6

Realm

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Android Studio

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

0グッド

0クリップ

投稿2017/10/16 10:34

###前提・実現したいこと
AndroidStudioでクイズのゲームを作ろうとしています。クイズの問題文、選択肢、答え、解説等をrealmを用いたデータベースで管理しようと思っています。

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

エラーメッセージは、特に表示されず、実行できるのですが、アプリを起動したとたん、以下のように表示され、アプリが動きません。 「アプリ名」が停止しました。

###該当のソースコード

import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import io.realm.Realm; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Realm realm = Realm.getInstance(this); realm.beginTransaction(); Problems problems = new Problems(); problems.setId(0); problems.setProblem("あさ、おともだちにあったら はじめに なんていうでしょう?"); problems.setChoice1("さようなら!"); problems.setChoice2("おはようございます。"); problems.setChoice3("なうなう だちかも。"); problems.setAnswer(2); problems.setExplanation("あさの ごあいさつは たいせつです。 おおきなこえで ごあいさつを しましょう。"); realm.commitTransaction(); } } /*別のjavaファイル*/ import io.realm.RealmObject; import io.realm.annotations.PrimaryKey; public class Problems extends RealmObject { @PrimaryKey private int id; private String problem; private String choice1; private String choice2; private String choice3; private int answer; private String explanation; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getProblem() { return problem; } public void setProblem(String problem) { this.problem = problem; } public String getChoice1() { return choice1; } public void setChoice1(String choice1) { this.choice1 = choice1; } public String getChoice2() { return choice2; } public void setChoice2(String choice2) { this.choice2 = choice2; } public String getChoice3() { return choice3; } public void setChoice3(String choice3) { this.choice3 = choice3; } public int getAnswer() { return answer; } public void setAnswer(int answer) { this.answer = answer; } public String getExplanation() { return explanation; } public void setExplanation(String explanation) { this.explanation = explanation; } }

###試したこと
課題に対してアプローチしたことを記載してください
Problems problems = realm.createObject(Problems.class);
「realm.beginTransaction();」のところまでは、実行してもアプリは動いたので、
「Problems problems = realm.createObject(Problems.class);」のところで問題が発生したのだと思います。
「Problems problems = new Problems();」に書き換えてもダメで、realmのために使っているファイル「realm-android-0.85.1jar」も他のプロジェクトで以前動作することを確認しています。

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

言語:java
開発環境:Windows10、AndroidStudio2.3.3

プログラムに詳しい方、よろしくお願いします。

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

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

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

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

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

yona

2017/10/16 10:52

ログキャットに何か出ているはずです。
hiramekun

2017/10/16 13:36

全く別件になりますが、現在のrealmの最新versionは3.7.2にです。0から始まるライブラリはまだ開発途中でバグが入っていることも多いので、一度こちら https://realm.io/docs/java/latest/ などから最新版のライブラリを使うことをまずはお勧め致します
ShinichiSendoh

2017/10/16 22:34

yonaさん、ありがとうございます。ログですが→ 「2017/10/17 7:30 Executing tasks: [:app:assembleDebug] 7:30 Gradle build finished in 3s 10ms」  と出ていました。
ShinichiSendoh

2017/10/16 23:04

hiramekunさん、ありがとうございます。教えていただいたページでダウンロードしたのですが、どのファイルを「app/libs」にコピーしたら良いのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問