サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
衆院選
android.roof-balcony.com
Androidでは、画像をそのままボタンにするImageButtonというViewがありますね。 そんなImageButtonを使って、例えば、Aという状態ではImageButtonを押せる状態とし、Bという状態ではボタンを押せなくしたい場合があろうかと思います。 こんなとき、以下のようなコードにすれば、一応は解決します。 ImageButton imageButton = (ImageButton)findViewById(R.id.imagebutton1); imageButton.setEnabled(false); ですがこれだと、パッと見た感じは押せるように見えてしまいます。 いわゆる不活性表示的な形で見せたいですよね。 とはいって、元々ImageButtonに使っている画像に対して、不活性用の画像を用意するとなると手間です。 もちろん、見た目重視のアプリケーションではそうした
AdMobを実際にAndroidアプリへ組み込むにはどうするの? 前回までの以下の記事の続編です。 Androidアプリで広告収入を得る方法 「AdMob」 Androidアプリで広告収入を得れるAdMobへの登録方法 今回は、AdMobへアカウントを作成した後、何をするのか?を説明したいと思います。 AdMobへAndroidアプリケーションを登録 まずはAdMobへ、広告を掲載したいAndroidアプリケーションを登録します。 AdMobへログインして、「サイト及びアプリケーション」->「サイト/アプリケーションの追加」を選択します。(下図参照) すると、以下のような画面が表示されますので、「Androidアプリケーション」を選択します。 すると、以下のように、Androidアプリの情報を入力する画面が開きます。 「App名」にはアプリケーション名を入れます。 「Androidパッケー
Androidで、WindowsアプリのTreeViewコントロールのようなViewは無いの? 一応あるみたいです。 その名も、ExpandableListView。 「ExpandableListView」でGoogleで検索したら、一番親の階層に子供があって、その子供には子供がいないという2階層の構造でいいのであれば、サンプルコードを紹介しているページがいくつかありました。 でも私は、自分で作っているAndroidアプリで、複数の階層になっているTreeViewを実装したい・・・。 しかも、階層は不特定の場合もある。 果たして、ExpandableListViewで実現できるのか!? ExpandableListViewは、ListViewと同じく、行のレイアウトを定義できます。 これで更に子供にExpandableListViewを持たせればいいのかな?と考えましたが、気が遠くなりそ
Androidアプリから、その実機がサポートしているSensor(センサー)の一覧の取得方法は? Androidアプリから、サポートしているSensorの取得方法は、以下のようにします。 まずはSensorManagerインスタンスを取得します。 SensorManager sm = (SensorManager)getSystemService(SENSOR_SERVICE); 次のステップですが、一応、2つ方法があるのですが、一つは非推奨(deprecated)になっています。 Androidに限らず、Java全般に言えることですが、基本的には、非推奨となっているAPIは使わないようにしましょう。 まずは、敢えて非推奨な方法から紹介します。 SensorManager.getSensors()を使います。 int sensor = sm.getSensors(); 戻り値はint型です
AndroidのAPIリファレンスって何処にあるの? Android SDKをダウンロードしたディレクトリを見てください。 そこのdoc->referenceとたどると、index.htmlがありますので、このファイルをブラウザで開いてください。 すると以下のような画面が表示されます。 左ペインには、パッケージ名や選択したパッケージのクラスの一覧が表示されます。 ここで調べたいクラスを選択してやると、メインのフレームに、コンストラクタやメソッドの一覧が表示されます。 残念な事に、今は英語版しか無いようですね。 技術書の英語は、直訳するとエライ事になるので、単語毎に訳していかないと、正しく理解できないのが辛いとこですが、慣れてくるとホントに重宝します。 最終的には、このAPIリファレンスさえあれば何でも作れる!ってなる事が私の目標です。 こっからは独り言です。 JavaのSDKの中にも、Ja
Androidのカメラで撮影して保存した画像ファイルの読込み方は? 前回のAndroidアプリのカメラ機能で撮影した画像の保存方法の続きです。 今回は、カメラで撮影したデータを実際に読み込んで画面表示などに使う手順を説明します。 せっかく撮影したのに、画面に出す事が出来ないのでは意味無いに等しいですからね…。 読み込み方は、保存の方法によって違ってくるかと思います。 保存時、ファイルパスにOutputStreamで保存というやり方であれば、InputStreamを使って読み込めばいいでしょう。 今回は、「MediaStore.Images.Media.insertImage()」を使って保存したデータの読み込み方について説明します。 少々苦戦しましたが、以下のようなコードで読み込めます。 String[] proj = { MediaStore.Images.Media.DATA, Med
自分で作ったAndroidアプリを、Android Marketへ登録、公開する方法は? 自分で作ったAndroidアプリは、Android MarketというAndroidアプリのオフィシャルなダウンロードサイトへ登録、公開する事が出来ます。 既に、XPERIA等のAndroid端末をお持ちの方であれば、お世話になっているかと思います。 今回は、自分で作成したAndroidアプリを、実際にAndroid Marketへ公開する手順を説明していきます。 Android Marketへのユーザー登録 Android MarketへAndroidアプリを公開する為には、Android Marketへユーザー登録(開発者登録)する必要があります。 一応、登録の条件としては、以下のような感じです。 ・Googleアカウントを持っている ・クレジットカードを持っている Googleアカウントは、XP
ある日突然、「Error generating final archive: Debug certificate expired on …」というエラーメッセージが表示され、Androidアプリのコンパイルが出来なくなったときの解決方法は? 皆さんは、上記のエラーメッセージが突然表示されだして、Androidアプリのコンパイルが突然出来なくなった!という経験は御座いますでしょうか。 私は、自分が作ったAndroidアプリの機能追加でもしてみようかと思って、結構久しぶりにEclipseを立ち上げて、アプリをコンパイルしてみたら、突然上記のエラーメッセージが出てコンパイルできなくなってたので、めちゃくちゃ焦りました。 調べてみると、結果的に、この経験は、Androidの勉強を始めてめでたく1年が経過した、という事で、ある意味おめでたい事なのですが、解決できなくては、Androidアプリのコンパ
Androidのカメラのシャッター音の制御方法は? 今回は、Androidのカメラのシャッター音について、私なりに色々と調べた内容をご紹介します。 残念ですが、この記事にたどり着かれた多くの方が知りたいと思っている内容へは、踏み切れていないかもしれません…。 日本の携帯電話では、基本的に、カメラのシャッター音は強制的になるように作られています。 盗撮防止ですね。 法で定められているわけではないみたいなんですが、メーカーさんのご意向というか気配りによって、そのようになっているらしいです。 今はどうかわかりませんが、アメリカの携帯電話だと、カメラのシャッター音は、OFF設定が存在していました。 アメリカには、○○○○○みたいに、盗撮をする習慣がある人なんていないのかもしれませんね。(笑) Androidのシャッター音のOFFに関して書かれたWeb上の記事は多いですが、ほとんどが、root権限で
Androidアプリから、ブラウザのブックマークを追加、更新、削除する方法は? 前回、Androidアプリからブラウザのブックマークを取得する方法を紹介しました。 Androidアプリからブラウザのブックマークの取得方法 自分で作ったAndroidアプリから、ブラウザのブックマークを追加させたいという事もあるかもしれません。 例えば、無料で自分のAndroidアプリを使用させてあげる代わりに、自分のサイトをブックマークさせるとか?(スパムみたいな事はやめましょう。) もしくは単にブックマークエディターみたいなAndroidアプリを作るとか。 今回は、ブックマークへ追加する方法を紹介します。 ブラウザのブックマークに追加する方法 以下のようなサンプルコードになります。 Browser.saveBookmark(this,”senki”,”https://android.roof-balcon
Androidアプリに、オプションメニューを設定する方法は? Androidアプリ実行中に、端末のMenuボタンを押す事で現れるオプションメニューがあります。 例えば、「終了」とか「保存」とか、そのアプリがよく使うであろう処理を実装すれば、ユーザビリティの向上に役立ちます。 このオプションメニューを実装する方法を紹介します。 二通り紹介します。 一つは、メニューを静的(アプリの状態に応じてメニューを変えたりしなくてもよい)とする場合と、アプリの状態に応じてメニューを動的に変更したい!という場合の2通りを紹介します。 静的なオプションメニュー オプションメニューが静的でいい場合は、Activity生成時に一度だけ呼び出されるonCreateOptionsMenu()を実装します。 例としては、以下のようになります。 public boolean onCreateOptionsMenu(Men
Androidアプリを多国語対応するやり方は? Androidは、実に色んな言語のサポートをしています。 自分で作ったAndroidアプリを、色んな国の人に使ってもらいたい!と思っている方も多いと思います。 Android端末の表示言語設定に合わせて、自分で作っているAndroidアプリの言語を切り替える事ができます。 但し、勝手に翻訳してくれるというわけではありませんケド。 Androidアプリでは、アプリ内で使用する文字列のリソースは、基本的にはXMLファイルにて定義します。 通常、これらのXMLファイルは以下に作成します。 Androidプロジェクト->res->values この「values」というフォルダにあるstring.xmlに、文字列を定義していきます。 例えば、下記のような言語対応をしたいとします。 ・日本語モードの場合は、日本語用の文字列を使用する ・それ以外は、英語
Androidアプリで、とあるViewにフォーカスが当たってしばらく無操作だったら、簡単なヘルプを表示させる方法は? Windows用のアプリですと、ボタン等のコントロールにマウスカーソルを当てた状態で数秒放置すると、ヘルプメッセージが小さく表示されるものを見た事があると思います。 これを、ToolTip(ツールチップ)と呼びます。 HTMLでも、イメージやリンク文字列等にマウスカーソルを当てた状態で数秒放置すると、ヘルプメッセージが小さく表示されるものを見た事があると思います。 これは、例えば画像ですと、ImageタグのALT属性に設定した文言が表示されます。 上記のようなイメージで、Androidアプリでも簡単なヘルプメッセージを数秒間だけパッと表示させる、という場合に適したView(ビュー)があります。 これが、Toastというビュー(View)です。 Toastの使い方 それではT
Eclipseで、Androidアプリのパーミッション(Permission)を追加したりする設定方法は? Androidアプリは、通信を行ったり、GPSを使ったりするためには、アプリケーションへパーミッションの設定をしなければなりません。 Eclipseでのパーミッションの設定方法を説明します。 Eclipseで、パーミッションを指定したいAndroidアプリのマニフェストファイルをAndroid Manifest Editorで開きます。 通常は関連付けられているので、ダブルクリックでOKです。 そして、Permissionsタブを開いてください。以下のような画面が開きます。 上記画像赤枠部分の、Addボタンを押すと、以下の画面が開きます。 そして、「Uses Permission」を選択します。(「Permission」ではありません!!) すると、ウィンドウが閉じ、以下のようにUs
どうやってEditTextの改行を不可にするの? 任意のテキストの入力ができるEditText。 単純にEditTextを配置した場合、改行が出来る状態になってますが、作ろうとしているAndroidアプリでは、改行を不可にしたい場合があるかと思います。 例えば、検索するキーワードの入力用のEditTextとか。 ここでは、そんな場合、EditTextの改行を不可にする方法を紹介します。 レイアウトにEditTextを配置しているという前提でお話を進めます。 単純に、EditTextを配置すると、レイアウトのxmlには、以下のような形でEditTextのタグが生成されています。 <EditText android:layout_height=”wrap_content” android:layout_width=”wrap_content” android:id=”@+id/EditText
Androidで、カメラ機能で撮影した画像の保存方法は? 今回は、前回からの続編です。 Androidアプリのカメラのプレビュー画像の取得方法 この記事で紹介したカメラ機能の使い方で、取得したカメラ画像の保存方法の例を2パターンほど紹介したいと思います。 (カメラで取得した画像は、Bitmap型のオブジェクトとして生成済みという想定で話を進めます。) MediaStoreを使った保存処理 早速サンプルコードを示しますと、以下のようになります。 MediaStore.Images.Media.insertImage(getContentResolver(), bmp, “”, “”); MediaStore.Images.Mediaクラスのstaticメソッド insertImage()を使います。 MediaStoreは、android.providerというパッケージのクラスです。 第一
Xperiaのエミュレータってあるの?そして、設定方法は? 今回は、Androidのエミュレータで、Android SDK標準のエミュレータではなく、Xperiaのエミュレータを動かす方法についてです。 Xperiaをお持ちでない方で、ご自分で作成されたAndroidアプリを、実際にXperiaで表示させると、どんな感じで画面表示されるのか、という点、非常に気になると思います。 実際、Android SDK付属のエミュレータと、Xperiaでは、画面サイズが違うので、SDKのエミュレータではちゃんと表示されているのに、Xperiaでは思い描いてたような表示にならないとか、或いはその逆のパターンもあります。 また、実際にXperiaをお持ちでも、いちいちケーブル繋いで、アプリをインストールするのもメンドクサイですよね。 アプリ完成間近ならまだしもですが。 というわけで、Android SDK
Androidアプリのカメラのプレビューを画像として取得する方法は? 前回のAndroidのカメラのシャッター音についての続きです。 Androidで、カメラ画像を、takePicture()を使わずに保存する方法です。 色々試してみて、なんとか画像として保存する事に成功したのですが、失敗談も含めて紹介したいと思います。 失敗ケース1 getDrawingCache() Androidで、画面のスナップショットを画像として保存させるような便利なAPIが存在するのか?という観点で、調べてみました。 すると、以下のようなメソッドがありました。 getDrawingCache() これは、android.view.Viewクラスのメソッドです。 まず、getDrawingCache()を使ってみたら、nullが返されました。 APIリファレンスを読むと、キャッシュを有効にしなければならない的な説
Androidは、JavaのSystem.out.println()等の標準出力では、ログを確認出来ないの? 出来ます。 Androidアプリでは、ログの出力というと、android.utilパッケージのLogクラスを利用する、というのが一般的かなと思います。 ただ、作りこみの最中や、デバッグ中に、「この変数はどんな値になってるのか?」なんてのを、ちょっと今だけ調べたいってだけなのに、いちいちandroid.util.Logをimportさせたりするのは面倒です。 しかも、android.util.Logクラスのログ出力メソッドは、第一引数にアプリケーションの名前などの、識別用のTag(タグ)を与えないといけません。 あくまで個人的にはですケド、正直いちいちめんどくさいです。 Javaでは、System.outやSystem.errなどの標準出力系のAPIを使って、ログを確認する事がよくあ
アプリに、レイアウトや色等を定義するxmlを追加したいけど、その追加方法は? Androidでは、アプリ内で使う文字列、画面レイアウト、色、スタイルなどの定義はXMLで行うという事は知っている、という前提で、今回の話を進めます。 アプリ内のresフォルダにあるlayoutには、画面レイアウトを定義したxmlファイルを配置し、valuesフォルダには、文字列や色、スタイル等を定義したxmlファイルを配置しますよね。 この配置や、そもそもXMLファイルの新規作成の方法ですが、Eclipseで簡単に出来ます。 XMLの中身に関する説明は、他のサイトでも結構見かけましたが、Eclipseを使っての追加方法を紹介しているところがあまり見当たりませんでしたので、紹介します。 以下、Eclipseを使ったXMLの追加手順です。 1.Package Explorerで、XMLを追加したいAndroid P
エミュレータでは正常にGoogle MapViewが表示されていたのに、公開したAndroidアプリをMarketからダウンロードして起動すると、MapViewが表示されない!? ※本記事は、Android Google Map API v1に関しての情報になります。 Androidアプリでは、Google Mapを簡単に表示できるMapViewというViewがありますね。 私は、Android Marketに公開する前に、エミュレータで正常にMapViewが表示されていたので、そのままAndroid Marketに公開して数日が経過してから気付いたのですが、全くMapViewが表示されていない事に気付きました。 そのときの解決策をご紹介したいと思います。 ちなみに、MapViewを使うには、以下のサイトでGoogle MapのAPIキーを取得する必要がある事は、ご存知の方も多いと思います
AndroidアプリへAdMobの広告を設定する方法、表示させる方法は? これまでのAdMob関連記事の続編になります。 Androidアプリで広告収入を得る方法 「AdMob」 Androidアプリで広告収入を得れるAdMobへの登録方法 AdMobへのAndroidアプリの登録とSDKのダウンロード方法 今回は、上記までの記事のように、AdMobへ広告を掲載するAndroidアプリケーションの登録と、AdMob SDKのダウンロードまで完了しているとして、次の段階であるAndroidアプリへAdMob広告を設定方法もしくは表示方法を説明します。 基本的には、Android AdMob SDKのjavadocや、PDFファイルを見れば、設定は出来ると思います。 全て英語で書かれたドキュメントですが、なんとか私もそのPDFファイルを見て設定できました。 以下の手順で、Androidアプリへ
AndroidアプリへのAdMob広告の設定方法・表示方法 AndroidアプリへAdMobの広告を設定する方法、表示させる方法は? これまでのAdMob関連記事の続編になります。 Androidアプリで広告収入を得る方法 「AdMob」 Androi…
Androidアプリで広告収入を得る方法は? 今回は、Androidの技術情報ではないですが、Androidアプリで広告収入を得る方法を紹介したいと思います。 もう既に、「そんな事知ってるよ」って感じの方も多いと思うのですが、XPERIA等の実機を購入して、実際のAndroidアプリを触った事が無いと、知らない方もおられるかもしれませんので。 今回の記事は、AdMobについての私なりの説明の記事になりますんで、AdMobへの登録方法に関しては、「Androidアプリで広告収入を得れるAdMobへの登録方法」を見てください。 そもそも、私がAndroidアプリの開発の勉強を始めようと思ったのは、副業として、有料アプリを展開していこうと思ったからでした。 ですが、、、、 皆さん、有料のAndroidアプリってダウンロードしますか? 私は、XPERIAを購入して以来、有料のAndroidアプリは
Androidアプリで広告収入を得れるAdMobへの登録方法は? 前回の「Androidアプリで広告収入を得る方法 「AdMob」」の続きです。 今回も、Androidの技術情報ではありませんが、すみません…。 AdMobは、Androidアプリで広告収入を得れるシステムです。 簡単ではありますが、上記の記事で紹介していますので、ご覧下さい。 それでは実際に、AdMobへの登録の手順を説明します。 既にAdMobへアカウント作成済みで、AdMobへAndroidアプリを登録する手順は、「AdMobへのAndroidアプリの登録とSDKのダウンロード方法」をご覧下さい。 AdMobへの登録方法 まずは、AdMobのサイトへ行きます。 AdMob 「今すぐスタート」というボタンがあるので、それをクリックします。 すると、あなたの情報を登録する画面が表示されます。 メールアドレス、パスワード、お
Androidアプリで、Backキー(戻るボタン)を押されたイベントを拾う(受け取る)方法は? 本題に入る前に、少しだけ話しを逸らしてしまいます。 かなり久しぶりの「mucchinのAndroid戦記」サイトの更新です。 約50日振りですね。 実務が忙しくなってしまったため、プライベートでやってたAndroidのアプリ開発的な作業もストップしていました。 やっと少しだけ時間が空いたので、以前から作りかけていたAndroidアプリの開発の続きをしてみました。 やっぱり少しでも間が空くと、若干ブランクが否めないですね。 Androidに関する事ならまだしも、自分が作っていたAndroidアプリの作りの事を結構忘れてしまって、大変です。(苦笑) では、本題に入りたいと思います。 今回は、Androidアプリで、Backキーを押されたときのイベントを拾う方法についてです。 私は今、GPS機能を使っ
com.google.android.mapsパッケージのAPIリファレンスはどこにあるの? 以前、AndroidのAPIリファレンスの在り処について、記事を書きました。 AndroidのAPIリファレンスの在り処 しかし、上記のAPIリファレンスには、MapViewクラス等の、com.google.android.mapsパッケージのリファレンスがありません。 com.google.android.mapsパッケージに関しては、別の場所にAPIリファレンスがあります。 SDKをインストールしたフォルダの直下に、「add-on」というフォルダがあると思います。 中を見ると、バージョン毎にフォルダがあります。 調べたいバージョンのフォルダを開くと、docsというフォルダがあり、その中に更にreferenceというフォルダがあります。 その中にAPIリファレンスが格納されています。 index
Google Earthで作ったkmlファイルが、DDMSで読み込めない!? Androidでは、位置情報取得のテストも、エミュレータやデバッガを使えば擬似的に行えます。 とても便利!! しかし、位置情報取得のやり方を勉強していたときに、ハマッてしまった問題がありました。 それが、今回の議題です。 ここでは、デバッグの方法とかを述べるわけではありません。 他のサイトでもいっぱい紹介しているのを見かけましたので。 でも、なぜか、この問題については触れられているところが、あまりありませんでしたので、kmlファイルの作成時の注意点について紹介します。 ちなみに、kmlファイルのGoogle Earthでの作り方はここでは取り上げません。 問題点は、以下です。 Google Earthで作ったkmlファイルを、Android SDK付属のデバッガDDMSのEmulator Controlで読み込め
jarファイルとして提供されているライブラリを使いたいけど、どうやって使えるようにするの? Androidに限らずですが、色々なベンダーが、便利なライブラリを提供してくれています。 中には、オープンソースとしてソースも公開しているライブラリもあります。 例えばですが、バーコードリーダーを作りたい、というような場合には、ZXingというオープンソースのバーコード解析ライブラリを使います。 Javaで使えるライブラリは、基本的には、jarファイルとして提供されています。 jarファイルというのは、classファイル等をZIP圧縮しているものです。 このライブラリを使うようなAndroidアプリケーションを開発するには、どうしたらいいのか? その環境構築の手順を説明します。 例えば、ZXingでは、ダウンロードしてきたファイルから、自分でjarファイルを作らないといけませんが、個々のライブラリの
次のページ
このページを最初にブックマークしてみませんか?
『mucchinのAndroid戦記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く