Android アプリ開発「MATRIX」

Androidアプリの開発に役立つサンプル集

サンプルコード

レイアウトXML に配置した SurfaceView 内でカウンターを動かしてみよう

今回は SurfaceView のサンプル 今回はレイアウトXML の一部に SurfaceView を配置し、その SurfaceView の中でカンターを動かしてみたいと思います。MainActivity と SurfaceView の関係が若干わかりにくいかもしれませんが、 一度覚えてしまえば楽に実装で…

Matrix の基本「Translate」の使い方を知ろう(その2)

Matrix の Translate を知る Matrix 関数の中に 「Translate」 というメソッドがあります。Translate を利用すると画像を任意の場所に移動することができますが、その使い方や使い道がよくわかりませんので、今回からその「Translate」について少しずつ調べ…

Matrix の基本「Translate」の使い方を知ろう(その1)

Matrix の Translate を知る Matrix 関数の中に 「Translate」 というメソッドがあります。Translate を利用すると画像を任意の場所に移動することができますが、その使い方や使い道がよくわかりませんので、今回からその「Translate」について少しずつ調べ…

端末で利用できるセンサーの一覧と詳細を取得してスクロール表示する方法

今回は、端末で利用できるセンサーの一覧を取得して表示してみたいと思います。 スマートフォンに内蔵されているセンサー数は10種類前後と多く、詳細を含めて表示すると画面からはみ出してしまいますので、TextViewをスクロールさせる必要があります。 サン…

画面の「タッチ中」を検出する方法

今回は画面がタッチされている状態を検出する方法です。 ユーザーの画面操作を検出するには「onTouchEvent」メソッドを利用し、この onTouchEvent が受け取る MotionEvent の種類で処理を振り分けます。

TextToSpeech の speak で音声読み上げに失敗する原因と対処方法

原因は音声データの未インストール TextToSpeech の speak で音声読み上げに失敗する原因はいろいろあると思いますが、自分がハマったのは、端末に「音声データ」をインストールしていなかったために、ネットワークを無効(オフライン)にしてしまうと音声デ…

タイマーを使ってテキストビューの文字サイズを連続で変えてみよう

今回は、タイマーを使ってテキストビューの文字サイズを連続変更する方法です。 画面のレイアウトは「activity_main.xml」に、制御プログラムは「MainActivity.java」に書かれています。 タイマー処理は別スレッドになるためタイマー処理の内部からメインUI…

簡単にタッチパネルのイベントを検出する方法

今回は簡単にタッチパネルのイベントを検出する方法です。タッチイベントの検出はとても簡単で、プログラムの中で「onTouchEvent」メソッドをオーバーライドするだけです。 サンプルコード(MainActivity.java) public class MainActivity extends Activity…

ビットマップ画像をそのままのサイズで表示する方法

今回はビットマップ画像をそのままのサイズで画面に出力する方法です。 ビットマップ画像を画面に出力すると自動でサイズが変更されてしまい調整に苦労する場合があります。そんな時は、「BitmapFactory」のオプションで自動的なサイズ変更処理をカットしま…

View クラスで画面(canvas)に複数の円を描く方法

Viewクラスで画面(canvas)に複数の円を描く方法です。円はプログラムで生成された View の canvas に drawCircle で直接に描かれる仕組みです。

LEDライトを点灯させる方法(Android 6 以降)

今回は、LEDライトを点灯させる方法(Android 6~の場合)です。APIでいうと23以降で使用きる方法です。それ以前の端末には対応していませんのでご注意ください。 画面中央に配置したボタンを押すと点灯と消灯が切り替わる仕組みになっています。 プログラム…

数値を文字列に変換して一文字ずつ配列に格納する方法

数値を文字列に変換して一文字ずつ配列に格納する方法です。 ポイントは「split」関数の区切り文字を「""」(空)にするところです。こうすると文字列を一文字ずつ分解してくれます。それと同時に、分解した文字をそのまま配列変数に格納しています。 <サン…

タイマー関数を使ってカウントアップアプリを作ってみよう

タイマー関数を使ってカウントアップアプリを作ってみました。 難しいところはありませんが、タイマータスクから直接メインUIスレッドにあるオブジェクト(TextView や Button)にはアクセスできないので、Handler を使って間接的にアクセスするようにします…

ボタンがクリックされた時に処理が行われるようにする方法

レイアウト画面でボタンを置いてもクリックを監視するリスナーを登録しなければ、ボタンが押されるだけで何も起こりませんね。ボタンのクリックイベントを取得する方法はいくつかありますが、今回はボタンに直接クリックリスナーを登録する方法を紹介します…

自作アプリにAdMobのインタースティシャル広告を表示する手順

アプリに全画面広告(インタースティシャル広告)を表示するサンプルコードです。 インタースティシャル広告は、画面の下の方に表示される控えめなバナー広告と違って、画面いっぱいに表示されるのでインパクトがあります。 ということで、今回はインタース…

自作アプリにAdMobのバナー広告を表示する手順

アプリにバナー広告を表示するサンプルです。 課金のないアプリはバナー広告を表示して収益化しましょう。 ※この記事では自作アプリにAdMobのバナー広告を表示させる方法をご紹介しています。

GPSで緯度と経度を取得して画面に表示するサンプルコード

GPSで緯度と経度を取得して表示する 余分なコードはほとんどありません。単純にGPSで緯度と経度を取得して画面に表示するシンプルな方法です。ぜひ参考にしてください。

レイアウトファイルを使わずコードで画面(レイアウト+ビュー)を作成するサンプルコード

これは、レイアウトxmlファイルを使わずに、Javaコードで動的にレイアウト画面を作成する方法です。レイアウトxmlファイルのように実行する前に確認はできませんが、場合によってはこの方法を利用した方が楽になります。 <サンプルコード> import android.…

小数を任意の桁数で切り捨てるサンプルコード

小数を任意の桁数で切り捨てる 小数を任意の桁数で切り捨て表示するには「String.format」関数を使います。 <サンプルコード> import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.TextView;public class Ma…

ビットマップ画像を回転させると全体のサイズが大きくなる

ビットマップ画像を回転させると全体のサイズが大きくなる BitmapFactory と Matrix で画像を回転させると、傾けた分画像のサイズが大きくなるので注意が必要です。 <サンプルコード> //ビットマップを生成Bitmap bitmap = BitmapFactory.decodeResource(c…

ビットマップ画像そのままのサイズで表示する方法(BitmapFactory.Options)

BitmapFactory でそのまま画像を読み込むと… BitmapFactory でそのまま画像を読み込むと、端末の画面密度の関係で予定よりも拡大されたサイズで表示される場合があります。 元画像そのままのサイズでビットマップ画像を読み込みたい場合は、BitmapFactory に…

ボタンを押すと ImageView 画像が回転するサンプル(その②)画像の中心を軸に回転させる

その①と同様に、レイアウトXLMファイルを利用して画面の適当な場所に「ImageView」の画像とボタンをレイアウトします。 ~ レイアウトXMLサンプル(抜粋)~ レイアウトXMLファイル(activity_main)の「ImageView」の部分です。回転させる画像のスケールタ…

ボタンを押すと ImageView 画像が回転するサンプル(その①)画像の左上を基準に画像を回転させる

ボタンを押すと ImageView の画像が回転するサンプル まず、レイアウトXLMファイルを利用して画面の適当な場所に ImageView の画像とボタンを配置します。 レイアウトXMLサンプル(抜粋) レイアウトXMLファイル(activity_main.xml)にある ImageView の部…

コードで動的に生成したレイアウトに背景色をつける方法

以下は、コードで動的に生成したレイアウトに「Color」で背景色をつける方法です。Color には数値ではなく、以下のように名前で指定できる色が12種類存在します。 例1)色名で指定する場合 ⇒ setBackgroundColor(Color.CYAN)例2)数値で指定する場合 ⇒ setBa…

レイアウトファイルを使わずコードでレイアウトを生成する方法

コードでレイアウトを生成する方法 以下は、レイアウトxmlファイルを使わず、動的にプログラムコードでレイアウトを生成する方法です。 <サンプルコード> public class Sample extends Activity { @Override protected void onCreate(Bundle savedInstance…