Android アプリ開発 「MATRIX」

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

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

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

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

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

ビットマップ画像をそのままのサイズで画面に出力する方法

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

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

Viewクラスで画面(canvas)に複数の円を描く方法です。円はプログラムで生成されたViewのcanvasにdrawCircleで直接に描かれる仕組みです。 MainActivity.java 起動直後にこのMainActivity.javaが実行される。今回はレイアウトファイル(*****.xml)ではなく…

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

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

Andoroid Javaの基本データ型のまとめ

// // Andoroid Javaの基本データ型のまとめ。 整数型 byte ・・・ - 128 ~ 127short ・・・ - 32768 ~ 32767int ・・・ - 2147483648 ~ 2147483647long ・・・ - 9223372036854775808 ~ 9223372036854775807 例)int a;a = 10000;int b = 20000; 浮動小…

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

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

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

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

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

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

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

画面の下の方に表示される控えめなバナー広告と違い、インタースティシャルは画面いっぱいにいきなり広告が表示されるので、あまり頻繁に表示しない方が良いかもしれませんね。 1.Google Play開発者サービスSDKをダウンロード Android Studioの「SDKマネー…

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

1.Google Play開発者サービスSDKをダウンロード Android Studioの「SDKマネージャー」を開いて、下の方の「Extras」にある「Google Play services」にチェックを入れて右下のインストールボタンを押す。 ※既にインストールされている場合はこの手順は行う…

Android Studioの動作がおかしくなったら

Android Studioの動作がおかしくなったら Android Studioは時々動作が変になるときがありますね。 例えば、何度修正してもエラーが消えなかったり、更新しても実機やエミュレータに反映されなかったり、何も変更していないファイルにエラーが発見されたり・…

APKの作成中に「64K・・・」関連のエラーが出た場合の対処方法

テスト中は問題なかったのにAPKを作成しようとしたら「64K・・・」という感じのエラーが出て困ったことがこれまでに2度ほどあった。原因はよくわからないが、他のサイトをみるとどうもアプリが太ってくると(コードが増えてくると)発生してしまうらしい。 …

getSpeed()で移動速度を取得する

// // 移動速度を取得するにはLocationクラスの「getSpeed」メソッドを利用する。 取得できるのは「メートル/秒(m/s)」のFloatとなる。 Float sokudo;sokudo = location.getSpeed(); END

String文字の比較は”==”ではなく”equals”を使う

// // Stringを”==”で比較してしまうと一致していても、そのままスルーされてしまうので要注意だ。 String text = "test";if(text == "test"){ //処理されない}if(text.equals("test")){ //処理される} END // //

Android開発レシピ 「ヒープサイズエラーが出た時の対処方法」

開発する端末を変えると、下記のような「ヒープサイズ(heep size)」に関係するエラーが出てしまい開発ができなくなってしまう場合があります。(例:デスクトップで作り始めたアプリをノートPCで持ち出して開発する場合など) <ヒープサイズエラー例> Er…

Android開発レシピ 「GPSで緯度と経度を取得して画面に表示する方法」

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

Android開発レシピ 「Javaコードで動的にレイアウト画面を作成する方法」

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

Android開発レシピ ~ String.format ~ 「小数を任意の桁数で切り捨て表示する」

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

Android開発レシピ ~ OnClickListener ~ 「ボタンにクリックイベントを設定する方法」

ボタンにクリックイベントを設定する2種類の方法です。まず、適当にボタンを2つ配置したレイアウトを作成します。 <サンプル画面> 下記のサンプルのようにコードを記述します。 <サンプルコード> import android.os.Bundle;import android.support.v7.…

Android開発レシピ ~ SoundPool ~ 「ボタンクリックで効果音を出す」

ボタンクリックで効果音を出します。この方法はロリポップ(OSバージョン5)以降で使えます。 import android.media.AudioAttributes;import android.media.SoundPool;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import and…

「Androidoプログラミング」 Contextの取得方法

Contextが必要なときは以下の3つを試してみてください。 getContext();getBaseContext();getActivity().getBaseContext(); この3つを試してもContextを取得できない時(入力時のヒントが出ない)は、取得しようとしている場所が悪いので別のところで取得す…

PreferenceScreenの設定項目を好きな順番に並べる方法

PreferenceScreenの設定項目を自由に並べるには各項目(Preference)に表示する順番「Oder」を設定する必要がある。順番を指定しない場合はアルファベット順などになる。 <xmlファイルで設定>

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

BitmapFactoryとMatrixで画像を回転させると、傾けた分画像のサイズが大きくなるので注意が必要です。 //ビットマップを生成Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.sample_image);//ビットマップの中心を軸に45…

元画像そのままのサイズでビットマップ画像を読み込む方法(BitmapFactory.Options)

BitmapFactoryで画像を読み込むと元画像のサイズとは違って読み込まれる場合がありますね。 例えば、幅400ドット×高さ400ドットの画像を読み込むとなぜか幅500ドット×高さ500ドットで読み込まれてレイアウトを崩すような場合。 元画像そのままのサイズでビッ…

複数ウィジェットのマニフェストファイルのサンプル

通常アプリのマニフェストファイルと、ウィジェットのマニフェストファイルは中身が若干ですが違っています。Android Studioのプロジェクト作成機能を利用すれば自動で生成されます。 ■ウィジェットのマニフェストファイル基本 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sample.test"> </manifest>

ボタンを押すと「ImageView」の画像が回転するサンプル その②

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

ボタンを押すと「ImageView」の画像が回転するサンプル その①

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

リチウムイオン電池の正しい使い方のまとめ

簡単にですがリチウムイオン電池の正しい使い方をまとめてみました。 「充電回数が増えるほど性能が低下する」 リチウムイオン電池は充電を繰り返すほど性能が低下します。およそ300回の充電で新品状態の70%~80%、500回の充電で新品状態の50…

アンドロイドアプリのウィジェット設定ファイルの解説

ウィジェットの設定ファイルは「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); //…