2013-04-01

全くプログラムも何も出来ないサラリーマンアプリを作って公開して

32歳、営業職です。

プログラムとかなんもわからんちんなのですが、アプリを作りたいと思いたちアプリ

作ってみました。

とりあえず、アプリランキングを見ていると、エロ系がやっぱり強いと思って、エロ正義!の名の下に

エロアプリを作ってやろうと思いました。

簡単にアプリを作るために、まずは簡単に作れるフレームワークを探す所からまります

フレームワークってなんですか?

それはね、なんだかわからないけど、簡単につくれるようになるものなんですよ。

詳しくは、

外人システムを作るときに、よく利用する機能とか、構造とか、予めあると便利だろ?

   俺が作っといてやったよHAHAHAHAHA」

っていう感じのものだそうです。

プログラミングなんてわからんちんだけど、HTMLくらいは作れるよ!

からHTMLアプリが作れるといいな。

そんなあなたにPhoneGap(http://phonegap.com/)ということで、

とりあえずPhoneGapを使って見ることに。

でも、実際使ってサンプルを作ったりしてみると、動くは動くんだけど、

色々やろうとすると、Web上にあるドキュメントが古いのか、PhoneGapが最近になって

突如バージョンがあがったせいか、書いてる通りにやってみてもできない。

こりゃだめだーと思って、最初からやることに。

とりあえずiPhone Developer登録は既に完了していたので、Xcodeをつかってやるぜ!

俺は赤の扉を選ぶぜ!と思ったがはてさてどうすりゃいいのか。

調べてみるとUIWebViewというのを使えばいいらしい。

HTMLプロジェクトに追加するのはドラッグドロップすれば完了だ。

その際にダイアログが出てくるので、"Create folder references for any added folders" を選択しておくと

元々のフォルダ構造とかが失われずそのまま追加できるのでいいぞ。

ほんでもって、UIViewControllerというのを作成する。

IBOutlet で UIWebView を利用するためのオブジェクト変数を用意しておいて、InterfaceBuilderから接続をする。

Files's Owner とかを右クリックして出てきた変数名と画面上についかしたUIWebViewマウスでつなぎあわせれば

接続できるぞ。なんて簡単なんだ。

さてコードの方に移り、HTMLを開くことにする。

一番最初に行われる初期化の処理は viewDidLoad にでも書いておけばいいらしいのでここに書く。

じゃあさっき追加したHTMLファイルはどうやって開くの?

UIWebViewURLの書式になっていないと開けないようなので、それを調べることから始まる。

アプリ内に追加したリソースファイルは、アプリデータに内皮されるらしい。

アプリが展開されるフォルダというのは、デバイスにより様々なのだが、そこから内皮されている

ファイルを取得するための処理というのがあるのでそれを利用する。

NSString *html_path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory@"web"];

これでwebフォルダ内にあるindex.htmlファイル絶対パスを教えてくれるというわけだ。

あとはこれを読みこませればOK。

[web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:html_path]]];

NSURL というのがURL書式を記述するためのオブジェクトだと思っていただきたい。

ここではローカルファイルパスを拾うため、 fileURLWithPath とするのがポイントだ。

file://nantarakantara/index.html みたいな書式になるんでしょうね。

これで、無事HTMLファイルがひーらーいーたーー!

html 内のリンク普通に動作する。ばっちり。

よし、アプリの申請だー。リジェクトされました。。。。

なんだか色々理由はあるみたいなんですが、そうですかだめですか。

というわけで、Android版を作って出すことにしました。

善は急げで、AndroidSDKとEclipseというものダウンロード

昔は色々設定が必要だったが、いまは開けば即使えるようになったらしい。便利便利。

こっちの場合も同じようなやつがあるんでしょう、ほらったWebViewこれを使えばいいらしい。

XCodeときは、いかにもアプリの画面を作れば完成って感じだったけど、Android場合

Layoutファイルというのを使わないといけないみたい。なんかこれはHTMLみたいな記法だな。。

どうなってんだかよくわかんないですけど、Layoutを作成して、WebViewを配置、

これをClassかいうやつから開いてやればいいらしいよ!

Android場合は、assetフォルダというのをつくってあげて、そこにHTMLファイル

置けばいいらしいですよ。なるほどね。

WebViewでの開き方は、assetフォルダを直接開けばいいだけらしい。いえーい!

layoutに配置したWebViewオブジェクト変数に呼び出して、、、

webView.loadUrl("file:///android_asset/web/index.html");

ひらいたーおっけーーーーーーー。

だけども、リンクを開くとブラウザが開いてしまうなあ。どうすればいいのこれは。

調べてみるとこうすればいいらしい。

webView.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

return false;

}

});

これで無事、WebView内で画面遷移するようになりました。

やっほー

そんで、なんとかつくりあげて、申請・・・

とかないんですね、公開したら公開されましたw

ていう感じで始めてつくってみたんで

よかったらダウンロードしてみて下さい!

https://play.google.com/store/apps/details?id=ff.appgroup.app001_hrenai

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん