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

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

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

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

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

Q&A

1回答

820閲覧

【Android】家計簿アプリのデータ表示に関する質問(Realm)

ho2ri2s

総合スコア12

Realm

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

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

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

0グッド

0クリップ

投稿2019/06/03 05:29

前提・実現したいこと

前提としてJavaにて家計簿アプリを作っています。
Realmで保存したデータを取り出す際の実装に関してアドバイスを頂ければと思います。

やっていることの概要を簡単に示します。

①下図のように項目、値段、項目の種別...etcを入力・選択させてその結果をRealmにて保存します。
その際、項目の種別の画像そのものは保存せず、ImageViewに予め設定したTagを項目の種別として保存しています。
画像を表示させたい場合には、

java

1choseImageResource = getResources().getIdentifier("ic_" + realmObject.getType(), "drawable", getPackageName()); 2

みたいな形でTagを利用して画像を表示させています。

例)
種別:食費
Tag:eat

イメージ説明

②下図のように円グラフに種別を表示したいのですが、そのままRealmObjectを継承したモデルから種別を持ってくるだけだとeatとなってしまいます。
__これを「食費」に変えたいのですが、何か良い案あれば教えていただきたいです。
__

イメージ説明

ソースコードは今回は割愛させていただきます。

検討していること

①RealmObjectを継承したモデルに、
「eat」と
「食費」を入れるフィールドを用意する

②表示する際にTagを読み込みifで分岐させる

上記2つとも実装として綺麗なのか自分ではわからないのでアドバイスいただければと思います。

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

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

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

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

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

guest

回答1

0

自分なら Hashmap を使用します。

java

1 Map<String, String> map = new HashMap<String, String>() { 2 { 3 put("eat", "食費"); 4 put("transportation", "交通費"); 5 } 6 }; 7

投稿2019/06/03 08:42

kamikaze.cappa

総合スコア558

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

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

ho2ri2s

2019/06/03 09:15

RealmObjectではHashMapは対応していないみたいです。 プリミティブ型+αしか宣言できなかった気がします...
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問