Android

【Android】JSONObjectにおけるnull判定の方法

JSONの値がnullかどうか判定する方法です。 以下のJSONデータのnullを判定する例を書いていきます。 { data1 : "データ1" data2 : "データ2", data3 : null } JSONObjectの作成 JSONObject json = new JSONObject(JSONデータ); isNull() 値がnullまたはキー…

【Android】ArrayListに格納したHashMapをgetし表示する方法

ArrayListのなかからHashMapを取り出して、Logに表示するまでを書いていきます。 表示方法 ArrayListの作成 ArrayList<HashMap> list = new ArrayList<HashMap>(); ArrayListにHashMapを格納 for (int i = 0; i < 10; i++) { HashMap<String, String> map = new HashMap<String, String>(); map.put("name", "To</string,></string,></hashmap></hashmap>…

【Android】地図でのピンと吹き出しのクリックイベント

地図に表示されるピンとそのピンに表示される吹き出しをクリックしたときに、何かしらの処理を実行したい場合の方法です。 クリックリスナーについて書いていきます。 ピンのクリックリスナー mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickLis…

【Android】Fragmentに地図とピンを表示する方法

Fragmentに地図を表示し、その上にピンを表示する方法にハマったので、その解決方法を書きます。 Google APIキーを取得し設定ていることを前提としています。 レイアウトの作成

【Android】配列(ArrayList)の中身をランダムに並び替える方法

配列の中身をランダムに並べ替える方法です。 並び替え方法 ArrayList<String> list = new ArrayList<String>(); list.add("test1"); list.add("test2"); list.add("test3"); Collections.shuffle(list);// 配列の中身をシャッフル Log.v("配列の先頭", choices.get(0));// </string></string>…

【Android】Fragmentへの画面遷移の方法

Fragmentへ画面遷移する方法は、Activityへの画面遷移と異なります。 今回は、Fragmentへ画面遷移する方法を書きます。 Activity -> Fragment FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction().replace(…

【Android】ラジオボタンの使い方

ラジオボタンはRadioGroupクラスとRadioButtonクラスを利用します。 RadioGroupクラスには2つ以上のRadioButtonクラスを持たせるようにします。 レイアウトの作成 <RadioGroup android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/RadioGroup"> </radiogroup>

【Android】FragmentでsetArgument()を使った値の受け渡し

Fragmentでのコンストラクタの引数によるFragmentへの値の受け渡しは推奨されていないのでBundleにラップして情報をFragmentクラスへ受け渡すsetArguments()を使用します。 なぜsetArguments()を使用するかは、参考サイトに詳しく載っていたので、ご覧下さい…

【Android】「cannot perform this action inside of onloadfinished」エラーの対処法

非同期処理が終わったタイミングで実行しようとした処理で「cannot perform this action inside of onloadfinished」というエラーが発生しています。 このエラーはGUIに関する操作をメインスレッド以外のスレッドから行おうとした場合に発生するものです。 …

【Android】JSONデータをパースする方法

AndroidでJSONデータをパースする方法をまとめます。 JSONのパース まず、try / catchのなかに処理を書く必要があります。 catch (JSONException e)の記述が必要みたいです。 jsonパースの処理はtryのなかで行っていきます。 try { } catch (JSONException e…

【Android】EditTextの初期表示に薄く文字を表示

EditTextでの初期表示に薄く文字を表示するためには、android:hintを使用します。 使用例 <EditText android:layout_height="match_parent" android:layout_width="match_parent" android:inputType="text" android:hint="@string/content_comment" android:id="@+id/edit_comment"> 参考サイト: 四の五の: EditTextの初期表示に薄く文字を表示させるアレ</edittext>

【Android】FragmentでfindViewById(Idを取得)する方法

FragmentでIdを取得するとき、findViewByIdをしてもIdを取得することができません。 FragmentはfindViewByIdが定義されていないからです。 ですが、FragmentでIdを取得する方法は簡単にできます。 Idの取得方法 Idの取得は、onCreateViewのなかで処理を行い…

【Android】Spinnerの使い方

Spinnerを使用することで、プルダウンまたはダイアログでアイテムを複数表示することができます。 アイテムの取得方法も2通りあったので、それも含め以下に書きます。 レイアウトの作成 <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spinner" android:spinnerMode="dialog" /> プルダウン表示の場合はdialog、プルダウン表示の場合はdropdownをand</spinner>…

【Android】EditTextでの入力制限(バリデーション)の種別まとめ

入力欄を表示するEditTextで、入力するデータの種別に応じて指定値をandroid:inputType="指定値"に指定することで、入力の制限(バリデーション)ができるようになります。 種類がたくさんあるので以下にまとめます。 指定値の種別 指定値 動作 none 入力不…

【Android】Fragment内での子Fragmentを管理する方法

今まではFragmentの管理はActivity単位が基本でしたが、getChildFragmentManagerを使用することでFragment内での子Fragmentを管理することができます。 使用例 Fragment childFragment = new ChildFragment(); FragmentTransaction transaction = getChildFr…

【Android】画面をスクロールさせる方法

ScrollViewを使用することで、スクロールバーを実現することができます。 スクロールバーの作成 レイアウトファイル(.xml)に以下を追加します。 <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> </scrollview>

【Android】FragmentTabHostを使用したタブの作成

FragmentTabHostはFragmentをタブで切り替えるためのViewです。 タブの作成は以前TabActivityを使っていましたが、現在は非推奨になっているのでFragmentTabHostの使用をおすすめします。 また、Android 1.6から利用することができるものとなっています。 今…

【Android】HTTP通信でGET/POSTをする方法

HTTP通信でデータをGET/POSTをする場合の処理です。 HTTP通信をする場合、非同期処理をしないといけないので注意して下さい。 GET HttpClient client = new DefaultHttpClient(); // パラメータの設定 ArrayList<NameValuePair> value = new ArrayList<NameValuePair>(); value.add( new B</namevaluepair></namevaluepair>…

【Android】LoaderCallbacksで使用するLoaderManagerのAPIまとめ

AsyncTaskLoaderのコールバック処理であるLoaderCallbacksですが、それに使うLoaderManagerについてよく分からなかったので、まとめてみます。 Activity.getLoaderManager 複数のLoaderを管理するLoaderManagerのインスタンスを取得 各Activity/FragmentにLo…

【Android】Bundleの使い方

Bundleとは AndroidにはActivityのライフサイクルがあります。 別のActivityが前面に来るなどにして、メモリが不足した場合にActivityが破棄されることがあります。 このとき、メモリ上にだけ展開されていたインスタンス変数などの値も破棄されてしまいます…

【Android】HTTP通信での非同期処理の方法

Android 3.0以降、メインスレッドでネットワーク処理を行うとエラーにるみたいです。 メインスレッドにネットワーク処理を書いてしまうと、NetworkOnMainThreadExceptionというエラーがでてしまいます。 メインスレッドでHTTP通信を行う場合は、非同期処理を…