2011/09/30

Android Project で res を使う Library を作る

Android Project で res ディレクトリ以下を使用する Library を作成する場合は、名前が被るとうまくいかないという問題があります。
(参考:Android Project で Is Library を使う場合、res の管理に注意

では、どのようにすれば良いのかというと、Android Developers の Managing Projects
Use prefixes to avoid resource conflicts
To avoid resource conflicts for common resource IDs, consider using a prefix or other consistent naming scheme that is unique to the project (or is unique across all projects).
と書かれています。
つまり、Resource を定義するときに、他と被らないようなプレフィックスをつけるとか、特殊な名前のつけ方を検討するとかしましょう。ってことのようです。

やり方はいろいろあると思うのですが、手っ取り早いのはパッケージ名(ネームスペース)を使っちゃう方法ではないかと思いますので、以下にその方法を書いておきたいと思います。

2011/09/17

Android で現在のテーマカラー等を取得する

Android はテーマを変えるだけでアプリケーション全体の見た目を変えることが出来るので便利です。
設定でテーマを選ぶと、雰囲気が変わるアプリってありますよね。
そういうアプリを作りたくて、テーマでカラーチェンジ出来るように意識して作っていると、現在のテーマカラーを知りたいということが結構あります。

例えば、Viewを使ってアンダーライン等を作ってる場合などですね。
白を基調としたアプリの場合は黒いラインを引きたいですし、黒基調の場合は白いラインにしたいのです。
で、そういう方法は無いものかと探していたら、

Accessing Resources | Android Developers
リソースへのアクセス | ソフトウェア技術ドキュメントを勝手に翻訳 (日本語訳)

を見つけました。
というわけで、水平区切りラインを書きたい場合にはlayoutの中に以下のように書いてやると良いみたいです。

<View
  android:layout_width="fill_parent"
  android:layout_height="1dp"
  android:background="?android:attr/colorForeground" />

ちなみに、取得できるAttributeは以下のディレクトリを調べるとわかります。

%Android_SDK%/docs/reference/android/R.attr.html

2011/09/05

Pogoplug に OpenPogo を入れてみたが HDD が認識されなくなった

最初に書いておきます。
こんなタイトルつけてみましたが、実はOpenPogoは関係ありませんでした。
完全にぬれ衣です。 でも、勘違いしてもしょうがないかなって言う状況だったんですよ。

 というわけで、以下、その状況の説明。