2013 年 5 月 19 日

apkファイルアップローダーを作る(第1回)

apkファイルアップローダーを作る

[jQuery File Upload]

アップロードしたapkファイルをapktoolでデコードして、アプリの情報を返すコマンドライン形式apkファイルアップローダーを作成してみたいと思います。今回は、jQuery File Uploadのサーバーサイドの実装を利用して作成します。

jQuery File Uploadはjqueryを使って、Webページからファイルアップロードするライブラリです。マルチファイル選択・ドラッグ&ドロップ・プログレスバー・イメージプレビューなど多くの機能を備えています。サーバサイドの実装もPHP,Python,Ruby,Perl,Node.js,Go,Java,Scala,ASP.NETと、非常に多くの言語をサポートしています。
jQuery File Uploadのデモページでは、bootstrapを利用していますが、必須ではありません。

続きを読む »

2013 年 5 月 11 日

話題のParseのandroid SDKを使ってみた

話題のParseのandroid SDKを使ってみた

[Parse]

Parseはモバイル用BaaS(Backend as Service)を提供していますが、今回、Webホスティングサービスもリリースされました。Cloud Codeというサービスで、Javascript SDKを使ったJavascriptアプリをParse Cloudで動作させることができます。

もちろん、htmlや画像などもアップロードすることができます。使い方はHerokuと似た感じで利用できそうです(Webホスティングはファイル容量は10MBで、ファイル数は500filesまでとなっています)。

今回は、BaaSで提供されているAndroid SDK(他にiOS,OSx,Android,JavaScript,.NET用が用意されています)を使って、アンドロイドアプリから、Parseの使い方をご紹介します。SDK以外に、他にREST APIやPush Notificationも用意されていて、モバイルアプリの開発をサポートしてくれます。

続きを読む »

2013 年 5 月 10 日

アンドロイドアプリからGoogle Cloud Messagingを使う方法(第3回)

アンドロイドアプリからGoogle Cloud Messagingを使う方法(第3回)

[Google Cloud Messageing]

今回は、サーバサイドの実装方法について、説明します。サーバサイドでは、GCMサーバから通知を受信したクライアントアプリからレジストレーションID登録・解除要求を受け付けて、レジストレーションIDを管理する必要があります。サーバアプリから端末へメッセージを送信するには、このレジストレーションIDに対しメッセージを指定して、送信します。

サーバアプリはPHPとcurlコマンドを利用します。レジストレーションIDを登録・解除するプログラムはPHPで実装して、メッセージ送信はcurlコマンドで実行します。

続きを読む »

2013 年 5 月 9 日

アンドロイドアプリからGoogle Cloud Messagingを使う方法(第2回)

アンドロイドアプリからGoogle Cloud Messagingを使う方法(第2回)

[Google Cloud Messageing]

前回は、GCMを利用するためのGoogle API consoleからサーバーキーを生成するところを説明しました。GCMはクライアントのアプリ(以後、クライアントアプリとします)だけではなく、メッセージを送信するサーバーサイドのプログラム(以後、GCMサーバと区別するためサーバアプリとします)が必要です。

サーバアプリのプログラムはPHPを利用します。どちらから説明すればいいのかは、にわとりが先か卵が先かのような話になりますが、まずは、クライアントアプリの実装から説明します。GCMのサンプルとして、androids-sdkにgcm-demo-clientがありますので、このソースコードを解説する形で説明していきます。

続きを読む »

2013 年 5 月 8 日

アンドロイドアプリからGoogle Cloud Messagingを使う方法(第1回)

アンドロイドアプリからGoogle Cloud Messagingを使う方法(第1回)

[Google Cloud Messageing]

Google Cloud Messaging(以下、GCMとする)は、アンドロイド端末にメッセージをプッシュ配信するクラウドサービスです。これを使うと非同期に端末アプリへメッセージ送信が可能になり、様々な通知が可能となります。

身近な例では、新着メール、アプリ更新、その他のお知らせ通知などで利用されています。あまり頻繁に通知されるとユーザーに敬遠されますので、使い方には工夫と節度が必要です。

GCMはクライアントだけではなく、メッセージを送信するサーバサイドのプログラムが必要です。少し長くなりますが、数回に分けて、その実装方法をご紹介します。Google API consoleの画面が以前と変わっているようですが、これが(2013/05)最新のものです。

続きを読む »

2013 年 5 月 7 日

アンドロイドアプリからTwitterへログインする方法

アンドロイドアプリからTwitterへログインする方法

数回にわたり、アンドロイドアプリからソーシャルログインする方法をご紹介してきました。今回はTwitter4jを利用したTwitterへのログイン方法をご紹介します。

バージョンは3.0.3を利用します。3.0.3はTwitter API v1.1に完全対応しているそうです(Twitter API v1は2013/6/11までしか利用できません。当初は2013/5/7でしたが順延されました)。また、アンドロイド版も統合されたもので、スリム化もなされているそうです。

続きを読む »

2013 年 5 月 6 日

アンドロイドアプリからFacebookへログインする方法(後編)

アンドロイドアプリからFacebookへログインする方法(後編)

前回はコーディングの前の準備として、Facebook SDK3.0のダウンロード、Facebook App作成などについて説明しました。
今回は実際にアンドロイドアプリからFacebookログインする部分をコーディングしていきます。
前編の「アンドロイドアプリからFacebookeへログインする方法(前編)」も参照しながら、読んでください。

一番簡単な実装は、Facebook SDKに含まれているButtonウィジェット(com.facebook.widget.LoginButton)や認証ダイアログ(com.facebook.widget.UserSettingsFragment)を利用することだと思います。

続きを読む »

2013 年 5 月 5 日

アンドロイドアプリからFacebookへログインする方法(前編)

アンドロイドアプリからFacebookへログインする方法(前編)

前回では、アンドロイドアプリからGoogle+へログインする方法をご紹介しました。
Facebookからのログインは、Twitterからのログインと合わせて備えているアプリが多いです。

Facebook SDK3.0になってから、Facebookクラスがdeprecatedされて、大きく変わったように思います。Facebookは常に改善が加えられているためか、よく仕様が変わるように思います。気づかずそのままにしていると、いつのまにやら、動作しないアプリになっているときもあります(最近は変更通知がくるようになりました)。

続きを読む »

2013 年 5 月 4 日

apktoolでアンドロイドアプリの.apkファイルの中身を調べる

apktoolでアンドロイドアプリの.apkファイルの中身を調べる

[apktool is great!]

.apkファイルを読み込んで、アプリのバージョンやアプリのアイコンを取り出したいなと思って、.apkファイルを解析できるツールを探してみました。.apkファイルのリバースエンジニアリングツールはいくつかあるようですが、その中で今回はapktoolを使ってみました。

jarファイルと同様なアーカイブファイルです。zipを使って簡単に解凍することができます。しかし、そこに含まれているAndroidManifest.xmlはバイナリ化されており、簡単に読むことができません。apktoolを使うと、解凍だけでなく、AndroidManifest.xmlもデコードしてくれます。

続きを読む »

2013 年 5 月 3 日

数百台のアンドロイドタブレットにインストールする有料アプリを購入するには

数百台のアンドロイドタブレットにインストールする有料アプリを購入するには

[PrinterShare is wonderful!]

企業向けタブレットアプリ開発をしていると、こういう問題にも突き当たります。数台だったら、Google Playからダウンロードすればいいかとなりますが、数百台となると、Googleアカウントも数百必要なの?決済は一台ずつ?など、色々疑問がわいてきます。

無料アプリなら、ひとつのGoogleアカウントで複数の端末にダウンロードすることは可能でしょうが、有料アプリの場合、ひとつのGoogleアカウントでダウンロードできたとしても、ライセンスの問題で利用できないことがあります。それができても、一台ずつGoogle Playからダウンロードして決済するのは気が遠くなる作業です。

続きを読む »