うみたんのアトリエ

Android開発とかメモっておきたいこと記録していくの。

課金システムの準備

課金システムの準備を行う。

1. In-app Billing ライブラリを追加する
まずはSDKの取得。
以下のURL参照。
http://developer.android.com/intl/ja/training/in-app-billing/preparing-iab-app.html#GetSample

Android SDK Managerを起動し、Extrasから
Google Play Billing Library」にチェックを入れ、インストールを行う。
f:id:umitan0311:20130901231422p:plain


2. IInAppBillingService.aidlの配置
インストールが完了したら、IInAppBillingService.aidlの配置を行います。
IInAppBillingService.aidlの場所は
(sdk)/extras/google/play_billing/にあります。
このIInAppBillingService.aidlを自分のプロジェクトへコピーします。
コピー先は
(アプリ)/src/com/android/vending/billing/IInAppBillingService.aidl

コピーし、プロジェクトのビルドをすると自動的にIInAppBillingService.javaが生成されます。
f:id:umitan0311:20130901235429p:plain



3. AndroidManifest.xml を変更する

<uses-permission android:name="com.android.vending.BILLING" />

を追加する。

※< は半角です。
半角にするとなぜか消えてしまう。。。



以上で課金システムの準備は終わりです。
次からは実際に実装をしてみます。

Homeボタンを押された時の処理

Homeボタンを押された時の処理は以下を使用する。

@Override
public void onUserLeaveHint() {
  // 処理
}

ただし、戻るボタンが押された時は反応しません。
new Intent()をしたときも呼ばれるようです(実機確認済)

Google Play ディベロッパープログラムポリシーの更新

Google Playディベロッパーコンソールを開くと
このようなメッセージが現れました。
f:id:umitan0311:20130901194923p:plain

2013年8月23日より、新しいGooglePlayディベロッパープログラムポリシーが、
本サービスに送信されるすべての新しいアプリケーションに対して適用されます。
この通知の掲載から30日以内に、ディベロッパーは、既存のアプリケーションをポリシーに
準拠させるか、自発的に公開を停止していただくようお願いいたします。

適用しないとアプリを公開しちゃダメっていってます。
30日以内ということは、9月23日までということかな。

http://play.google.com/about/developer-content-policy.html

こういったアプリがダメと言っています。

  • 露骨な性表現を含むコンテンツ
  • 暴力またはいじめ行為
  • 差別的な発言
  • なりすましまたは虚偽の振る舞い
  • 個人情報や機密情報
  • 知的財産権
  • 違法行為
  • 賭博行為
  • 危険なアイテム

賭博行為とかは宝くじ、競馬予想アプリなどは公開しちゃダメ、
知的財産権は商標や特許権のものを勝手に利用したアプリを公開しちゃダメ。
Android開発者はプログラムポリシーをよく読んで
こういったアプリを公開しないよう気を付けましょう。

もしも守られなかった場合はGoogleさんがアプリを削除しますよと通知のメールがくるようです。
デベロッパー販売/配布契約またはこのコンテンツ ポリシーへの深刻な違反があった場合や、違反を繰り返した場合は、アカウントが停止されます。
著作権などの知的財産権の侵害を繰り返した場合も、アカウントが停止されます。

厳しくなるんですねぇ、しみじみ。

GAEプラグインのインストール後

お出かけしていたら、インストールがいつの間にか終わっていました。
時間がかかったのはネットワークの環境の問題ですかね。

インストールが完了したら、該当するパッケージが表示されるので、
すべてのチェックボックスにチェックを入れ、[次へ]ボタンを押します。
f:id:umitan0311:20130901175745p:plain

インストールパッケージの確認を行います。
f:id:umitan0311:20130901180442p:plain

最後に[次へ]ボタンをクリックし、ライセンスの使用条件の条項に同意しますの
ダイアログにチェックを入れ、[完了]ボタンをクリックすれば
完了です。
f:id:umitan0311:20130901180757p:plain

[完了]ボタンのクリックで、ソフトウェアのインストールが開始します。
f:id:umitan0311:20130901181004p:plain

途中、セキュリティの警告やファイヤーウォールのダイアログが表示
されますが、すべて[はい]を選択しインストールを進めます。

インストールが完了すると、ソフトウェア更新ダイアログが表示されますので
Eclipseの再起動が終われば完了です。
f:id:umitan0311:20130901182149p:plain

GAE(Google App Engine)のプラグインのインストール

プロジェクトの作成をしなければ何もはじまりません。
まずはプラグインのインストールをします。
(※ EclipseJava等はすべて入っている前提です)

Eclipseを起動し、ヘルプ - 新規ソフトウェアのインストール を選択します。
Eclipseの日本語のパッチの当て方は別途。
(パッチ当ててないかたが多く見受けられます)
f:id:umitan0311:20130901113443p:plain

作業対象のテキストボックスに
http://dl.google.com/eclipse/plugin/4.2
と入力します。
f:id:umitan0311:20130901113746p:plain
なお、ここでは3.7プラグインを使用していますが、この数字は使用しているEclipseによって以下の通り異なります。

Eclipse 3.3 (Europa) http://dl.google.com/eclipse/plugin/3.3
Eclipse 3.4 (Ganymede) http://dl.google.com/eclipse/plugin/3.4
Eclipse 3.5 (Galilo) http://dl.google.com/eclipse/plugin/3.5
Eclipse 3.6 (Helios) http://dl.google.com/eclipse/plugin/3.6
Eclipse 3.7 (Indigo) http://dl.google.com/eclipse/plugin/3.7

私の場合、Eclipseのバージョンが4.2のため、4.2と入力します。
Eclipseのバージョンの確認方法は、
ヘルプ - ADTについてからひかられるダイアログを見ます。
Android用にしてあるためADTと表示されていますが、通常はEclipseについてです。
アイコンにカーソルをあてツールチップが「Eclipse.org」となっているものをクリックします。
フィーチャー名が「Eclipseプラットフォーム」となっているもののバージョンをみます。


入力したら、[追加]ボタンをクリックすると以下のようなダイアログが表示されます。

リポジトリ―の追加ダイアログ
f:id:umitan0311:20130901113945p:plain

名前を適当に(ここではGoogle App Engine)入力して[OK]ボタンを押しておきます。
OKを押すと、名前のところが保留中…になってしばらく待ちます。
Eclipseの右下のところを見ると
GoogleAppエンジン・・・出し中(XX%)になっているのがわかります。
どうやらアクセスはOKのようです。
だいぶ時間がかかっています。
f:id:umitan0311:20130901115745p:plain

ううむ。遅い。。。

GAE_アプリケーション領域の作成編

次にGAE上にアプリケーション領域の作成を行います。
f:id:umitan0311:20130901012351p:plain

Create an Application上にて
Application Identifier:に任意の名前をつけます。
6文字以上30文字未満で入力します。
[Check Availability]で入力した文字のチェックを行います。
入力した文字がほかの人に既に使われていたりすると、エラーになります。

Application Title:にも任意の名前をつけます。

そして□I accept these terms.にチェックを入れ、
[Create Application]をクリックします。

成功すると以下のような画面になります。
f:id:umitan0311:20130901111248p:plain

appspot.com上に.appspot.comという領域が作られました。
まだアプリケーションをアップしていないのでアクセスしても何もありません。

GAE(Google App Engine)に登録してみるてすと。

これからGAE(Google App Engine)に登録してみます。
登録のしかたを調べながら登録してみますね。


https://appengine.google.com/startにアクセスします。

開いたらこんな感じ。
なんともシンプルでビックリしました。
f:id:umitan0311:20130901010333p:plain

② [Create Application]ボタンをクリック
③ 入力画面に自身が持っているAndroid端末のキャリアとそのメールアドレス(@より前の部分)を入力します。
f:id:umitan0311:20130901010922p:plain


迷惑メール対策の設定を行っているためか、認証コードが届かない!
設定はずしてもまだ届かないので、後述します。

あっ、disney選んでたwww
誰かにメール飛んでたらすいません。
そしてメールきました。

④ メールに記載されている確認コードを入力し、[確認]ボタンをクリック。
以下のような画面が表示されます。
これで登録は完了です。
f:id:umitan0311:20130901012351p:plain

次はアプリケーション領域の作成ですが、次回記載します。

簡単プログラミングツールが流行らない理由

簡単にAndroidアプリをプログラミングするツールが流行らない理由を考察する。

AppInventorやJointAppsなど、プログラミング言語の知識は不要でブロックを組み立てることによって簡単にアプリが作れるものがある。

私自身がJavaプログラマーだからかもしれないが、こういった便利ツールの存在自体知らなかった。

一般的にこういったツールは多くの方に利用されているのか?
されていたとしたら私も目に耳にするはず。
目にも耳にもしないということは、あまり広まっていないのかもしれない。

プログラムを元々作らない人にとってはプログラミングすることはそう容易ではない。
こういったツールを利用するのはよいが、こういった類のものは、たいていパターン化されていてオリジナルのものが作れず、自由がきかない。
またそのブロックがどういうプログラムの構造で作られているのか分からないため、〝プログラミング”することの楽しさが見出せない。

最初は確かに楽しいかもしれない。
でもこれではなんの意味もない。

日本をもっとプログラミング出来る技術者を増やそうとして、学校教育でもプログラミングの授業を取り入れているとか、いないとかそういうニュースを目にした。

どういう作りでどういうロジックで動いているのかを勉強するのが本来やるべきことではなかろうか。
簡素化して何も考えさせないという風潮は良くない。

どんどんバカが増えて、そんなバカ相手に苦労する技術者が目に見えます。

なんか思っていることをダーっと書き留めただけでまとまってませんが、簡単にいうとあたしはこういうツールは否定派です!!

開発者泣かせ?

誰でも簡単にブロックを積み重ねることで簡単にAndroidアプリが作れるという…。

ライバルが増えてくやん!>_<
や!め!て!

でもさ、頭使わないでこういうのばかり利用していると馬鹿とプログラミングができる人との二極化が進むよね。
本当に大変なのは提供者。

これがプログラミングって思われそう。作りがみんな似たようなものになりそうだし。

あんまりこういうの出さないでほしいな、本人の為にならないし。

Androidのアイコンのサイズ

いつもapkファイルを作るときにアイコンサイズを忘れてしまうので
記録しておきます。

フォルダ名から順に。


  • drawable-hdpi 72×72(ピクセル)
  • drawable-ldpi 36×32(ピクセル)
  • drawable-mdpi 48×48(ピクセル)
  • drawable-xhdpi 96×96(ピクセル)
  • drawable-xxhdpi 144×144(ピクセル)


ファイル名はすべて同じで格納すること。
ファイルの拡張子はpng形式(ここ重要)
ファイル名を変更したら、AndroidManifest.xmlのapplicationタグの
android:icon="@drawable/<ファイル名>"を書き換えること。

これまもんないでAndroidマーケットにAPKファイルを登録しようとするとエラーになるよ!