2015-09-26

Android アプリの画面向きを固定

新規に作成した Android Studio Project は Android デバイスの傾きによって、縦画面と横画面を自動で切り替えてくれる設定になっています。アプリによっては縦画面固定や横画面固定のユーザーインターフェースを前提として作成したい場合があると思います。

アプリの画面を固定するには "AndroidManifest.xml" を編集し、アクティビティごとに以下の属性を追加します。
  • 縦画面固定の場合
activity android:screenOrientation="portrait"
  • 横画面固定の場合
activity android:screenOrientation="landscape"

2015-09-21

Android デバイスのバイブレーション機能を使う

バイブレーション機能とは、携帯電話やスマートフォンをブルブルと振動させるアレです。もちろん Android アプリからもバイブレーション機能が使用できます。

以下の手順で、Android アプリからバイブレーション機能を使用できるようになります。

アプリにバイブレーション機能の使用を許可する


先ずはマニフェストファイル(AndroidManifest.xml)を編集して、アプリにバイブレーション機能の使用を許可する設定が必要です。AndroidManifest.xml に以下の一行を追加します。
<uses-permission android:name="android.permission.VIBRATE" />

Android デバイスの加速度センサー値を取得

Android デバイスに搭載されている加速度センサーを使うと、図のように X 軸、Y 軸、Z 軸の各軸に掛かる加速度(m/s^2)を測定でき、Android デバイスの向きや動きを把握することができます。


加速度センサーの値は、以下の手順で取得できるようになります。

2015-09-20

Android デバイスの画面サイズを取得

Android デバイスの画面サイズを取得する場合、アプリの用途によって取得したい画面上のサイズが異なると思います。自分が調べた限りで取得可能な画面サイズを記しておきます。

取得可能な画面サイズと取得した値


以下に、取得可能な画面サイズと取得した値を図示します。


2015-09-16

iPhone のプリインストールアプリが削除できるようになるかも

Apple 社のお偉いさんが「将来的に iPhone の不要なプリインストールアプリを削除できるようにする」という旨の発言をしたというニュースが出ていました。
[iPhoneの不要なプリインストールアプリ、「削除できるように」とクックCEO]

私自身は、スマートフォンはずっと Xperia シリーズを使っているので iPhone については詳しくないですが、周りの iPhone ユーザでプリインストールアプリを邪魔と感じている方は少ない印象です。
これはおそらく、iPhone はキャリアで購入しても、キャリア独自のプリインストールアプリがひとつも無いからだと思っています。

Google Play 公開済みアプリの更新

作成したアプリに AdMob の広告が追加できたので Google Play で公開済みのアプリを更新してみます。

build.gradle の修正


初回には不要でしたが、アプリの更新には "build.gradle (module: app)" の修正が必要です。この ファイルの "versionCode" と "versionName" を以下のように書き換えました。
  • 書き換え前
versionCode 1
versionName "1.0"
  • 書き換え後
versionCode 2
versionName "1.1"

2015-09-15

Xperia Z3 SO-01G のソフトウェアアップデート

本日(9 月 15 日)、NTT docomo から Xperia Z3 SO-01G のソフトウェアアップデートの配布が開始されました。このアップデートには、前回のアップデート時に入り込んだ『一部地域にてテレビが視聴できない場合がある』不具合が修正されているそうです。スマートフォンでテレビを見ることは少ないですが、あると便利なので早速アップデートしておきます。

手順は以下の docomo ホームページに記載があります。
[Xperia(TM) Z3 SO-01G の製品アップデート情報 | お客様サポート | NTT ドコモ]

2015-09-14

Android Studio でアプリに AdMob を追加

このブログで作成したゲームアプリのようなクソゲーカスアプリでは収益化はまず不可能ですが、後学のため AdMob の追加を実践してみます。Android Studio を使ってアプリに AdMob を追加し、広告を表示するための基本的な手順は以下のページに記載されています。
[Android 向け Mobile Ads SDK]

私が作成したアプリの MainActivity (ゲーム画面)に広告を表示するのはプレイの邪魔になるため、MainActivity ではなく Fragment を使った設定画面の下に広告が表示されるようにしました。少しはまったので、手順を記しておきます。(※ 上記ページの手順で "メイン アクティビティ レイアウトに AdView を配置する" までの手順は同じです。)

レイアウトに AdView を配置する


設定画面を表示している SettingsActivitySettingsPreferenceFragment を使っているだけなので xml によるレイアウトは使っていませんでした。AdMob を表示するための AdView と PreferenceFragment を同居させるにはレイアウトを使ったほうが存外簡単そうなので、まずは "layout" 以下に "activity_settings.xml" を作成しました。

Google AdMob に申し込む

アプリに広告を付けることで、収益化が可能となる Google AdMob の登録方法について紹介します。(※ Google アカウントを取得済みの前提で書いています。)

AdMob のアカウントを登録する


初めに AdMob のホームページからアカウントを登録します。
  • Google AdMob にアクセス
  • [AdMob に申し込む] をクリック

2015-09-13

作成した Android アプリを Google Play に登録

Android アプリの作成が完了し、署名付きの APK ファイルが作成できたら、次はいよいよ Google Play でアプリを公開します。以下にアプリ公開の手順を記します。

2015-09-12

Android Studio で Google Play 公開用アプリを作成

作成した Android アプリを Google Play で配布するには、公開用にデジタル署名付き APK ファイルを作成する必要があります。以下にその手順を記します。

アプリにデジタル署名を付ける


デジタル署名とは、配布するアプリの作成者を証明し、アプリが改ざんされていないかを確認するためのものです。
  • [ビルド] → [Generate Signed APK...] をクリック

Android Studio でアプリのアイコンを設定

今までは、アプリ一覧やアクションバーに表示されるアイコンにデフォルトのアイコンを使っていましたが、せっかくなのでオリジナルのアイコンを作成してみたいと思います。

アイコンを作成する


世の中にアイコンを作成するツールは色々ありますが、凝ったことをする気はないので私は Microsoft Office のオートシェイプでこんなアイコンを描いてみました。
円と四角を組み合わせてグループ化した図形を右クリックして [図として保存...] することで PNG 形式で保存することができます。

設定値を Android アプリに反映

今回は、前回作成した設定画面の設定を Android アプリに反映し、背景色を切り替えられるようにします。

設定値を参照する


onResume() を修正し、ゲーム画面が表示される時に設定値を参照し、画面の背景色が切り替わるようにします。(赤字部分を追加)
@Override
protected void onResume() {
    super.onResume();
    manager = (SensorManager)getSystemService(SENSOR_SERVICE);
    List<Sensor> sensors =
            manager.getSensorList(Sensor.TYPE_ACCELEROMETER);
    if (0 < sensors.size()) {
        manager.registerListener(
                this, sensors.get(0),
                SensorManager.SENSOR_DELAY_NORMAL);
    }
    SharedPreferences sharedPreferences =
            PreferenceManager.getDefaultSharedPreferences(this);
    String color = sharedPreferences.getString("background", "GREEN");
    if (color.equals("GREEN")){
        framelayout.setBackgroundColor(Color.GREEN);
    } else {
        framelayout.setBackgroundColor(Color.BLUE);
    }
}

2015-09-06

Google Developer アカウントの登録

作成した Android アプリを Google Play で公開するには Google Developer アカウントの登録が必要です。この記事で Google Developer アカウントの登録手順を紹介します。(※ Google アカウントを取得済みの前提で書いています。)

  1. Google Play Developer Console にアクセス
  2. [Google Play デベロッパー販売/配布契約書に同意し、自分のアカウント登録を関連付けることを希望します。] をチェックし [支払いに進む] をクリック

Android アプリの設定画面を作成

今回は、前回作成した ActionBar を使ったメニューを利用して Android アプリの設定画面を追加します。設定画面を使ってゲームの背景色を変更できるようにしたいと思います。

設定画面の定義を作成


まずは ActionBar のメニューにある "Settings" をタップした時に表示される画面を定義します。今回作成する設定画面は、背景色の選択肢をリストで表示し、選択できるようにします。
  • [res] を右クリックし [新規] → [Android resource file] をクリック

2015-09-05

Android Studio 1.3.2 へのアップデート

関連記事


Android Studio 1.3.2 がリリースされていたので、先日 1.3 にした Android Studio をアップデートしました。このアップデートにはいくつかのバグフィックスと Android M に関する情報の更新が含まれているそうです。詳しくは以下に記載があります。

アップデート手順


Android Studio アップデート手順は以下の通りです。
  1. Android Studio を起動し [Configure] → [Check for Update] をクリック
  2. [Update and Restart] をクリック

2015-09-03

Xperia のテーマポータルがオープン

9月1日から Xperia 用のテーマアプリをまとめたポータルサイトがオープンしたそうです。
チラッと見てみましたが、大量のテーマアプリがあってびっくりしました。気に入るテーマを探すのは大変そうだなー。
[Themes for Xperia™ devices]

テーマデザイナーの方は、自身が作ったテーマアプリを簡単にポータルサイトに登録できるそうです。"Theme Creator" というツールで誰でも Xperia 用のテーマを作れるそうなので、いつか自分でも作ってみたいけど、やっぱり絵心とか必要なんだろうか。。

詳細は以下からどうぞ。
[Developer World]