SAITOUの書きなぐりメモ

さいとーの趣味と生活を垂れ流しています。

あけました。

mixiにも同じタイトルの日記を書いたけど、内容は違うからw

と、言うわけで新年明けましておめでとうございます。
本年もいい一年だといいですねぇ〜!


とまぁ、硬っ苦しい挨拶はこんなもんにして(どこが硬いんだか)この書きなぐりメモですが
「メモ」ってぐらいなんだから、「書きなぐり」って言うことなんだから
かるーく思ったことを書こうと思ってたんですが
本当に、最近硬いネタしか書いてない。
もっと技術以外の事も書いていこうと思います。

昔みたいに、もっと鬱々なブログにしてもええんではないだろうかと
そんぐらいの心積もりじゃないとたぶんかけないと思うのでw
文字を並べるのは嫌いじゃないんですが最近は本当にやってなかった。
うん、なんか就職活動が済んでないのにこんなこと・・・みたいなの思ってたんですが
結局ゲームしてるし、もう好きなことして。好きなこととして、好きな子とシテ(オイw
就活しようかと思います。

あ、ついでに言うと彼女とかいないんで募集してますwww
ゲーム好きでSkype使える方、とりあえずお話からどうですか?www

Android NDK

先に、Android NDKについていまいちわかってない人が書くんで情報が間違ってたらごめんなさい。
と、言うわけでWindows環境でAndroid NDKを動かしてみたのでそれのレポートみたいなのを書きたいと思います。

まず、Android NDKって何ができる?って話なのですが、早い話CとかC++で書いたコードを使えるようにできます。

それ自体はNDKじゃなくてどうもJNIって物があるようなのですがこっちに関してはそういうインターフェースがあります程度に今回は触れておきます。
この記事で書きたいのはWindows上でAndroid NDKを動かす方法です。
僕のわかりにくい日本語を読むよりGoogleのドキュメント読んだほうが正確でわかりやすいかもなのでリンクはっておきます。
http://developer.android.com/sdk/ndk/index.html


Androidの開発環境構築に関しては以前に書いた気がする(Xperia向けアプリを作る)ので省略
新たに準備しなければいけないものは2つ。

Android NDK (http://developer.android.com/sdk/ndk/index.html)
Cygwin (http://cygwin.com/)


上は当然わかると思うのですがCygwinってのはなんだろなーって人。
ざっくり言うとWindows上でUnixを体験できるツールだと思ってください。
Cで書いたコードをコンパイルする際にmakeというコマンドを使うのですがWindowsではmakeコマンドがないので
このツールを使います。
インストール方法はこちらに丁寧に書かれていたので引用
http://d.hatena.ne.jp/bs-android/20090707/1246952991

ほとんどこの上の記事で解決しちゃうんですが(ぁw
なぜ今回記事を書こうかと思ったかというと。
Android NDK r5からいろいろ変わったみたいで、自分がうまくできなかったからですw
ついでに、一番最初に参考にしてたサイトのURLはこちら
http://labs.techfirm.co.jp/android/iguchi/1782


Cygwinをインストールできたら上に張ったURLを参考にCのソースとメイクファイルを作ります。
ただ、r5から(?)host-setup.shってのがなくなってるのでそれは無視してもらってかまいません。

あと、jniの中に
calculate.c
Android.mk
Application.mk
を書いてください。

calculate.cに書く関数名ですがあれは
jstring Java_+ パッケージ名 + Javaのクラス名 + つけたい関数名( JNIEnv* env, jobject thiz )
みたいです。間の.を_に変えて書きます。

そして一番違うのがコンパイル方法です。

ドキュメントの翻訳を見てみると

1。 <プロジェクト> / jniの下で、あなたのネイティブソースをプレイス/ ...
2。作成は、/ jniは/ Android.mkは、システムを構築するNDKして、あなたのネイティブソースを記述するために
3。オプションは:/ Application.mk / jniの<プロジェクトを作成します。
4。プロジェクトのディレクトリからスクリプトを'ndk -ビルド'を実行してビルドして、ネイティブコード。これは、トップレベルNDKのディレクトリに格納されて:

CDの<プロジェクト>
/ ndk - buildの

ツールは、アプリケーションのプロジェクトディレクトリ内の適切な場所にアプリケーションで必要な最低限の、共有ライブラリをコピーしてビルドします。
5。最後に、通常の方法でSDKツールを使用してアプリケーションをコンパイルしてください。 SDKツールは、アプリケーションのデプロイ。apkファイルの共有ライブラリをパッケージ化するビルドします。


1〜3はメイクファイルとディレクトリ構成の話。
最後の5はいつもどおりに実行すればいいよーみたいなかんじ。

んで、4ですがここがコンパイルについての記載です。
英語の原文を見ると「はは〜ん」となる方も多いと思いますが
まず、Cygwinを起動してディレクトリを移動して今回作成したプロジェクトフォルダまでいきます。
僕の場合

cd /cygdrive/c/user/workspace/test/

そしたらいよいよコンパイルするコマンド
NDKの中にある /ndk-build これを実行しましょう。
僕の場合

/cygdrive/c/cygwin/home/sai/android-ndk-r5/ndk-build


これがうまく出来たらlibcalculate.soってファイルがEclipse内でも確認できるはずです。
(F5などを押してリフレッシュするとでてくる)
これでうまくいくといいですね!!



ついでに僕はずっとvisual studioを使っていて久々にメイクファイル書いたのですが
打ち間違いをしていて、libcalculate.soは作られるのにうまくいきませんでした。
メイクファイル内にバグがあるとみつけるのが面倒かもです、書くときは気をつけましょう。

自分の考察してみた

就職活動とかとかでなかなかブログが書けなかったわけですが
バイトがなくなったのもあって、いろいろ考えてみた。


とりあえず、なんとなく出てきた結論としては
自分は問題に対する答えを出すのが好き。




あれー・・・何かこうと思ったんだっけ?w

携帯ゲーム機戦争勃発か?

来年の2月に任天堂がDSの新型ニンテンドー3DSが発売されるようですが
前々からうわさされてたPSP2も本格的に発売する〜って空気が漂ってきました。

で、最近のメジャーな携帯ゲーム機としてはこの2台なんですが
さらに最近新たなハードがパナソニックから発表されました。
その名も「Jungle」
http://www.4gamer.net/games/000/G000000/20101005070/

どうもこのJungleは携帯ゲーム機でありながらキーボードがついてるらしく
ネトゲ向け携帯ゲーム機とも噂されてます。
まぁ、全然情報が出てないのでまだ推測の部分が多いですが
なかなか面白そうなハードなので今後が気になります。

そして、現状では携帯ゲーム機以上のスペックを持つ携帯電話(?)iPhone
それに負けねぇと張り合うスマートフォン


こいつらも絡まってこれからのゲーム市場は携帯がキーワードになりそうな予感。


と、言うのもチップメーカー特にintelがモバイルノートをゲーム機化したい模様です。
まぁ、intelはチップ市場を独占したいんだろうけど・・・

しかし、intelだけじゃなくて物理エンジンのHavokがモバイル向けのエンジンを開発したり
ちょっとド忘れしたけど他にもいろいろちっちゃい物への動きが見える。



モバイルノートの市場がすんごい拡大してるからそういう流れになるのは当たり前っちゃ当たり前だけど
ハードやエンジンあってもソフト誰も作らなきゃ話にならないよね・・・・って話なんですが

あんまりソフトの話を聞かないんでこのまま沈んでいくのかなぁ・・・とも思わなくない。

現在の日本のセキュリティ 〜ブラックハットジャパンその後 関西編〜 に参加してきました

行ってきましたよ!
と、言うわけで会場の場所がはっきりわからないまま行ったら
お腹が痛くなり時間ギリギリに会場に着きました。

まぁそれはどうでもいいとして。
内容ですが、やっぱり勉強会のネタって濃いですね。


聞いてきたこととか書いていいか変わんないからブログでは書かないでおきますw

あ、ブラックハットグッズ買いましたよ〜w
シールとボールペンと紙!


http://www.iajapan.org/bukai/isec/secwg/2010/1009/

Xperiaのパケ放題をやめまして・・・

mopera Uもやめて、完全に電話だけにしました。

パケホ高いよ・・・・orz




て、わけでXperiaは完全に電話に・・・
って、んなわけあるか!
ちゃんとWi-Fi使ってインターネット使えるから!
pocket wifiで外でもネットできる!

ただ、やっぱりどうしても電波飛びにくいところもありますね^^;
地下鉄とかはダメですね。
でも、そんなに常にネットにつながってなくてもいいやぁってなりました。


久々に書くネタがこんなのでごめんよ〜w

【追記】
mopera Uの契約やめて3G回線に常時接続しなくなったせいか
電池の持ちが飛躍的にアップしました!

ただ、wi-fiで常に通信するなら3Gより電池食います。