Android

Androidでのデータの保存

データの保存 SharedPreferenceの利用 Androidアプリでデータを保存する方法のひとつ データをキーと値の組み合わせで保存 ファイルなどに保存するよりも非常に簡単にデータを保存可能 ただし大規模なデータには向かず、設定項目向き。 使い方 SharedPreferences はgetSharedPreferences(String name, int mode); でを取得。 name は Preference 自体の名前指定 mode には Activity.MODE_PRIVATE Activity.MODE_WORLD_READABLE Activity.MODE_WORLD_WRITEABLE などを指定 モードについては後述。 SharedPreferences pref = getSharedPreferences(PREF_NAME, MODE_PRIVATE); SharedPreferencesのインスタンスをgetSharedPreferencesで取得し、 editメソッドでEditorクラスのインスタンスを呼び出す。 そのEditorクラスにputXxxxメソッドを使って値を対応させる 最後にcommitメソッドで格納する // プリファレンスに保存 Editor editor = pref.edit(); editor.putString(KEY_TEXT, s); // KEY, VALUEの組み合わせで保存 editor.commit(); 保存される場所 保存された Preference は data/data/パッケージ名/shared_prefs の中に xmlファイルとして保存される データの取得 getXxxx(String key, Xxxx defValue)のkey, value形式で取得する。 getString(String key, String defValue); getInt(String key, int defValue); getLong(String key, long defValue); データ型 下記のデータ型がXMLに保存される 1.

ListView and http connection

雑多メモ Railsで作ったサーバとHttpでCRUDなおしゃべりをするアプリを作った時に調べたメモ達 レイアウトをJava側で生成する LinearLayout linearLayout = new LinearLayout(this); linearLayout.setOrientation(LinearLayout.VERTICAL); setContentView(linearLayout);` レイアウトに要素を追加する Button button1 = new Button(this); button1.setText("OK"); button1.setLayoutParams(new LinearLayout.LayoutParams( LinerLayout.LayoutParams.MATCH_PARENT, LinerLayout.LayoutParams.WRAP_CONTENT)); linearLayout.addView(button1);` AddViewメソッド 「LinearLayout」クラスの親クラスである「ViewGroup」クラスで用意されている「addView」メソッドを使います。 public void addView(View child, LayoutParams params) Adds a child view with the specified layout parameters. Parameters: child: the child view to add params: the layout parameters to set on the child LinearLayout.LayoutParamsクラス 「android.widget.LinearLayout.LayoutParams」クラスは「android.view.ViewGroup.LayoutParams」クラスのサブクラスです。コンストラクタの1つのは次のようになっています。 LayoutParams public LinearLayout.LayoutParams(int w, int h) 他のビューに対する相対位置の指定(addRule) このビュー自身のサイズに関する設定の他に、別に追加されたビューに対する位置関係を設定することが出来ます。「RelativeLayout.LayoutParams」クラスで用意されている「addRule」メソッドを使います。 (参考: http://www.javadrive.jp/android/relativelayout/index3.html) addRule public void addRule(int verb, int anchor) Adds a layout rule to be interpreted by the RelativeLayout.

send data on Intent to call activity

#Activityとは Androidの画面単位の概念 一つのアクティビティに対してクラス一つが割り当てされる –>1つのXML(Viewテンプレート)と1つのJavaクラス(Activity)が必要となる #Intentとは インテントというのは簡単に言えばアクティビティなどが他のアクティビティやアプリケーションなどと情報のやり取りを行うための箱のようなものです。インテントという箱には、相手先や届けたい情報などが含まれています。 アクティビティから他の指定したアクティビティへインテントを送ることがあります。例えば他の画面を表示したい場合などです。 (参考: http://www.javadrive.jp/android/intent/index1.html) ##暗黙的インテントと明示的インテント どの機能を呼び出すかをあらかじめ指定して直接それを起動することを「明示的インテント」(explicit intent)、何をしたいかは明示せずに漠然とそのデータに対して実行できる機能の一覧を要求することを「暗黙的インテント」(implicit intent)という。 (参考: http://e-words.jp/w/E382A4E383B3E38386E383B3E38388.html) ##どうやって起動するのか インテントのアクションとは、あるオブジェクトが他のオブジェクトを起動する際に、何をしたいのかを指すための指定です。ここでいうオブジェクトはActivityやサービスのことを指します。 アクションを指定するには、Intentクラスのコンストラクタで指定するか、もしくはIntentクラスのsetActionメソッドを使って指定します。### また、指定するアクションはすべてIntentクラスの遷移元への値の渡し方と受け取り方定数として定義されていますので、該当な定数を使ってアクションを以下のように指定します。 ``` java activity.java // アクションを指定してインテントのインスタンス生成 Intent intent = new Intent(Intent.ACTION_MAIN); // 次画面のアクティビティ起動 startActivity(intent); ``` インテントをnew IntentしてそれをstartActivity()の引数に入れて起動するらしい。 StartActivityとは 同一アプリ内の画面を呼び出すときは明示的Intentを作成する。そしてstartActivity()の引数として引き渡すことでそれを実現する。ただし、この挙動は一方通行のようなもの。呼び出し元の情報を返して欲しいときはstartActivityForResult()を使う。 また、アクションには「アクティビティアクション」と「ブロードキャストアクション」があります。 ###アクティビティアクション >アクティビティアクションとは、他のアクティビティを起動する際に、何をしたいのかを示すためのアクションです。具体的には以下のものがあります アクション 機能 ACTION_MAIN メインエントリーポイントとしてアクションを起動する。データを戻すことができない。 ACTION_VIEW データをユーザに表示するためにアクションを起動する。 ACTION_ATTACH_DATA 別の場所にデータが添付されていることを示す。 ACTION_EDIT データを編集するためにアクションを起動する。 ACTION_PICK データの中からアイテムを選択するためにアクションを起動する。選択されたアイテムを受け取る。 ACTION_CHOOSER 起動するActivityを選択するチューザーをユーザに示し、選択してもらう。 ACTION_GET_CONTENT 指定した種類のデータをユーザに選択、もしくは作成してもらう。 ACTION_DIAL データで指定した番号を電話番号として設定する。データを指定しなければ、ユーザがその場で設定する。電話をかける操作はユーザに任せる。 ACTION_CALL データで指定した人に電話をかける。データを指定しなければ、ユーザがその場で指定した番号に電話をかける。 ACTION_SEND 別の人にデータを送信する。データの宛先は指定しない。このIntentを受け取ったアクションが、ユーザに宛先を問う。 ACTION_SENDTO データによって指定された人にメッセージを送信する。 ACTION_ANSWER かかってきた電話に対処するアクションを起動する。 ACTION_INSERT データに含まれるURIが示すディレクトリに秋のデータを挿入する。 ACTION_DELETE データに含まれるURIが示すデータをコンテナから削除する。