タグ

ブックマーク / yuki312.blogspot.com (5)

  • Android:確実にファイル保存する方法

    ファイルへの書き込みには一般的にflushメソッドを使用しますが、flushメソッドは実際 にファイルシステムへ書き込むわけではありません。 ストリームのフラッシュはOSのファイル出力バッファに書き込まれます。 そのため、実ファイル上に書き込まれている保証はこの時点ではありません。 Javaにはアプリからの書き込みをファイルシステムと同期させるための仕組みが用意され ています。 ファイルシステムとの同期にはFileDescriptorクラスのsyncメソッドを使用します。 FileDescriptorはファイルストリームのgetFDメソッドから取得することが可能です。 参考:http://java.sun.com/javase/ja/6/docs/ja/api/java/io/FileOutputStream.html#getFD() コード例 FileOutputStream out =

  • Android:CountDownLatchで同期をとる

    Androidに限った話ではありませんが、java.util.concurrentパッケージは同期・非同期 処理を実装する上で便利なクラスが数多くあります。 今回はそんなconcurrentパッケージから、他スレッドでの操作完了を待機する同期支援 クラスのCountDownLatchを使ってみます。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/concurrent/CountDownLatch.html CountDownLatchクラスの主なメソッドはawaitとcountDownです。 CountDownLatchは単純なON/OFFを持ったラッチとして機能します。 awaitを呼び出したスレッドは、countDownを呼び出すスレッドによりラッチが開放される まで待機します。 ラッチの開放にかかるアクション回数はコン

  • Android:match_parentとfill_parent

    match_parent,fill_parentについて、Android2.2以降はfill_parentが非推奨となったため、 match_parentを使用する必要がありますが、match_parentとfill_parentに名前以外の違い が当に無いのか気になったので調査してみました。 結論から言うと、名前以外に違いはありませんでした。 match_parentとfill_parentは、ViewGroupの内部クラスLayoutParamsに定義されています。 public static class LayoutParams { /** * Special value for the height or width requested by a View. * FILL_PARENT means that the view wants to be as big as its p

  • Android:Windowsでapkを逆コンパイルする方法

    .apkからソースコードを取り出す方法です。 # バッチの実行コマンドなどは説明を簡略化するためにフルパスで指定しています。 手順1:.apkからclasses.dexを取得 逆コンパイルするには、まずclasses.dexが必要です。 逆コンパイルしたいapkを取得して、zip解凍ソフトで解凍してください。 # よくわからない場合は拡張子をapkからzipに変えてダブルクリックで解凍。 (今回はCドライブ直下に解凍しました) 手順2:dex2jarで.dex→.class変換 手順1で解凍したフォルダの中にclasses.dexがあると思います。 逆コンパイルするにはclasses.dexを.classファイル形式に変換します。 .dex→.class変換にはdex2jarというツールを使います。 dex2jarツールは下記サイトにあります。 http://code.google.com

    Android:Windowsでapkを逆コンパイルする方法
  • AsyncTaskLoaderのまとめ

    ■AsyncTaskLoaderの概要 AsyncTaskを提供する抽象的なLoaderです。 AsyncTaskLoaderはWorkerとしてのAsyncTask(ロードタスク)を内部にもつLoaderです。 AsyncTaskLoaderを継承した実装サンプルは下記のページにあります。 →http://developer.android.com/intl/ja/resources/samples/ApiDemos/src/com/example/android/apis/app/LoaderCustom.html CursorLoaderはAsyncTaskLoaderを継承したクラスとなります。 →http://developer.android.com/reference/android/content/CursorLoader.html LoaderとLoaderManager

    AsyncTaskLoaderのまとめ
  • 1