Android Java
簡単な音声認識アプリを作る 今回は、グーグルが提供している音声認識システムを使用した簡単な音声認識アプリを作ってみたいと思います。 詳細についてはコード内にコメントで記載してありますので、そちらをご覧ください
通知をタップして処理を実行 今回は「通知」をタップした時に画面(Activity)を表示するのではなく、「任意の処理を実行する」というサンプルを作ってみたいと思います。基本的には以下のようなフローになっています。
Android 端末のセンサー一覧(2017年12月26日現在) Sensor | Android Developers より抜粋した Android 端末で使用可能なセンサー(定数)の一覧です。各センサー下の説明は「Google 翻訳」で翻訳した後、若干の修正を加えたものとなっています。 全部で2…
今回は SurfaceView のサンプル 今回はレイアウトXML の一部に SurfaceView を配置し、その SurfaceView の中でカンターを動かしてみたいと思います。MainActivity と SurfaceView の関係が若干わかりにくいかもしれませんが、 一度覚えてしまえば楽に実装で…
Matrix の Translate を知る Matrix 関数の中に 「Translate」 というメソッドがあります。Translate を利用すると画像を任意の場所に移動することができますが、その使い方や使い道がよくわかりませんので、今回からその「Translate」について少しずつ調べ…
Matrix の Translate を知る Matrix 関数の中に 「Translate」 というメソッドがあります。Translate を利用すると画像を任意の場所に移動することができますが、その使い方や使い道がよくわかりませんので、今回からその「Translate」について少しずつ調べ…
今回は、端末で利用できるセンサーの一覧を取得して表示してみたいと思います。 スマートフォンに内蔵されているセンサー数は10種類前後と多く、詳細を含めて表示すると画面からはみ出してしまいますので、TextViewをスクロールさせる必要があります。 サン…
今回は画面がタッチされている状態を検出する方法です。 ユーザーの画面操作を検出するには「onTouchEvent」メソッドを利用し、この onTouchEvent が受け取る MotionEvent の種類で処理を振り分けます。
原因は音声データの未インストール TextToSpeech の speak で音声読み上げに失敗する原因はいろいろあると思いますが、自分がハマったのは、端末に「音声データ」をインストールしていなかったために、ネットワークを無効(オフライン)にしてしまうと音声デ…
今回は、タイマーを使ってテキストビューの文字サイズを連続変更する方法です。 画面のレイアウトは「activity_main.xml」に、制御プログラムは「MainActivity.java」に書かれています。 タイマー処理は別スレッドになるためタイマー処理の内部からメインUI…
今回は簡単にタッチパネルのイベントを検出する方法です。タッチイベントの検出はとても簡単で、プログラムの中で「onTouchEvent」メソッドをオーバーライドするだけです。 サンプルコード(MainActivity.java) public class MainActivity extends Activity…
今回はビットマップ画像をそのままのサイズで画面に出力する方法です。 ビットマップ画像を画面に出力すると自動でサイズが変更されてしまい調整に苦労する場合があります。そんな時は、「BitmapFactory」のオプションで自動的なサイズ変更処理をカットしま…
Viewクラスで画面(canvas)に複数の円を描く方法です。円はプログラムで生成された View の canvas に drawCircle で直接に描かれる仕組みです。
今回は、LEDライトを点灯させる方法(Android 6~の場合)です。APIでいうと23以降で使用きる方法です。それ以前の端末には対応していませんのでご注意ください。 画面中央に配置したボタンを押すと点灯と消灯が切り替わる仕組みになっています。 プログラム…
Andoroid Javaの基本データ型のまとめ。 整数型 byte ・・・ - 128 ~ 127short ・・・ - 32768 ~ 32767int ・・・ - 2147483648 ~ 2147483647long ・・・ - 9223372036854775808 ~ 9223372036854775807 例)int a;a = 10000;int b = 20000; 浮動小数点型…
数値を文字列に変換して一文字ずつ配列に格納する方法です。 ポイントは「split」関数の区切り文字を「""」(空)にするところです。こうすると文字列を一文字ずつ分解してくれます。それと同時に、分解した文字をそのまま配列変数に格納しています。 <サン…
タイマー関数を使ってカウントアップアプリを作ってみました。 難しいところはありませんが、タイマータスクから直接メインUIスレッドにあるオブジェクト(TextView や Button)にはアクセスできないので、Handler を使って間接的にアクセスするようにします…
レイアウト画面でボタンを置いてもクリックを監視するリスナーを登録しなければ、ボタンが押されるだけで何も起こりませんね。ボタンのクリックイベントを取得する方法はいくつかありますが、今回はボタンに直接クリックリスナーを登録する方法を紹介します…
アプリに全画面広告(インタースティシャル広告)を表示するサンプルコードです。 インタースティシャル広告は、画面の下の方に表示される控えめなバナー広告と違って、画面いっぱいに表示されるのでインパクトがあります。 ということで、今回はインタース…
アプリにバナー広告を表示するサンプルです。 課金のないアプリはバナー広告を表示して収益化しましょう。 ※この記事では自作アプリにAdMobのバナー広告を表示させる方法をご紹介しています。
getSpeed()で移動速度を取得する 移動速度を取得するにはLocationクラスの「getSpeed」メソッドを利用します 取得できるのは「メートル/秒(m/s)」で変数の方は Float になります。 以下がコードです。 <サンプルコード> Float sokudo;sokudo = location…
文字列(String)の比較は ”equals” を使用 Java では文字列を ”==” で比較すると、実際には「一致」しているのに「不一致」と判断されてしまうことがあります。これは、文字列の中身ではなく文字列を格納している番地で比較しているからです。 したがいまし…
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…
ボタンにクリックイベントを設定する ボタンにクリックイベントを設定する2種類の方法です。まず、適当にボタンを2つ配置したレイアウトを作成します。 <サンプル画面> 下記のサンプルのようにコードを記述します。 <サンプルコード> import android.o…
ボタンを押すとサウンド(効果音)が出る ボタンを押すとサウンド(効果音)を出力するサンプルコードです。この方法はロリポップ(OSバージョン5)以降で使用可能です。 <サンプルコード1> import android.media.AudioAttributes;import android.media.So…
Context を取得する方法は 3 種類 Context は「環境」という意味で、アンドロイドのアプリを開発するための重要なグローバル情報へのインターフェースです。 プログラム中で「Context」の取得が必要になった場合は、以下の3種類の方法を試してみてください。…
設定画面の項目を任意の順番に並べる方法 PreferenceScreen の設定項目を自由に並べるには各項目(Preference=環境設定)に表示する順番「Oder」に順番を指定する必要があります。順番を指定しない場合はアルファベット順などになります。 <xml ファイルで…
ビットマップ画像を回転させると全体のサイズが大きくなる BitmapFactory と Matrix で画像を回転させると、傾けた分画像のサイズが大きくなるので注意が必要です。 <サンプルコード> //ビットマップを生成Bitmap bitmap = BitmapFactory.decodeResource(c…