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

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

ただいまの
回答率

90.62%

  • Android Studio

    3625questions

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

  • データベース

    686questions

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

  • Realm

    195questions

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

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

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 262

前提・実現したいこと

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

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

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • yona

    2017/10/16 19:52

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

    キャンセル

  • hiramekun

    2017/10/16 22:36

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

    キャンセル

  • ShinichiSendoh

    2017/10/17 07:34

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

    キャンセル

  • ShinichiSendoh

    2017/10/17 08:04

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

    キャンセル

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

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

  • ただいまの回答率 90.62%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Swift2 RealmオブジェクトをJSON形式に変換する方法

    Swift2でRealmデータベースを使っています。 PHPとのデータのやり取りをJSON形式で行いたいと思っています。 PHP -> Swiftは特に問題なく行えました。

  • 解決済

    RLMArray に Object をappendしたい

    PersonクラスとしてRealmオブジェクトとして以下のようなものを定義していて、APIサーバーからPersonにデータをmappingさせて利用しています。 class

  • 解決済

    Realmを使ってリストビューを表示することができない

    前提・実現したいこと 初めての質問です。Java、android開発歴は2か月程の初級者ですがよろしくお願いします。 囲碁の問題を出題するアプリを作っているのですが、問題リ

  • 解決済

    androidstudio 色検出

    androidstudioで色検出をしようとしています。このサイトのコードをほぼほぼコピペしたのですが FdActivity.javaでonCreateOptionsMenuの中の

  • 解決済

    swift realm xcode

    現在、UserDefaultsを使ってテキストに入力した文字をラベルに反映させ、保存するという単純なものを作りましたが。これをRealmを使って同じようにさせたいのですが、本日使い

  • 解決済

    AndroidStudioでスキャナとBluetoothで接続

    前提・実現したいこと AndroidStudioで、BlueToothで接続したバーコードを読み取るスキャナから、読み取ったデータを受け取るアプリを作りたいのですが、接続がうまくい

  • 解決済

    androidstudioでカメラ画像を取得できない

    前提・実現したいこと androidでカメラからの画像を取得してtess-twoで文字認識したいと思っています。 発生している問題・エラーメッセージ tess-twoの導入はう

  • 解決済

    JavaとRealmについて。

     前提・実現したいこと クラスが大量にあり、それぞれに番号が与えられています。 ある番号を与えられた時、その番号のクラスのインスタンスを生成するというコードが書きたいです。if文や

同じタグがついた質問を見る

  • Android Studio

    3625questions

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

  • データベース

    686questions

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

  • Realm

    195questions

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