SSブログ

このブログについて [androidアプリ開発]

このブログでは、プログラミングの知識ゼロのド素人がandroidのアプリを開発していくまでの辛酸苦闘を書いていきます。

初心者のために書くというより、自分の覚書的に書き綴っていくので、きちんとした解説サイトのように役に立たないかもしれませんが、作者の無謀な挑戦を鼻で笑いつつもナマ暖かく見届けてください。

更新は不定期です。1ヶ月くらい空くようなことがあれば挫折して旅に出てると思ってください。

対象はandroid2.2以降、JAVA-JDK7、eclipse3.7.1です。


コンテンツ [androidアプリ開発]

- | 次の10件

アクセス解析[その他]

ブログスタートして1週間(ちなみにスタートは2012年1月31日)。

まだHelloWorldもやってない(´・ω・`)

でもマイペースでいこう。


ところでso-netブログのアクセス解析によると一日100アクセスくらい来ていて、できたばかりのブログなのになにこれすごいひゃっほぅとか思ってたらOS不明のBOTだらけでごらんの有様だよ!

実アクセスは10切ってるですし・・・(´・ω・`)


ブログはじめました[その他]

初心者向けアプリ開発ブログはじめました。

書いてるボクがド素人の初心者なので、きっと難航しまくると思います。

書店にいくと「誰でもできる~」、「10日でマスターする~」とかいうフィッシング詐欺みたいな本がいっぱいありますが、本当にド素人にアプリが作れるのか、ちょっとがんばってみたい。



エルスの天秤FREE[アプリレビュー]

今年最初のクソゲーでした(´・ω・`)

クリアもせずにクソゲー認定すんなよ!
とか言われる前にクリアはしました。

image01.jpg
実機キャプチャはないです。Marketの紹介画像から。
もう二度と起動したくなかったので。

とくちょう
・太古の昔からよくあるドラクエ風RPG
・モンスターを仲間にできるのでドラクエ5風。

ここがダメすぎる
・ゲームバランスおかしい
こんなに死ぬRPGはドラクエ2のロンダルキア以来。
武器に命中率があるが、手に入れるまでわからない。大枚はたいて買ったらクソ武器だったりする。
武器スキルをLV7まであげても命中率88%とかで、運が悪いと3ターン連続スカして雑魚に全滅させられることも。
・店売り装備高すぎる
終盤の敵でさえ1匹倒して得られるゴールドは100程度。後半の店売り装備は1万以上。
・本当の敵は着信とメール
Androidアプリのプログラムで言うActivityのライフサイクルがおかしい。というか理解して作ってるとは思えない。
着信やメールの割り込みが入るとアプリが「終了」して、再開は前回のセーブポイントから。こんなの絶対おかしいよ。
サスペンド機能があるけど、再開したら保持データが消えるので意味が無い。
・余計なUI
基本はソフトウェアキーで操作する。が、ゲームウインドウ自体がタッチできるようになっていて、画面を4分して上下左右の入力ができる。これがすごいうざい。なぜかというと、ソフトウェアキーの「右」とゲーム画面が近すぎて、右へ進んでる途中でいきなり左へ進みだす。ゲームウインドウの左部分に触れてしまうから。クリアまでに数百回はこうなる。
・グラフィックはお粗末
しょせん携帯時代のポケットゲームという感じ。
・しょぼいエンディング
予想通りのストーリー展開とファミコン時代のようなエンディング。
UIと着信に苦しめられてクリアしてこの仕打ち・・・(´・ω・`)

マーケットでの評価がいいんだけどみんなこんなのでストレスたまらないのがふしぎ。


ボクが作るアプリもきっとボロクソ評価されるだろうから今のうちに他人のアプリをボロクソに評価しておくです(´・ω・`)



Androidでrootを取らずに画面キャプチャする[androidアプリ開発]

エミュも入って開発環境も整ったところで、プログラムを走らせる前にちょっとしたTIPを。

アイフォーン(笑)で画面キャプチャするのはもともとそういう機能があるので簡単にできる。
でもAndroidでキャプチャしようとするとかなり難易度が高くなる。

マーケットにキャプチャアプリが出てたりするけど、対象機種がものすごく限られるうえに動作確認機種以外ではほぼ動作しない。
OSのrootを取るとキャプチャできるようにもなるけど、自作アプリがrootでは動いてノーマルだと動かないとかそういうめんどうなトラブルが出たりしたらマジめんどくさいのでrootは取らずにキャプチャしたい。

前回までの開発環境セットアップのときにAndroidSDKのUSBドライバをインストしているはずなので、まだ入れてない人は今すぐ入れよう。

ちなみにボクのスマホはHTCのDesireです。
実際の使用感ではDocomoのGaraxyより速くて申し分ないけどメモリ少なすぎるだろおい(´・ω・`)

HTCのwebサイトでHTC SyncというのをDLしてインストしておく。
Desireのドライバが含まれてるらしいのでこれでOK。

と思いきや、ぜんぜんうまくいかない。なにこれ。

調べてみると、ドライバを認識してない感じ。

AndroidSDKでUSBドライバの記述がどこかにあるので、これを探す。
webで調べたドキュメントだと、
C:\Program Files\android-sdk-windows\usb_driver
にあるらしい。

なかった(´・ω・`)

探す。

・・・・

C:\Program Files\android-sdk-windows\extras\google\usb_driver
というフォルダで発見。
SDKのバージョンによって違うのかな?

このフォルダに入ってる
android_winusb.inf
をエディタで開く。

メモ帳は無しな!

[Google.NTx86]
というセクションを探す。

そのすぐ下に
; HTC Desire
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C87&MI_01
これをコピペ。
機種番号らしいです。
他の端末の場合、webで調べるとドキュメントが見つかるのでそれを参照。
何もかも至れり尽くせりのセルフサービスっぷり。こんなんで開発者育つのか。

次にスマホとPCをUSBでつなぐ。
新しいハードウェアの画面が出てくるので、ドライバを検索してインストを選ぶ。

たぶん見つからないので、手動でさっきの
C:\Program Files\android-sdk-windows\extras\google\usb_driver
を選ぶ。

これで認識完了。

スマホのほうでUSB接続時のデバッガモードを設定しておかないとキャプチャできないので設定する。

端末の「設定」-「アプリケーション」-「開発」を選ぶ。

device-2012-02-06-020439.jpg

「USBデバッグ」にチェックを入れる。

ついでに、一つ前のアプリケーション画面で不明なアプリでも実行できるようにしておく。

device-2012-02-06-020552.jpg

「不明な提供元」にチェック。これでマーケット以外でDLしたアプリが動くようになる。自己責任ってやつだ。大人だからな(´・ω・`)


さぁやっとキャプチャできるです。

スマホをUSBでつないだ状態で、
C:\Program Files\android-sdk-windows\tools
にある
ddms.bat
というバッチファイルを実行する。

コマンドプロンプトが出てしばらく応答がなくなるけど、数秒待つと
Dalvik Debug Monitor というアプリケーションが起動する。

image07.jpg
こいつは実機の状態を監視するようなアプリです。

エミュレータが作成されているとリストに他にも端末が出てくるけど、実機のHTなんちゃら~を選ぶ。
そうすると下のウインドウにものすごい勢いで文字が流れる。
もしかして実機の全ステートを表示してるのか・・・・(´・ω・`)

あとは実機でキャプチャしたい画面を表示して、
DDMの「Device」-「Screen Capture」をクリック。

保存するかコピーするかの画面が出てくる。
保存するとローカルにpngで保存される。

解像度は実機に左右されるので、高解像度端末だとかなりきれいな画面が撮れる。


次回はいよいよプログラムやりたいです。
下準備で1週間かかってるってどゆこと・・・(´・ω・`)



androidエミュレーターを設定してみる[androidアプリ開発]

今回はAndroidエミュレーターの設定をして、エミュレーターを起動してみる。

これが終わればやっと開発環境が全部整うです(´・ω・`)


Eclipseを起動してツールバーの

image01.jpg
こいつをクリック。
Opens the Android SDK and AVD Manager ってやつです。

image03.jpg
AVDMの画面が出てくるので
「New」をクリック。


image04.jpg
こういう画面が出てくる。

nameはなんかてきとうな名前付ける
Targetは対象のAndroidOS。ボクのスマホは2.2なので2.2をチョイスしてみた。
SDCardは仮想外部デバイスのサイズ。ようするに仮想SDカード。てきとうに128MBとか入れる。
SnapShotはEnableに。
あとはデフォでOK。Create AVDをクリック。

そうするとAVDMの画面に今作った仮想端末が出てくるので、それをクリックして選択した状態で「Start」をクリック。

image05.jpg
こんな画面が出てくるので待つ。
PCのスピードに関係なく30秒くらいかかる。2Coreでも4Coreでも、ベンチ速度が5倍くらい違う環境で試してもだいたい30秒くらい。

image06.jpg
でてきた。

ときどきロック画面が出てくる場合があるのでマウスでスライドしてロック解除する。
この条件がさっぱりわかんない(´・ω・`)


エミュレータの動作はかなり重いので、2Core程度のマシンじゃ実機に遠く及ばない。
最低でも4Coreマシンがあれば、実機に近い速度で動作させられる。


開発環境作るし!・AndroidSDK入れるよ![androidアプリ開発]

開発環境構築の最終ステップ。

これが終わればやっとプログラミング環境ができあがる。

AndroidSDKはAndroidアプリ開発の開発者向けキットです。
スマホ専用プラグインやエミュレータもこれに含まれてます。

http://developer.android.com/sdk/index.html
ここにアクセス。

image05.jpg
64bit版とかはないみたい。

解凍したらフォルダができるので、これを
C:\Program Files\
に移動する。

ちなみにこのSDKにパスを通す必要が出てくるので、ちゃんとC:\Program Files\android-sdk-windowsとしておく。適当なフォルダにしてしまうとあとで後悔するんだからね!(´・ω・`)

ということで、windowsに対してこのフォルダへパスを通す。
[コンパネ]-[システム]-[システムの詳細設定]をクリック。
image07.jpg
環境変数をクリック。

image09.jpg
Pathを選択して「編集」をクリック。
その最後に
C:\Program Files\android-sdk-windows\tools;C:\Program Files\Java\jre7\bin;
を追加する。
ちなみにこのパスは環境によって異なるので、AndroidSDKをインストした場所と、JavaSDKをインストした場所を入れる。Javaは\binというところに実行ファイルがあるのでそこにパスを通す。

環境変数はwindowsの起動時にしか読み込まれないので、ログオフするか再起動する。


次に、AndroidSDKをインストしたフォルダに入ってる
SDK Manager.exe
を実行する。

ちなみにEclipseからAndroidSDKを実行できるようにしておく方法があります。後々を考えるならそれでやっておいたほうがいいかもしんない。

Eclipseの[ヘルプ]-[新規ソフトウェアのインストール]を選ぶ

インストールウインドウが出てくるので、[作業対象]の欄に
https://dl-ssl.google.com/android/eclipse/
を入れる。

※C:\Program Files\下にプログラムから変更を加えるときは、そのプログラムを実行するときに右クリックで「管理者として実行」を選ぶこと。初歩の初歩だけど、案外これを忘れてたせいで何度やってもインストできないとかそういう事態に陥って泥沼化することがあります。マジで(経験談)。

これでプラグイン画面になるので、チェックを入れてプラグインをインストする。

Eclipseを再起動。

[ウィンドウ]-[設定]をクリック。

[Android]を開くとSDK Locationという項目があるので、さっき入れたAndroidSDKの場所を指定する。

下準備ができたら、ツールバーの
image06.jpg
このボタンをクリックしてSDKManagerを起動。

デフォルトでチェック入ってるやつのほかに、「Extras」という中のものを全部チェックする。とくにここはUSBドライバとかマーケット用のプラグインとかかなり重要なのが入ってるので必ず入れる。

SDKのインストはけっこう時間かかる(´・ω・`)


開発環境作るし!・Eclipse入れるよ![androidアプリ開発]

JDKがインストできたら次はEclipseをインストします。
Eclipseは開発環境のメインになるもので、プラグインによっていろんな言語に対応するらしい。
エディタやデバッガ、ログモニタ、パッケージからプラグイン管理とかまでぜんぶやってくれるのに無料。すごい。
ちなみにFlashやってる人はFlashMXみたいなもんだと思っていいかと。エディタ付いてるしパッケージングはパブリッシュだし。

ということで今回はAndroidSDKを入れて、Javaプログラムを構築するために使います。

http://www.eclipse.org/downloads/
ここにアクセス。

image01.jpg

バージョンがいくつもあってわけわかんないのでとりあえず一番上のやつをDL。

解凍するとフォルダができるのでそのフォルダを

c:/program files/

に放り込む。

次に、日本語化してみる。ボクは純潔の日本人なので英語とかもうぜんぜんムリですし(´・ω・`)

日本語化には二通りの手段があって、ひとつは言語パックをインストする方法。もうひとつはリアルタイム翻訳してくれるなんだかすごそうなプラグインをインストする方法。

Eclispse3.7.1に対応した言語パックが見つからなかったので、今回はリアルタイム翻訳のプラグイン、Pleiades(プレアデス)を入れてみる。なんかすごそう(二度言う)。
言語パックは3.5のやつがあったけど、たぶん3.7.1でも使えると思う。

http://mergedoc.sourceforge.jp/
ここにアクセス。

image03.jpg
日本語のページなのに何を言ってるのかさっぱりわからん。

とりあえず安定版というのをDL。(最新版は動かなかった)

解凍するとフォルダが3つとコマンドラインのバッチファイルみたいなのが出てくる。
readmeフォルダにインストの仕方が書いてあるのでそれ読む。

で済ませるのでは説明にならないのでいちおう書いておこうかな(´・ω・`)

解凍したファイルをさっきの
c:/Program Files/Eclipse/
に放り込む。上書き。

c:/Program Files/Eclipse/eclipse.ini
というファイルを開く。
iniファイルだけど文字コードがSJISじゃないこともこの先いろいろあるので、メモ帳じゃないエディタで開く。
ボクはK2Editor使ってます。

このファイルの最終行に
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
というのを追加する。
これはプラグインを指定して起動するみたいなオプション。よくわからん。

ついでにすぐ上の行にある
-Xms40m
-Xmx512m
というのを書き換えて、Eclispseが使用するメモリ領域を広げておこう。
どれだけ使えばいいのかわからないけど、うちは物理メモリ16GBあるので1024MBづつ設定してみた。
(後日談:でも特に速度の向上は見られなかった)

次に
eclipse.exe -clean.cmd
というファイルを実行。

これは単に -clean オプションを付けてEclipseを実行するだけのバッチファイル。

さぁ、Eclipseを起動してみるぞ。

ここからがスタートラインですし。

image04.jpg

ダイアログが出る。
日本語化が成功していればこの時点でメッセージが日本語になる。
英語で出ていたら失敗。

ボクはここで何度もつまずいて、何度もJDKとEclipseとPleiadesを再インストした。

で、どういうわけか日本語化が成功した組み合わせが

JDK:JDK SE7 u2 (DLファイル名:jdk-7u2-windows-x64.exe)
Eclipse:Eclipse IDE for Java EE Developers (DLファイル名:eclipse-jee-indigo-SR1-win32-x86_64.zip)
Pleiades:pleiades_1.3.3.zip

EclipseがJAVAEEなんだけどなんで動くの・・・(´・ω・`)

まぁ動いたのでよしとして。

さて、さっきのダイアログはワークスペースの指定になります。

簡単に説明すると、作ったプログラムやパッケージが保存される場所です。
Eclipse上で消したプログラムコードが復活するとかいう不思議な現象になったりしたらここのファイルを直接消すと消えてくれる。

これでEclipseでJavaプログラムを書く環境ができあがりました。

次はAndroid用のプラグイン、Android SDKのインストです。


まだスタートラインじゃなかった(´・ω・`)


開発環境作るし!・JAVA入れるよ![androidアプリ開発]

Javaプログラミングを作るにはPCにJDKが入ってないといけないのでこいつを入れます。

JDKとはJava Development Kitで、日本語で書くとJava開発キットというそうで。そのままや・・・。

JavaSDKという言い方もあるみたいでマジややこしい。SDKとはSoftware Development Kit、つまりソフトウェア開発キット。

JDKでググるとオラクルのサイトが出てきます。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
ここ。

最新版は7。

バージョンが多すぎてわけわかんねーです。
FXってなんだ?99%自滅のマネーゲームやるやつ?
EEってなに?エンジョイ&エキサイティング的な?

image01.jpg

とりあえずこの青で囲んだリンクを強打すればいいっぽい。

image02.jpg

次の画面ではAccept License Agreementにチェックして一番下のWin7-64bit版のリンクをクリック。ほかのOSユーザーはそのへんてきとうに。

jdk-7u2-windows-x64.exe がローカルに落ちてくるので、これを開いてJDKをインストする。

「次へ」を押して進めていって最後に登録の画面でスルーして完了。
これで準備が整いました。


image03.jpg
うちのマシンの「プログラムと機能」一覧。
ごらんの有様だよ!泣きたい(´・ω・`)

この後の手順で行うeclipseの日本語化で、最初に入れてあったJDK6がどうも違ってたみたいでどうやっても日本語化できなくて、試行錯誤していろいろ入れてしまった結果。死にたい。


おすすめアプリ|おさわり探偵 なめこ栽培キット[アプリレビュー]

このカテゴリはmarketのアプリを独断と偏見で勝手にレビューするコーナーです。
タイトルに「おすすめ」って書いてるけど別にすすめるわけじゃない(´・ω・`)


★おさわり探偵 なめこ栽培キット
device-2012-02-01-005824.jpg
「おさわり」なのにエロじゃない。なぜエロじゃないの。もう詐欺みたい。
マーケットの無料アプリ部門で、ゲーム(なのか?)としては1位になってるアプリ。
これからミリオンヒットなアプリ開発者を目指すボクとしては100万DL超えてるアプリはだいたいいろいろDLして試しているが、100万DLいくようなアプリはやっぱりそれなりに理由があって、ぶっちゃけよくできていておもしろい。

そんな中、本気でナットクいかないのがこのなめこ。

何度も言うがエロじゃない。なぜ?どうして?釣りなの?

とくちょう:
・なめこを栽培するゲーム(ゲーム?)
・設備レベルを上げてレアなめこをゲット
・すごいシンプルなプログラムなのになぜこんなにも重い
・すごい(ry なのにバッテリの消費がはんぱない
・すごい(ry なのにインスト時に30MB以上の空きが必要
・たこやきの広告マジしつこい

なんかみんなすごいおもしろいって絶賛してるけど何がおもしろいのか本気でわからない。
でもいちおうコアゲーマーとしては図鑑はコンプリートさせるつもり。

device-2012-02-01-005931.jpg
こいつ気に入った。


「おさわり探偵」って聞くとすごくエロへの探究心を感じるが、残念ながらエロじゃない。そんなアプリでした。


はじめに[androidアプリ開発]

こんにちわはじめまして。
管理人です(´・ω・`)

スマホの普及率が右肩上がりでandroidアプリの需要がガンガン伸びてきてます。
アプリ一つで億万長者とかいうハナシも聞こえてきたり。

このゴールドラッシュに乗り遅れるわけにいかない!というかもう乗り遅れてるけど!

そんなわけでアプリで一儲けしたいのでアプリ作ることにしました。

ものすごい素人です。

プログラミング的なことといえば、小学生のころにMSX-BASIC、中学ではそこにZ80アセンブラ、高校ではN88BASICというくらいで、しかもぜんぶ適当でした。
高校でかじってみたCは不味過ぎて吐き出しました。

このブログのデザインを見て、「おまえ素人じゃないだろ」とかいう指摘ももしかしたらあるかもしれないけど、webデザインの仕事をちょっとやってるのでhtmlやcssは素人じゃないです。Java-Scriptもときどき書いてます。

でもJAVAはぜんぜん知らなくて、Java-Scriptの親分程度にしか考えてませんでした。
いや今もそう思ってるくらい(´・ω・`)

ということで、ド素人がandroidアプリを作れるかどうかの無謀な実験場にようこそ。

動機が欲望まみれのブログなのでエロネタとかバカなテキーストなんかもふんだんに盛り込まれる可能性があります。酔ってる時はもう目もあてられません。


対象はWindows7@64bitです。
XPの人は老い先短いのでさっさと乗り換えましょう。16GBメモリとかマジ失禁モノです。
マックの人はアップルの言いなりになってアイフォーンで遊んでてください(´・ω・`)


- | 次の10件

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。