Android

Android SDKで、新しいバージョンにアップした場合などに、以下のようなメッセージが出て実行環境を起動できなくなった。

Windows環境でProgram Filesフォルダにインストールした場合に出るようだ。

昔からある障害であるが、実行コマンドのパスにスペースが含まれていたりすると

実行できないというもの。

Android SDKのインストールパスをC:\android-sdkあたりに明示的に指定してインストールすると ...

Android

シークバーの背景の色を変える

Android

MediaPlayerのメソッドにsetVolumeというメソッドがある。

対して、getVolumeというのは、なぜか無い。

それは何故かはあとで調べるとして、

setVolumeの引数は(float leftVolume, float rightVolume)となっている。

左右の音のバランスを設定するためのメソッドのようだ。

が、ハード上のメディアのボリュームをアプリで変更したくない場合

このsetVolumeを ...

Android

Androidマーケットへ、初公開したアプリ

その名も

「不思議なドーナツ屋さん」

名前からして不思議ですが

いわゆるパネル反転型のパズルになります。

Android端末からはこちら

market://details?id=jp.gendosu.UraOmoteLite

Android

アプリをマーケットにリリースするには、署名ファイルを作成する必要がある。

署名ファイルはJAVAのkeytoolというツールを使って作成する。

コマンドの意味は

-genkey
キーファイルを作成するコマンド
-keyalg
キー作成時に使用するアルゴリズム
DSAかRSAを指定
-keystore
キーストアファイルの名前を指定
-alias
キーの別名を指定
-validity ...

Android

以下のような画面を構成する場合、LinearLayoutだけだと、なかなかうまく配置出来なかったりする。

そこで、実現方法の一つとして

RelativeLayoutを使った方法を試してみる。

Android

scaleTypeは、ImageViewなどのビューに対して、貼り付けるイメージをどのように貼り付けるかを指定する方法で、以下の種類がある

CENTER
サイズ変更せずにエリアの中央に表示
CENTER_CROP
エリアの横幅まで画像を拡大し中央に表示
FIT_CENTER
エリアの縦幅まで画像を拡大し中央に表示
FIT_END
エリアの縦幅まで画像を拡大し右端に寄せて表示
FIT_START
エリアの縦幅まで画像を拡大 ...

Android

カメラ機能で撮影した画像などを画面にフルスクリーンで表示した場合、縦に伸びてしまったりすることがある。

上下、または左右をカットしてでも画像の縦横比を維持したまま表示したい場合には

という形で、scaleTypeにcenterCropを指定すると、うまい感じに上下、または左右をカットして画面に表示してくれる

Android

アプリ全体で非表示にする場合

AndroidManifest.xml

で設定する。

applicationタグを

という感じにthemeを設定する

各アクティビティごとにやる場合

とする。

requestWindowFeatureメソッドは、

setContentViewより前に書く必要がある。

Android

setLevel() で drawable に level を設定すると、level list 内を上から走査していって、

設定値より大きい or 等しい android:maxLevel が定義されたリソースを読み込む

level Listとは

res/drawable に置くXMLファイルで

そのファイルの中身は

という書式。

/res/drawable/test.xml

というファイルを作成し、 ...

Android

たとえば、ゲームの経過時間などを画面に表示したりする場合に

Androidの設定によっては9時間ずれて表示されてしまったりする。

このような場合、タイムゾーンを考慮することで、問題を解決できる。

具体的には

とすることで、タイムゾーンの設定のずれを解消することが出来る。

Android

SurfaceViewなどで、スレッドを作って、処理ついでにUIの項目(TextViewなど)を更新しようとしたときに、普通にやると

CalledFromWrongThreadException

というエラーが出てしまう。

AndroidアプリのUIはシングル・スレッド モデルで、スレッドからUIを操作しようとすると例外が発生してしまうのです。

悪い例

この問題を回避する方法としてHandlerを使用して、UIにアクセスする ...

Android

LINX 3DからはSIMを抜いているという話ついでに、どのように通信を行っているかをちょっと説明。

F-06Bには、Wifiの親機になれるモードがある。これを、アクセスポイントとして

LINX 3DはWifiでF-06Bを経由して通信をする。

F-06Bでは、mopera U 128kにしておけば、パケット上限は5700円になるため、無駄な通信費はかからない。

SPモードも当分やらないし、iアプリのゲームやFXトレードアプリやらオサイフ携帯 ...

Android

LINX 3Dは、SIMを抜いて、Wifiでのみ通信している状態ですが

Wifiを常にONにしていると、なんか微妙に電池の減りが早い気がするので

WifiをON・OFF出来るウィジェットを探してみました。

Wifi Toggle Widget

これ、結構良いです。

が、マーケットのページへのリンクの張り方がわからないので

もし気になる方は、検索して見つけてください。

Android

@Overrideでエラーが発生する場合の対処方法

このようなエラーが発生する場合

エラーの内容としては「スーパークラスのメソッドをオーバーライドする必要がある」ですが、ソース上ではしています。

で、このソース、ほかのeclipse環境で見るとエラーが出なかったりするので、環境かな~と調べていたら、エラーが出る環境は

Compiler compliance level:というのが1.5になっておりました。

この項目は

...