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( ...

Android

レイアウトのxmlでImageButtonにイメージを貼り付けると、ボタンにイメージが張り付く形になる。 ボタンボタンの表示を無くして、貼り付けたイメージだけを表示したい場合、バックグラウンド属性を@nullに設定する android:background="@null" 具体的には <ImageButton android:id="@+id/startButton" android:layout_width="wrap_content" android:layout_height="wr ...

Android

行に複数のビューを設定した時に、まだ横幅があいているときに、 ある列をめいっぱい広げる設定 TableLayoutのインスタンスの setColumnStretchable を使う TableLayout tableLayout = new TableLayout(this); // 列の2番目を自動的に拡張する設定 tableLayout.setColumnStretchable(1, true); setContentView(tableLayout);

Android

Androidで使えるレイアウト AbsoluteLayout FrameLayout LinearLayout RelativeLayout TableLayout

Android

基本的に画面をタッチしたり指をスライドしたりした時のアクションは onTouchEventで取る。 @Override public boolean onTouchEvent(MotionEvent event) { touchingX = event.getX(); touchingY = event.getY(); switch (event.getAction()) { case MotionEvent.ACTION_MOVE: touchingAction = "MOVE"; break ...

Android

Toastとは という感じで、「beep bap」と表示されている枠のことです。 画面に表示されて、数秒で消えていきます。 「データを登録しました」みたいなメッセージを一時的に表示するのに最適かもしれません。 で、使い方ですが Toast.makeText(FormExample01.this, "Beep Bop", Toast.LENGTH_SHORT).show(); となります。 一番目の引数の FormExample01.thisというのは、アプリのメインクラスのコンテキストです。 2 ...

Android

タブに表示するアイコン画像など、選択状態で画像の色が変わるような作りにする場合 drawableのフォルダに test_icon.png test_icon_selected.png という二つのイメージファイルを使うとする そして、test_icon.xmlというファイルを作り、ファイルに以下のように設定すれば、選択されたときに表示する画像と、普段表示する画像を定義できる。 <?xml version="1.0" encoding="utf-8"?> <selector xm ...

Android

レイアウトxmlにidがbackというボタンを作成した場合 Button backButton = (Button)findViewById(R.id.back); というコードで取得できる