カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

フォルダ選択ダイアログ

アラートダイアログを使って、ファイル選択にも応用できる参照機能
こちらのサイトを参考にさせていただきました。
http://d.hatena.ne.jp/Silent-Bob/20110705

・ルートフォルダーを設定
指定したフォルダー階層より上に上がれないようにします。

private static final String ROOT_PATH = 
    Environment.getExternalStorageDirectory().getPath() + "/";

続きを読む…»

10,636 views

音楽ファイルの再生

MediaPlayer mediaPlayer = new MediaPlayer();
String path = "";

mediaPlayer.setLooping(true); //ループ再生の設定

try {
	mediaPlayer.setDataSource(path);
} catch (IllegalArgumentException e) {
	e.printStackTrace();
} catch (IllegalStateException e) {
	e.printStackTrace();
} catch (IOException e) {
	e.printStackTrace();
}

try {
	mediaPlayer.prepare();
} catch (IllegalStateException e) {
	e.printStackTrace();
} catch (IOException e) {
	e.printStackTrace();
}

mediaPlayer.start(); //再生開始
mediaPlayer.pause(); //一時停止
mediaPlayer.stop();  //停止

続きを読む…»

6,272 views

ローカルファイルのアクセス

ローカルファイルにアクセスする場合、ファイルのパスはOSが決めているのでアプリから指定する必要はありません。
読み込むときも書き込むときも、ファイル名のみ指定します。

【画像ファイル保存】※ビットマップは生成済と仮定します。

try {
  FileOutputStream out = openFileOutput("a.jpg", Context.MODE_WORLD_READABLE);
  bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
  out.close();
} catch (Exception e) {
  e.printStackTrace();
}

続きを読む…»

3,644 views

選択用のダイアログ表示

サブメニューやコンテキストメニュー以外で、選択してもらう機能を実装したいときに発見しました。
複数の選択肢を持たせることができるダイアログを実装することができます。

AlertDialog.Builder ad = new AlertDialog.Builder(this);
ad.setTitle("選択");
final String[] items = { "01", "02", "03"};
ad.setItems(items, new OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        Log.v(TAG, items[which] + "が選択されました。");

        switch(which){
        case 0:
            //01が選択された場合の処理
            break;
        case 1:
            //02が選択された場合の処理
            break;
        case 2:
            //03が選択された場合の処理
            break;
        }
    }
});
ad.create().show();

続きを読む…»

2,436 views

Activityの背景色を変更したときのListView

リストビューを表示するアクティビティの背景色を変更すると
リストビューをスクロールしたときにリストビューの背景が真っ黒になってしまいます。
解消するには以下のほうほうをお試しください。

コードから

ListView.setCacheColorHint(Color.TRANSPARENT);

XMLに記述
ListViewのプロパティに以下を追加してください。

android:scrollingCache="false"
3,831 views