Android Archive
[Android] 振動機能(バイブレーション)
- 2012-11-11 (日)
- Android
端末によっては振動機能を備えたものがあります。
(逆に無い物の方が珍しいのかな…?)
何らかの操作が行われた場合やユーザにイベント通知を行う際などに効果的に使用することでユーザエクスペリエンスを向上させることができます。
- Comments: 0
- Trackbacks: 0
[Android] グルーピング機能付きSpinner
- 2012-10-28 (日)
- Android
Spinnerのドロップダウン時、アイテムをカテゴリ毎にグルーピング表示することでユーザー・エクスペリエンスを向上させることができるケースがあります。
(例:都道府県選択で地方毎にグルーピングする等)
今回はグルーピング機能をもったSpinnerの作り方について書いていきたいと思います。
- Comments: 0
- Trackbacks: 0
[Android] プリファレンスでデータ保存
- 2012-10-14 (日)
- Android
AndroidではファイルやDBなどデータを保存する仕組みがいくつかありますが、ユーザー名やパスワードなどのアプリケーション内部で使うちょっとしたデータを保存する程度であればプリファレンスを使うことをお勧めします。
プリファレンスは大規模なデータ保存には向きませんが、ファイルやDBを使うよりも簡単にデータの読み書きができます。
- Comments: 0
- Trackbacks: 0
[Android] FTPクライアントの実装
- 2012-09-23 (日)
- Android
AndroidでのFTP実装にはJavaのライブラリがそのまま使用できます。
Socketレベルでチマチマと実装してもいいのですが、Commons Netというライブラリを使うことで比較的簡単にFTP機能を実装することが出来ます。
今回はこのCommons Netを使った実装方法を紹介していきます。
- Commons Netライブラリをダウンロード
- サーバに接続
- ログイン
- 転送モードを設定
- ディレクトリ移動
- アップロード
- ダウンロード
- 削除
- 切断
- Comments: 0
- Trackbacks: 1
[Android] Backボタンが押されたときの処理
- 2012-09-09 (日)
- Android
Androidの戻るボタンが押されると、既定では表示中のアクティビティが閉じられます。
しかし、アプリによってはボタンが押されたタイミングで何かしらの処理を行ったり、無効にしたいこともあるかと思います。
Backボタン押下時に任意処理を実装するための大まかな流れは次のとおりです。
- Activity#onKeyDown() をオーバーライド
- Backボタン押下時の処理を実装
- Comments: 0
- Trackbacks: 0
[Android] ImageViewのcontentDescription
- 2012-08-05 (日)
- Android
xmlでレイアウトを組んでいると、ImageView部分に次のようなワーニングが表示されることがあります。
[Accessibility] Missing contentDescription attribute on image
これは、ImageViewの「android:contentDescription」という属性が設定されていないことが原因です。
Android4.0で追加された Explore-by-touch mode という機能があるのですが、この機能が有効になっていると画面上をタッチした際などに対象Viewの説明が読み上げられます。
この説明文を設定するための属性が contentDescription です。
<ImageView ... android:contentDescription="画像の説明">
「画像の説明」部分に説明文を記述します。
説明文はstringリソースから引っ張ってくることもできます。
年配者や目が不自由な方などへのアクセシビティ向上のためにも、出来るだけ設定していくように心掛けましょう。
- Comments: 0
- Trackbacks: 1
[Android] TextViewでクリック処理
- 2012-07-31 (火)
- Android
クリック有効化
TextViewでクリックイベントを拾いたい場合は setClickable() でクリックを有効にしなければなりません。
引数にtrueを指定すると有効、falseを指定すると無効になります。
//==== クリックを有効にする ====// TextView tvHoge = (TextView)findViewById(R.id.tv_Hoge); tvHoge.setClickable(true); tvHoge.setOnClickListener(new OnClickListener() { public void onClick(View v) { Log.i("てすと", "クリックされた!") } });
レイアウトファイルで設定
レイアウトファイルの「android:clickable」で設定することもできます。
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:clickable="true" android:text="hoge" />
- Comments: 0
- Trackbacks: 0
[Android] Spinnerの基本的な使い方
- 2012-06-24 (日)
- Android
Androidではコンボボックスに相当するコントロールとして「Spinner(スピナー)」というものが存在します。
使い方を簡単にまとめてみました。
レイアウトファイルによる実装
Spinnerを配置し、entries属性に配列要素を指定します。
ここで設定した配列要素がSpinnerのコンテンツとして表示されます。配列要素については事項で説明します。
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/items" /> </LinearLayout>
/res/valuesにarrays.xmlというファイルを作成し、スピナーに設定する配列要素(アイテム項目)を定義します。
なお、わざわざ新しいファイルを作成しなくてもstrings.xmlの中に記述することも可能ですが、今回は別ファイルを使うことにしました。
arrays.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="items"> <item>item1</item> <item>item2</item> <item>item3</item> <item>item4</item> <item>item5</item> <item>item6</item> <item>item7</item> <item>item8</item> <item>item9</item> </string-array> </resources>
- Comments: 0
- Trackbacks: 0
[Android] レイアウトでViewを両端に配置する方法
- 2012-06-22 (金)
- Android
レイアウトでViewを両端に配置する方法はいくつか存在しますが、ここで紹介する方法が一番シンプルで分かりやすい気がします。
方法はコードを見てもらえば一目瞭然ですが、配置する2つのViewの真ん中に「android:layout_weight」を”1″にしたViewを埋め込むだけです。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="10dp"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="左" /> <View android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="右" /> </LinearLayout> </LinearLayout>
- Comments: 0
- Trackbacks: 0
[Android] エミュレータと外部とのソケット通信
- 2012-06-13 (水)
- Android
ソケット通信のテストを行う際にエミュレータと外部との間で通信できると何かと便利ですが、エミュレータはエミュレータ内部で閉じたネットワークを形成しておりデフォルトでは外部との通信ができない状態になっています。
外部との通信を行うには以下の手順を踏む必要があります。
- エミュレータ起動
- telnetでエミュレータに接続
- redirコマンドでポートフォワード
- Comments: 0
- Trackbacks: 0
- Search
- Feeds
- Meta
- 人気の記事