2010年9月6日月曜日

「ねちゃったー」を国際化www

For non-Japanese user.
Skip the description below.
Read a QR code at the bottom.

何でも「ソーシャル」とつけておけばええやろ的な、
超安直な考えで命名したソーシャルモーニングコール

まったくバズワードになる気配もなく(当然w)、
ソーシャルモーニングコールアプリ「ねちゃったー」を、
このままバージョンアップをせずに放置しようとしていたが、
なんと外国人ユーザーが確認できて、
http://twitter.com/ifiwasperfect/status/22877337585
さらにそのフォロワーから「何て言ってんの?」
っていうReplyがあったので、
http://twitter.com/realhairdntcare/status/22893562575
英語に対応してみた。
だが英語は分からんwww

まー、こんなクソアプリ、英語対応なんていらんよな。
僕もヒマやで。

もし、使ってみようと思われた奇特な方は、
下記QRコードからお願いいたします。(マーケットにリンクします。)

2010年8月31日火曜日

Froyo以前でも動作するアプリをa2sd対応する方法

【セルフPR】
・ねこぱβ(http://cat.picparks.com
・いぬぱβ(http://dog.picparks.com
も見てくれると嬉しいです。

---

この方法を使えば、わざわざOSのバージョンごとに、
設定を変えたアプリを用意する必要はありません。

Eclipseで開発をしていることを前提としています。

Androidアプリを作っていて、
1.6や2.1にも対応させながら、
2.2にも対応させたい場合は多々あるし、
今後も当分はそのニーズは消えないでしょう。

かといって、ビルドのターゲットを1.6にしていては、
AndroidManifest.xmlにinstallLocationが書けないので、
a2sdに対応できない。

今後ますます2.2が普及していく過程で、
それはとてもカッコ悪い。

なので、1.6、2.1対応させながら、a2sd対応させる方法を紹介します。

2010年8月30日月曜日

いわゆる、魔法の五行

五行じゃなくなった魔法の五行について、
あらためてこちらのエントリーに書きました。


/system/build.propに、
以下の5行を追加するとバッテリーの持ちを良くなるとか。
ro.ril.oem.ecclist=110,118,119
ro.ril.enable.a52=0
ro.ril.enable.a53=1
ro.ril.fast.dormancy.timeout=3
ro.ril.enable.sbm.feature=1

ちなみに、既にbuild.propに記載されているものもある(※)ので、
その辺り確認しながら追記した方が良いです。

※OpenDesireでは2番目と3番目が既に記載あり。

2010年8月26日木曜日

Androidアプリにおける収益モデルの検証

そもそもAndroidアプリで僕自身が儲ける気はさらさらないけど、
この盛り上がりつつある業界に片足だけでも突っ込んでいる以上は、
Androidアプリの持つ可能性は知っておくべき。

そのために収益モデルの検証として、
まずは広告による収益を取り上げたく、
過去に作ったグルーポン系サイトのアグリゲートアプリ(※)を使う。
オールクーポンジャパン様の公開APIを使わせていただいています。
 ありがとうございます。

当初は有料版も公開していたが、これを機に取り下げ。
併せて、無料の広告なし版も取り下げ。

このアプリをお使いになる場合は、
下のQRコードからダウンロードしてください。
(マーケットに飛びます。)

2010年8月23日月曜日

X06HTのルート化手順における、きっとハマる4つの注意点

【セルフPR】
・ねこぱβ(http://cat.picparks.com
・いぬぱβ(http://dog.picparks.com
も見てくれると嬉しいです。

---

1.r6-desire-root-alt.zipにrecovery-windows.batがない!
ないんです。
なので、代わりにr5-desire-root-alt.zipを使うと良いです。
見つからないかもしれないので、手っ取り早くダウンロードできるよう、
ここ(Google Docsにつながります。)に置きましたので、
ご自由に。

2.r6-desire-root-alt.zipが見つからない!
ファイルが置いているダウンロードサービスの制限で、
ダウンロードができないことがよくあります。
その場合は、下から落としてください。
ここ(Google Docsにつながります。)

3.Android SDKにusb_driverがない!
ないんです。
なので探してください。
見つからないかもしれないので、手っ取り早くダウンロードできるよう、
ここ(Google Docsにつながります。)に置きましたので、
ご自由に。

4.デバイスマネージャでAndroid Phoneが認識されない!
実はどこにでも書いてますが、久々にやると忘れます。
下記の記述を、usb_driverフォルダにあるandroid_winusb.infに追記。
場所はよく似た記述がある場所です。
; HTC Desire
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87&MI_01

2010年8月18日水曜日

グルーポン(Groupon)系サイトのアグリゲートアプリを開発しました。

【2010年8月26日追記:広告あり版だけにしました。】

オールクーポンジャパンの公開APIを使わせていただき、
グルーポン(Groupon)系サイトのアグリゲートアプリを開発しました。

たった1画面しかなく、気になるクーポン情報をクリックすると、
そのクーポンを提供しているサイトに遷移します。

なお、表示データはAPIの出力データに依拠するので、
テスト用と思われる不要な情報が混ざっていたり、
既に終了しているクーポンが表示されることもあります。
ご容赦ください。

また、今回はまったく同一機能を有するアプリを、
マーケットに3種類公開しています。

・無料・広告あり版
・無料・広告なし版
・有料版

とあり、広告あり版の広告収入、有料版の販売収入がもし発生すれば、
ハイチ大地震の被災者の方々へ寄付します。
ご協力いただけますと幸いです。

ちなみに、僕はオールクーポンジャパンとは何の関係もありません。

ダウンロードは下記QRコードからお願いいたします。
もしくは右の「Myアプリ」からダウンロード(無料・広告なし版のみ)をお願いいたします。

2010年8月17日火曜日

Twitter4j-2.1.xを使ったツイートのコーディング例

【セルフPR】
・ねこぱβ(http://cat.picparks.com
・いぬぱβ(http://dog.picparks.com
も見てくれると嬉しいです。

---

Twitter4jは2.1系から2.2系で使い方が変わったので、2.2系をお使いになる場合は、こちらの記事をご覧ください。

Twitter4jを使ったOAuth認証のコーディング例
もしくは、Twitter4jを使ったxAuth実装のコーディング例の続き・・・

OAuthにせよxAuthにせよ、requset_tokenとrequset_token_secretを取得すれば、
ツイートする部分については違いがないです。

今見たら冗長っぽい記述がありますが、そのままを載せます。

■開発環境
・JDK 6
・Android SDK Tools, Revision 6
・Twitter4j-2.1.3

■コーディング例

Twitter4j-2.1.xを使ったOAuth認証のコーディング例

【セルフPR】
・ねこぱβ(http://cat.picparks.com
・いぬぱβ(http://dog.picparks.com
も見てくれると嬉しいです。

---

Twitter4jは2.1系から2.2系で使い方が変わったので、2.2系をお使いになる場合は、こちらの記事をご覧ください。

Twitterクライアントを作るに当たって必要な認証方法として、
前のエントリで書いたように、よりセキュアな認証方法であるOAuth。

Twitter4jとSignpostの併用とか訳の分からないコーディングや、
返ってきたaccess_tokenをユーザーにメモらせたり、
JavaScriptで解析させたりするコーディング等、
クライアントアプリケーションだけで処理が閉じた、
まともなコーディング例が見つからずハマりまくったので、
僕のレベルで考えうるベストのコーディング例を紹介します。

説明が超ヘタクソなので、実際のソースを
TwitterLogin.java
TwitterSetting.java
に置いておきます。
ご自由にどうぞ。
※Dropboxにリンクしています。
ご覧になれない方がいらっしゃるようなので、
欲しい方はTwitter(@ky25_android)でメッセージください。

また、この実装を利用したアプリのソースを丸ごと公開しておりますので、
こちら
からダウンロードしてみてください。

■開発環境
・JDK 6
・Android SDK Tools, Revision 6
・Twitter4j-2.1.3

■前提
1.アプリケーション登録が完了している。(※)
※OAuthを使う場合、クライアントアプリであっても、
「ブラウザアプリケーション」として登録する。
2.Twitterに飛ぶためのボタン1つだけのActivity(以下、Activity1)と、
Twitterの認証画面を表示するActivity(以下、Activity2)の構成(※)。
※Activity2用に、WebViewを使ったレイアウトをあらかじめ作成しておく。
このレイアウトに設定したWebViewは、WebView01というIDにしています。

■注意点
1.CALLBACK URLには適当な文字列を設定しておく。
Twitterのアプリ登録で指定したCALLBACK URLとは別にしておいた方が混乱しない。
2.下記コードの中で「oauth_verifier」という概念が出てくるが、
これはaccess_tokenとaccess_token_secretを付与してもらうためのキー。

■コーディング例

Twitter4jを使ったxAuth実装のコーディング例

【セルフPR】
・ねこぱβ(http://cat.picparks.com
・いぬぱβ(http://dog.picparks.com
も見てくれると嬉しいです。

---

Twitterクライアントを作るに当たって必要な認証方法として、
前のエントリで書いたように、Twitterサポートとのやり取りや、
セキュリティ面からオススメしない認証方法であるxAuth。

とは言え、ある程度の需要もあると思われるので、
Twitter4jを使った場合のコーディング例を、一応紹介。

■開発環境
・JDK 6
・Android SDK Tools, Revision 6
・Twitter4j-2.1.3

■前提
1.アプリケーション登録が完了している。(※)
※xAuthを使う場合は、「クライアントアプリケーション」として登録する。
2.ログイン画面として、ユーザー名とパスワードを入力するフィールド(※)と、
ログインボタンを設定したレイアウトをあらかじめ作成しておく。
※ここでは、ユーザー名の入力フィールドはEditText01
パスワードの入力フィールドはEditText02というIDにしています。

■コーディング例

2010年8月16日月曜日

pmコマンドが見つからないときの対処方法

ROMをDeFrostに入れ替える過程の中で、
A2SDを使う場合にXDAでは以下の手順が記載されている。

1. Install the ROM
2. Reboot the phone
3. Open up a cmd/bash prompt, somewhere you have access to adb
4. run: adb- shell pm setInstallLocation 2

4で、pmコマンドが見つからないエラーが発生する場合の対処方法を紹介。