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

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

ローカルファイルにアクセスする場合、ファイルのパスは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,434 views

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

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

コードから

ListView.setCacheColorHint(Color.TRANSPARENT);

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

android:scrollingCache="false"
3,830 views

Location(位置情報)クラスの基本プロパティ

LocationManagerのonLocationChangedメソッドでLocationクラスより
得られるプロパティの一覧です。
位置情報プロバイダによっては取得できない値もあるので、
確認用メソッドが用意されています。
続きを読む…»

16,482 views

パッケージのfilesディレクトリのファイルリストを表示

//ファイル名のフィルターを作成
FilenameFilter fFilter = new FilenameFilter() {
  @Override
  public boolean accept(File dir, String filename) {
    return filename.matches(".+.jpg"); //正規表現で検索
  }
};

File fileDir = this.getFilesDir();
Toast.makeText(this, String.format("ファイルアクセスデレクトリは「%s」です。",
fileDir.getPath()), Toast.LENGTH_LONG).show();

String[] f = fileDir.list(fFilter);
for( int i = 0; i < f.length; i++ ) {
  Log.v(TAG, f[i]);
}
2,480 views