2011年6月8日水曜日

Android Marketに出して思ったこと

私はそもそも、どこに公開すればいいのかわかりませんでしたw
普通のMarketにはリンクが張られてません。

先輩には、パブリッシャーから云々かんぬん言われてたのを
思い出して、数分で見つけました。

ここにアクセスしてください。→Android Market
アップロードにはクレジットカードで$25必要です。
お金を取られるのは1回だけなので、
円高なうちにやっておいたほうがよいのではないでしょうか?

次に、アプリを公開するには、
apkファイルをアップロードしなければならないのですが、
一旦、載せたapkを入れ替えしたいとき、入れ替えボタンはあっても、
入れ替えしようとするとエラーになりました。
調べたところ、エラーになる場合は、一旦削除して登録しなおす必要があるようです。
(自分の場合だけかもしれないですけど)
↓アップロード前には[アップグレードをアップロード]の横に[入れ替え]があります。


※注意
アプリ上げて、説明文やら一通り書いたあと、apkを差し替えたいと思ったとき、
apkの欄で削除を押してはいけません。全部消えます。まずは、バックアップを取ってください。
自分は、消えました・・・(;。;)

あとは、適当に書いて、画像アップして、公開押せば完了です。
保存押した場合は、下書き状態で公開されません。

2011年6月6日月曜日

Androidアプリを誕生日にアップしました



過去に作った2Dシューティングがコンテストで余裕の落選!
とにかく、手直しが面倒だから全端末にコントローラを対応させただけで、あとは何もしてない。

クソゲーであることはやればすぐわかる。
ただし、プレイ内BGMは神曲です!!

たぶん、曲を楽しめばいいんじゃないかな?

2011年6月4日土曜日

QRコード生成javase

学校の課題でGuiアプリケーションをつくりました。
テーマはtextfieldのテキストからQRコードを生成するものです。

これが、なかなかにむずい。

そもそも、課題の要件がよく分かりませんでしたw

課題締切が終わったらソースコードを載せます。

Android他言語機能2.1の留意点

Androidには他言語対応させるのは簡単です。
res/フォルダ以下のフォルダを必要な言語数だけ作れば良いのです。
一般的に、デフォルトフォルダは英語用ファイルを入れます。
他の言語にはハイフン+言語の略称を入れます。例えば、日本語なら-jaをデフォルトフォルダ名とします。

ここまでは、簡単ですが…

WebViewで、ローカルhtmlファイルを表示したいとき問題がはっせいします。
他のファイルのようにres/raw(英語版)とres/raw-ja(日本語版)にhtmlファイルを入れて
以下のように実行する。
webView.loadUrl("file:///android_res/raw/index.html");

2.2以降であればきちんと出力されるが、2.1だと「ファイルが見つかりません」的な表示になる。
2.1の場合、htmlを出力させるにはres直下では配置しても表示されない。
もともと、htmlはassetsフォルダ直下に配置して出力するもので、多くの本やサイトには
webView.loadUrl("file:///android_asset/index.html");

で書かれる。
だけど・・・・assetsはres直下じゃないから、-jaが効かないです。

はてさて、どうしましょう?

発想を変えてみましょう。
フォルダで分離できないなら、ソースコードで分離すればいいですよね。
さて、ソースコードで言語を区別するにはどうしましょうか?

端末の言語を調べるにはLocaleクラスがあります。
そこで、
String mlocale = getResources().getConfiguration();
    mm  = mlocale.locale.getLanguage();
    mmm = mlocale.locale.getDisplayCountry();
    if (mm == "ja" || mmm == "JP) {
        //日本語htmlで表示
    webView.loadUrl("file:///android_asset/indexja.html");
    }else{
        //英語htmlで表示
        webView.loadUrl("file:///android_asset/index.html");
    }

としてみる。が、しかし・・・
英語しか表示されない。そこでgoogle先生に調べてもらったところ、
夢茶爺&苦茶爺のPC奮戦備忘録 さん
にて、紹介されえていました。
if ( Locale.JAPAN.equals(Locale.getDefault() ) {
        // 日本語の処理
    webView.loadUrl("file:///android_asset/indexja.html");
    } else {
        // 英語の処理
    webView.loadUrl("file:///android_asset/index.html");
    }

これで、うまくいきます。
夢茶爺&苦茶爺のPC奮戦備忘録 さんは日本AndroidのMLを参考にされたそうです。
日本Androidの会 Sue さん

というかんじです。お疲れ様でした。

Android 書籍 私的偏見でまとめる

とりあえず、書籍のレビューをしてみます。
立ち読み程度の本も多いので、役に立たないかもです。
今月末、お給料入ったら買いあさるんだぁ・・・という謎のフラグを立てておいて

openGLでオススメする本は、この前の記事に書いた本が良いかと思います。


他にも・・・

良書なのですが、値が張ります。図書館で利用させてもらってます。

ところで、Android NDKについては・・・

・環境構築に関しては

が分かりやすいです。

・組み込み系だけど、NDKも

大学4年生時代に、組み込み系に挑戦しようと、本書を読みつつ取り組んでみたが、3ヶ月では無理でした。しかも、PC側の研究もしなきゃいけなかったし・・・(言い訳乙)
ハードに近いことを学びたい人向けです。
※BeagleBoardの基盤(AndroidOSが入れられる基盤)が必要なのでご注意を

・本格的なNDKアプリ例は・・・
英語版


日本語版

安生さんが監修してます
本格的なソースコードを学べるけど、実用的に使いこなす力を身につけるにはちょっと合わないかも

・自分が特にオススメするNDK本は
日経ソフトウェア5月号~

のAndroid NDK 特集がオススメ、Simejiを作った adamrocker さんの特集です。
Androidだけのために日経ソフトウェアを買うのは高いという方は、
記事のみ購入することもありかもしれませんね。それでも、単価は結構しますが・・・w
日経BP記事検索
第1回
学校等で日経記事検索のライセンス契約している方は、是非それを使うべきだと思います。
ただだから・・・

・レイアウト関連
 せっかくアプリを作ったらきれいなレイアウトにしたいですよね。

あんざい さんの本です。自分はまだアプリの処理をゴリゴリ書くだけで、レイアウトは後回しにしているので、読みきれてませんが今後かなり必要になるでしょう。

自分の作ったシューティングアプリもかなりいい加減でしたので、
参考にしながら直していきたいと思います。

こちらもおススメ

こちらも同様にレイアウト本ですが、デザイン能力のない私ですが参考になります。
ただ、自分には読むのが難しいです。
本書を読みきって使いこなせたら、かなり自分の武器になるかと思います。


・入門書
 どれも似たり寄ったりです。悪いという意味ではなく、どれも良い本なのですが、入門なだけに内容がどうしても似てきてしまうという意味です。一冊は手元にあったほうが良いかと思います。決め手は、自分が作りたいアプリに近いサンプルアプリがある本を選んで、実際に作ってみるのがよいのではないでしょうか。
自分が始めて勉強したのは講習会です。当時はただついていくだけで精一杯で、後日色んなアプリを作ってみて慣れていきました。好きなものを作ってみることが大事です。

・逆引き
 会社でアプリ作るときは、これがメインです。まあ、一番多いのはGoogle先生ですが・・・w


 初心者であれこれ試してみたいという方は

がおススメです。自分も良く使います。ハードウェア系、DB,ネットワークなどのクラスやメソッドの使用例が載っています。レシピを基にソースを改造していけば、簡単にオリジナルアプリが作れますね。

・ゲーム
Androidでとにかくゲームを作りたいという人はこれ

このシリーズ、いいですよね。おススメです。

こちらもおススメ。ゲームは一部の記事だけですが・・・
記事が欲しい人は上記の記事検索で・・・これがあるかはわかりませんが・・・

シューティングの基盤はここで抑えられます。自分はこの記事を参考に、
シューティングゲームを作りこみました。

他にも、ありますがまだ読めてません。
(ネットワーク(クジラ飛行机さんの本とか)、業務、クラウド、日経本、iPhoneとのクロスプラットフォーム)
ネットワーク系とかは今後手を出していく予定です。
資格本は資格試験が高くてまったく興味ありませんので、他の方のレビューを見てください。
お勧めがありましたら、ぜひともコメントもしくはTwitter等で教えてください。

C# + XNA シューティングゲーム基盤を作る

C#の経験はないですが、始めないことには作品は完成されないので、基盤までなんとか進めました。
素材がひどいのは、仮の素材だからで、完成したときはちゃんとしてます(キリッ

JAVAに似てるところもあるけど、なれてない今の自分には難しい・・・


Androidアプリ開発知っておくと便利かもしれない基礎知識

NDKの経験はHello,World!しか経験なく
SDKでゴリゴリとプログラムを書いてる私の些細な経験則。

ndkも,sdkもどちらにしたって、
AndroidアプリをつくるならJava知識が必要なわけなので
アプリを作りこむ上で知っておいたほうが良いかもしれないことを書きます。

・複数のクラス間で情報を共有する場合
あるstaticなメンバを作ってしまうのが便利です。
自分はそうしてます。他の方法を知らないので・・・

staticなメンバは常に値を保持し続けるので、再利用的な感覚で使えます。
例えば、AというクラスでBというクラスから生成したメンバに値を入れておき、
Cというクラスでメンバの値を読み込みたいときはメンバをstaticにして
B.メンバ名 で流用して使えます。

まあ、知ってる人には役立たないし、もっといい方法があるかもしれない。
今は知らないので、こんなかんじで使ってます