Androidマーケットにアプリを出してみた [Android開発]
Androidマーケットにアプリを出してみました。
ポータブルWi-Fi アクセス
http://market.android.com/details?id=com.taiseiko.tetherWidget
開発経緯
Android2.2からは標準の機能でポータブルWi-Fiアクセスつまり、Wi-Fiテザリングの機能があります。しかし、残念ながら国内で販売されているAndroid端末の多くはこの機能が塞がれてしまっていて使えないに等しいのですが、カスタムROMやrootを取得してファイルを弄る事で有効にできます。
私のXperia arcも標準のテザリングを有効にしてみたのですが、この設定がどうも深い。深すぎて面倒くさい。それならば、ウィジェット作ってしまおうと思い作ってみました。
開発過程
実は作る前はAPI一つ呼び出せば楽勝だと思っていたのですが、テザリングのAPIは実は非公開API(@hide)で初めは諦めようと思いました。ただ、ググるとどうも無理やりできそうな感じなのを掴めましたので、Androidのソースを見ながらリフレクションでメソッドを呼び出して完成した次第です。
以下のような感じでメソッドを呼び出しています。これはWifiアクセスポイントが有効か否かを取得するAPIです。
private boolean isWifiApEnabled(Context context) {
WifiManager wifi = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
Method[] wmMethods = wifi.getClass().getDeclaredMethods();
for (Method method : wmMethods) {
if (method.getName().equals("isWifiApEnabled")) {
Log.i("isWifiApEnabled", "getMethod");
try {
Object o = method.invoke(wifi);
Log.i("isWifiApEnabled", o.toString());
return (Boolean) o;
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
return false;
}
このような感じで、それっぽいAPIを駆使して作ります。参考にするのは
android.net.wifi.WifiManager
com.android.settings.TetherSettings
です。
マーケットの登録
マーケットの登録は初回に25ドル、日本円で約2000円がGoogleクレジットで必要になります。電話番号の入力が国番号(+81)なども入れなければならないので、ちょっとややこしい(06-xxxx-xxxxの場合、「+81-6-xxxx-xxxx」の形式で入力しなければならない)のですが、書籍などを見れば注意点なども記述されていますので、大きな問題は無いと思います。
まとめ
今回はとりあえず登録する事だけが目標でしたのでこれで良いのですが、今後はもう少し面白いアプリなどを考えたいですね。ただ、アプリそのものの開発よりもアイコンや国際化対応のための英語表示などに変な労力を必要としてしまいます。ここはパートナーを見つけるとか、自分なりに語学力を磨かないと広く世間に伝える事ができないと痛感しました。
良かったら、ダウンロードして試してみて下さい。無料ですし、広告も表示されません。
最近購入しました。凄く良いです。
珍しいゲーム向けの書籍。OpenGLはややクセがあるので本があると助かりそう。
OpenGLで作る Android SDKゲームプログラミング
- 著者: 中島 安彦,横江 宗太,株式会社パンカク
- 出版社: インプレスジャパン
- メーカー: インプレスジャパン
Androidのデザインと言えばこの著者の方は有名です。
Android Layout Cookbook アプリの価値を高める開発テクニック
- 著者: あんざい ゆき
- 出版社: インプレスジャパン
- メーカー: インプレスジャパン
Androidマーケットにアプリを出してみた
Androidマーケットにカメラアプリを出しました。
コメント 0