Android

MediaPlayerのメソッドにsetVolumeというメソッドがある。 対して、getVolumeというのは、なぜか無い。 それは何故かはあとで調べるとして、 setVolumeの引数は(float leftVolume, float rightVolume)となっている。 左右の音のバランスを設定するためのメソッドのようだ。 が、ハード上のメディアのボリュームをアプリで変更したくない場合 このsetVolumeをいじると良いかもしれない。 だが、このsetVolume、リファレンスを見ても ...

Android

Androidマーケットへ、初公開したアプリ その名も 「不思議なドーナツ屋さん」 名前からして不思議ですが いわゆるパネル反転型のパズルになります。 Android端末からはこちら market://details?id=jp.gendosu.UraOmoteLite

Android

アプリをマーケットにリリースするには、署名ファイルを作成する必要がある。 署名ファイルはJAVAのkeytoolというツールを使って作成する。 keytool -genkey -keyalg RSA -keystore releasekey.keystore -alias reeleasekey -validity 20000 コマンドの意味は -genkey キーファイルを作成するコマンド -keyalg キー作成時に使用するアルゴリズム DSAかRSAを指定 -keystore キーストアフ ...

Android

以下のような画面を構成する場合、LinearLayoutだけだと、なかなかうまく配置出来なかったりする。 そこで、実現方法の一つとして RelativeLayoutを使った方法を試してみる。 <RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ScrollView android: ...

Android

scaleTypeは、ImageViewなどのビューに対して、貼り付けるイメージをどのように貼り付けるかを指定する方法で、以下の種類がある CENTER サイズ変更せずにエリアの中央に表示 CENTER_CROP エリアの横幅まで画像を拡大し中央に表示 FIT_CENTER エリアの縦幅まで画像を拡大し中央に表示 FIT_END エリアの縦幅まで画像を拡大し右端に寄せて表示 FIT_START エリアの縦幅まで画像を拡大し左端に寄せて表示 FIT_XY エリア全体に画像を拡大して表示 MATRI ...

Android

カメラ機能で撮影した画像などを画面にフルスクリーンで表示した場合、縦に伸びてしまったりすることがある。 上下、または左右をカットしてでも画像の縦横比を維持したまま表示したい場合には <ImageView android:scaleType="centerCrop" android:layout_width="fill_parent" android:layout_height="fill_parent"/> という形で、scaleTypeにcenterCropを指定すると、うまい感じ ...

Android

アプリ全体で非表示にする場合 AndroidManifest.xml で設定する。 applicationタグを <application android:icon="@drawable/icon" android:theme="@android:style/Theme.NoTitleBar"> という感じにthemeを設定する 各アクティビティごとにやる場合 public void onCreate(Bundle savedInstanceState) { super.onCrea ...

Android

setLevel() で drawable に level を設定すると、level list 内を上から走査していって、 設定値より大きい or 等しい android:maxLevel が定義されたリソースを読み込む level Listとは res/drawable に置くXMLファイルで そのファイルの中身は <?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="" > <item ...

Android

たとえば、ゲームの経過時間などを画面に表示したりする場合に Androidの設定によっては9時間ずれて表示されてしまったりする。 final long startDate = Calendar.getInstance().getTimeInMillis(); // 何か処理を書く final long endDate = Calendar.getInstance().getTimeInMillis(); // 開始時間を画面に表示 nowTime.setText(dfm.format(new D ...

Android

SurfaceViewなどで、スレッドを作って、処理ついでにUIの項目(TextViewなど)を更新しようとしたときに、普通にやると CalledFromWrongThreadException というエラーが出てしまう。 AndroidアプリのUIはシングル・スレッド モデルで、スレッドからUIを操作しようとすると例外が発生してしまうのです。 悪い例 while (thread != null) { Canvas canv = holder.lockCanvas(); /* * TextVie ...

Android

LINX 3DからはSIMを抜いているという話ついでに、どのように通信を行っているかをちょっと説明。 F-06Bには、Wifiの親機になれるモードがある。これを、アクセスポイントとして LINX 3DはWifiでF-06Bを経由して通信をする。 F-06Bでは、mopera U 128kにしておけば、パケット上限は5700円になるため、無駄な通信費はかからない。 SPモードも当分やらないし、iアプリのゲームやFXトレードアプリやらオサイフ携帯(LINX 3Dは対応しているが、移動が面倒だし)もま ...

Android

LINX 3Dは、SIMを抜いて、Wifiでのみ通信している状態ですが Wifiを常にONにしていると、なんか微妙に電池の減りが早い気がするので WifiをON・OFF出来るウィジェットを探してみました。 Wifi Toggle Widget これ、結構良いです。 が、マーケットのページへのリンクの張り方がわからないので もし気になる方は、検索して見つけてください。

Android

@Overrideでエラーが発生する場合の対処方法 このようなエラーが発生する場合 エラーの内容としては「スーパークラスのメソッドをオーバーライドする必要がある」ですが、ソース上ではしています。 で、このソース、ほかのeclipse環境で見るとエラーが出なかったりするので、環境かな~と調べていたら、エラーが出る環境は Compiler compliance level:というのが1.5になっておりました。 この項目は - - - の中にあります。 これとは別に、プロジェクトにも同様の設定があり、 ...

Android

Androidアプリは、何かとContextを要求するメソッドが多い。 で、コンテキストとは何なのか、実はまだよく分かっていない。 ただ、メインのActivityからはthisでコンテキストを取得できるが ほかのActivityから参照出来なかったりするので そのような場合はどうするか getApplicationContext() このメソッドを使うことで、コンテキストを取得できる。 ほかにも getBaseContext() とか getApplication() とか getParent( ...