Android アプリ開発「MATRIX」

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


Android Java

リストビューに一覧表示したサウンドをタップ操作で再生させる方法

リストビューに一覧表示したサウンドをタップ操作で再生させる方法リスト表示したサウンドを再生させる 今回は、端末に内蔵されている着信音、通知音、アラーム音の名前を ListView に一覧で表示し、その一覧からタップされたサウンドが再生されるアプリを作…

setAlarmClock で簡単なアラームを作る方法

setAlarmClock とは? setAlarmClock は AlarmClockInfo でスケジュールされた時間に指定のペンディングインテントを実行するクラスです。この setAlarmClock はシステムが低電力アイドル状態(dozeモード)になっていても正確にトリガーされるので、正確な…

カレンダー「Calendar」の基本的な使い方のまとめ

カレンダー「Calendar」とは? カレンダーは、セットした日時の「1970年1月1日00:00:00 GMT からの経過時間」をミリ秒で取得することができるクラスです。またその逆に、取得したりセットした特定日時のミリ秒から年月日や時間を取得することも可能です。 <…

【暗黙の仕様】AlarmManager のリピート間隔を「1分以下」にすることは不可能

AlarmManagerクラスのリピート間隔 AlarmManagerクラスには、指定した間隔で繰り返しアラームを発報することができる「setRepeating」「setInexactRepeating」というパブリックメソッドがありますが、この2つのメソッドのリピート間隔を1分以下にしようとし…

【Android 9】requires android.permission.FOREGROUND_SERVICE エラーが発生する場合の対処方法

Android 9「フォアグラウンドサービス」の変更点 Android 9 以降は「フォアグラウンドサービス」を使用する際に、マニフェストファイルでパーミッションを要求しなければなりません。パーミッションを要求しないままアプリを起動すると「requires android.pe…

ブロードキャストレシーバーに「has no zero argument constructor」というエラーが出た場合の対処方法

ブロードキャストレシーバーのエラー ブロードキャストレシーバー(BroadcastReceiver)を使ったアプリを開発している時に「has no zero argument constructor」というエラーが発生してブロードキャストレシーバーが正常に動作しない場合があります。 対処方…

新しいアクティビティを開始する

新しいアクティビティを開始する 新しいアクティビティを開始するには「startActivity()」メソッドを使います。 サンプルコード(MainActivity.java) ※詳しい説明はコード内のコメントを参照してください。 public class MainActivity extends AppCompatAct…

現在のアクティビティを終了する

現在のアクティビティを終了する 現在のアクティビティを終了するには「finish()」メソッドを呼び出します。 サンプルコード(MainActivity.java) ※詳しい説明はコード内のコメントを参照してください。 public class MainActivity extends AppCompatActivi…

「通知」を発行する方法(APIレベル26以上にも対応)

「通知」を発行する方法 今回は、画面の上部にある通知領域に「通知」を発行して表示する方法です。APIレベル26以上とそれ未満では発行の方法が少し違っているので、「if文」を使って振り分けています。 サンプルコード①(MainActivity.java) APIレベル26か…

タップすると画像が切り替わるウィジェットの作り方(APIレベル 27まで)

タップで画像が切り替わるウィジェット 今回はウィジェットをタップするとその中に配置してある ImageView の画像が切り替わるウィジェットを作ります。ホーム画面に配置されたウィジェットを変更する方法はいくつかありますが、今回はウィジェットが自分自…

Matrix(マトリクス)でビットマップ画像を画像の中心を軸に拡大・縮小する方法

ビットマップ画像を中心を軸に拡大・縮小する 今回は、オリジナルの View(MyScale.class)に配置したビットマップ画像をマトリックス(Matrix)を使って画像の中心を軸に拡大・縮小します。View に配置したビットマップ画像の中心を軸に拡大・縮小する方法…

Matrix(マトリクス)でビットマップ画像を連続回転させながら移動する方法

ビットマップ画像を連続回転させながら移動する 今回は、オリジナルの View(MyNewViewView.class)に配置した画像を、マトリックス(Matrix)を使い連続回転させながら移動するサンプルです。View に配置したビットマップ画像の回転や移動の方法がよくわか…

マトリックス(Matrix)を使ってビットマップ画像を連続回転させる方法

マトリックスでビットマップ画像を連続回転させる 今回は、オリジナルの View(MyNewView.class)に配置した画像を、マトリックス(Matrix)を使用し同じ位置で連続回転させるサンプルです。View に配置したビットマップ画像の回転方法がわからない・・・と…

画面の回転(縦位置 ⇔ 横位置)に対応する方法

画面の回転に対応する方法 アンドロイドアプリは画面を回転(横位置 ⇔ 縦位置)させると、自動でアクティビティが再起動される仕組み(仕様)になっているため、変数のデータも破棄されてしまいます。 そのため、画面の回転に対応するには、回転の直前に呼び…

端末のバッテリー充電レベルを監視する方法

端末のバッテリー充電レベルを監視する バッテリーの充電レベルを監視するには、バッテリーの充電レベルが変化するたびに端末から発信されるバッテリー充電レベルのインテントをブロードキャストレシーバーで受信する必要があります。 <流れ> 1.端末のバ…

ブロードキャストレシーバーの基本的な使い方(その2)

ブロードキャストレシーバーの使い方(その2) ブロードキャストレシーバーは端末が発信している様々なメッセージや情報を受信するクラスです。これを利用すると、時間やタイムゾーンの変化、バッテリーの残量や充電状態など、細かな端末の状態を知ることが…

ブロードキャストレシーバーの基本的な使い方(その1)

ブロードキャストレシーバーの使い方(その1) ブロードキャストレシーバーは端末が送信している様々なメッセージや情報を受信するクラスです。これを利用すると、時間やタイムゾーンの変化、バッテリーの残量や充電状態など、細かな端末の状態を知ることが…

画面をタッチしたまま指を動かす「ムーブイベント」を検出する方法

「ムーブイベント」を検出する スマートフォンやタブレットの画面をタッチしたまま指を動かす「ムーブイベント」を検出するには View クラスの「onTouchEvent」メソッドの中で「MotionEvent.ACTION_MOVE」アクションを取得します。 サンプルコード①(MainAct…

画面がタッチされた時にX座標とY座標を取得する方法

画面がタッチされた時にX座標とY座標を取得する スマートフォンやタブレットの画面がタッチされた時にX座標とY座標を取得するには「View」クラスの「onTouchEvent」メソッドを使用します。 サンプルコード①(MainActivity.java) 詳しい説明はコード内のコメ…

押されたキーの「キーコード」を取得する方法

押されたキーの「キーコード」を取得する スマートフォンやタブレットの物理的な「キー」が押された時に、そのキーコードを取得するには「View」クラスの「onKeyDown」イベントを利用します。この「onKeyDown」イベントはソフトウェアキーボードのコードも取…

ウィジェット設定ファイルの解説

ウィジェットの設定ファイルは「res/xml」ディレクトリに作成しますが、Andorid Studio自動作成することができます。 <サンプル>

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

コードで生成したレイアウトに背景色をつける方法です。 <ソースコード> public class Sample extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //レイアウトを生成 ※この場合は…

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

レイアウトxmlファイルを使わずにプログラムコードでレイアウトを生成する方法です。 <サンプルコード> public class Sample extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //…