Android アプリ 作り方で迷ってしまったことはないですか?
Q | 単語帳のandroidアプリの作り方について教えてください。開発環境はEclipseです。全くの初心者でいろいろな本を参考になんとかトップ画面、次の画面へ移行(intent)し問題画面表示までは作りました。教えて欲しいことは以下のことです・問題ソースの記述場所(JAVAクラスかxmlか)・ボタンを押すことで次の問題への遷移(ソースの順番、ランダム)・前の問題へ戻る{"ジャンル","問題","解答"}の3つの要素から全問→順番通りorランダムジャンル別→順番通りorランダムというように作りたいと思っています。JAVAの知識は「わかりやすいJAVA入門編」は最後までやった程度です。初心者ですので出来るだけ詳しく教えていただけると幸いです。よろしくお願いします。 |
A | 1. 問題ソースの記述場所(JAVAクラスかxmlか)まず、前提として、問題ソースやデータをソースコードに直書きするのはハードコーディングと言われてあまり良くない方法とされます。理由は、データを変えるためだけにプログラムをリコンパイルしなくてはならないからです。ガラケー時代の携帯電話ではリソースの問題からハードコードせざるを得ませんでしたが、Androidで開発しているのであれば、一昔前のPCと性能は変わりませんから、問題ソースやデータはxml(またはcsv)などのファイルとして実装すべきだと思います。あとから問題数を増やしたくなったときでも、xmlを継ぎ足せばいいだけですので簡単になります。2. ボタンを押すことで次の問題への遷移(ソースの順番、ランダム)このくらいならサンプルを作った方が早いかもしれませんが、1問につきIntentを使って画面遷移させる方法は良くないと思います。理由は、Intentを使って画面遷移した場合、前の画面に被さる形で画面遷移が発生しますので、メモリリソースを消費すること、ハードキーの戻るボタンで延々と戻らないと最初の画面には戻れなくなること、の2点です。ですので、問題画面自体を問題を表示するエリア、回答を選択するエリアに分割して(LinearLayoutなどで十分かと思いますが、凝るならそこはご自由にレイアウトしてください)、その中に配置したEditTextなどの内容を変更する形で実装するのが良いと思います。ソースの順番、ランダム化という点については、1で回答した用にxmlファイルに問題とその選択肢、正解の選択肢の番号を記述した塊を一単位として、起動時にメモリ上のデータクラスに読み込みます。たとえば、class Question { private String word; // 単語 private String candList[4]; // 選択肢の配列。ここでは4個で固定。 private int answerIndex; // 正解のインデックス(0から3まで)}のようなデータクラスを用意して、これを問題の単位で配列に格納します。その上で、問題を出すときに配列の上限をマックスとしたindexをランダムに選んでEditTextにセットすれば良いです。たとえば、問題数が100問あるのであれば、java.util.Random rand = new java.util.Random();int index = Math.abs(rand.nextInt()) % 100;とかけば、0以上99以下のランダムな問題のインデックスを求められます。一度出した問題を再度選ばないようにするのであれば、簡単な方法ですが、回答済みの配列を用意して出題後にpush、出題前に回答済みの配列に該当するインデックスがないかを確認、なければ出題というルーチンを組めば良いと思います。 |
Q | AndroidアプリのRingdroidについて先月、auのIS03を購入しました。電話の着信音を設定するために、「Ringdroid」をAndroidマーケットでダウンロードしました。電話の着信音の作成は成功したのですが、メールの着信音の作り方がわかりません。メール着信音の作り方を教えてくれませんでしょうか?ほかのオススメの着信音作成アプリなど教えていただけると、助かります。回答をお願いします。 |
A | メールの着信音は保存の時に通知音を選択すればいいはずです。Ringdroidにフェード機能が追加されたRingtoneメーカーというアプリがあります。ベースはRingdroidなので操作は同じです。各メールアプリの着信音設定から設定します。編集したファイル名の後ろに通知音と表示されているはずです。 |
HTML5でマルチデバイス対応アプリを実現 AdverTimes(アドタイ) iPhoneやAndroid携帯等のスマートフォンの普及が進む中、弊社においてもこれらスマートフォン用のサイト構築やアプリケーション開発のご相談が増えてきましたが、一つの大きな問題が運営、または導入を検討する企業様を悩ませているように感じます。 ... |
![]() 4Gamer.net | [CEDEC 2011]企画と開発から紐解く「忍者ロワイヤル」の作り方。DeNAが目指すソーシャルゲームの進化とは 4Gamer.net 忍者ロワイヤルは,フィーチャーフォン向けだった怪盗ロワイヤルをベースに,スマートフォン(Android/iOS)向けに開発された初の「ロワイヤル」シリーズである。タイトルどおり,そのモチーフも怪盗から忍者に置きかえられている。 テーマがなぜ”忍者”になったのか ... |
【Androidアプリ】カレーが嫌いな人はめったにいませんよね!「カレークリニック」 ASCII.jp 「カレークリニック」は、Android端末で多様なカレーレシピが見られるアプリです。 カレーは日本の国民食と言われるほど、食卓の定番で季節を問わず食べられています。私、個人的には毎日カレーでも差し支えありません。海外から伝播した料理なのに、多くの日本人に ... |
この記事にトラックバックする