Happy My Life

日常とか技術とか

Android

Android NDKネイティブプログラミング-サンプルコード

サンプルコード、検証用コードをgithubにUPしました(発売3ヶ月後にして…) リポジトリはhttp://github.com/demuyan/AndroidNDKbookです。 このサンプルコードは、以下の方法で実行するとよいでしょう。 EclipseではImport->Existing Projects into Workspace…

Android NDKでC++の例外を投げるとアプリが落ちる

Android NDKr6bでビルドしたC++のコード中でthrowで例外を投げると、いきなりアプリが落ちるという現象に遭遇した。 で、原因を先に言うと、Android 1.6&2.1環境向けに開発しているアプリだと、C++で例外を投げると落ちるという回答だった。

横浜PF部でCPUの話を

横浜PF部の勉強会に参加して、CPU内部の話を発表してきました。 発表に利用したスライドが以下のものです。今回はLinuxカーネルよりもっと低レイヤーの話を(笑) Androidでこういう低レイヤーな話ができる場所は、PF部しか無い気が。

milkodeでAndroidのソースコードを検索する

結論からいうと非常に便利。特に日常的にgrepしてるような人はすぐに入れるべし。 何がいいって環境構築が楽なので(おいらがrubyに慣れているというのもあるけど)

Android NDKの解説本が出ます

ということで、Android NDKネイティブプログラミング(通称NDK本)が予約開始となりました。Android NDKr5cをあますことなく解説した内容となってます。 AndroidNDK ネイティブプログラミングposted with amazlet at 11.07.26出村 成和 秀和システム 売り上げ…

RenderScriptまわりを調べてみたメモ

以前から興味があったHoneyCombから含まれたRenderScriptについて調べてみた。ここでは、RenderScriptのドキュメントを読んで、ソースコード(サンプルのBalls)を見てみて動かしてみてのメモ(Android 3.2にて)。事実誤認も含まれている可能性があるのでその点…

Android Bazaar and Conference 2011 Summerで発表してきた

Android Bazaar and Conference 2011 Summerに参加された方々、スタッフのみなさん、お疲れさまでした。 “Linuxカーネルから紐解くAndroid"という、かなり濃い話題にも関わらず多くの方に来ていただき、まあ正直驚きました。 いろんなところで話をしてきまし…

ABC2011Summerで講演します

7/17(日)に早稲田大学で開催されるAndroid Bazzer and Conference 2011にて、開発トラック2の部屋で、京都マイクロコンピュータ 小林さんの後に話します。 タイトルは「Linuxカーネルから紐解くAndroid」ということで、Linuxカーネルに施されたAndroid特有の…

名古屋GeekBarでの発表

先日、名古屋GeekBarに参加してきた。10年ぶりぐらいの名古屋でした。 昼間の勉強会とはまた違った雰囲気なのがなんともよかった。やっぱ、お酒飲みながらスライド見せてしゃべるってのは結構気持ちがよい。ネタとかもいろいろ入れやすいし、普段よりネタの…

Amazon EC2でAndroid(gingerbread)をビルドする(ベンチマーク編)

前回のエントリーの続き。ということで、実際にrowboatのgingerbreadをビルドして時間を計測してみた。ちなみに、インスタンスは64bitOSが利用できるものしか試していない。 測定方法 同一AMIを利用して、起動するインスタンスを切り替えて測定した。本来な…

Amazon EC2でAndroid(gingerbread)をビルドする(設定編)

巷というかWeb界隈ではよく話題にあがるAmazon EC2。では、Androidのソースコード(gingerbread)をビルドすると、どの程度の時間でビルドが完了するのかなーと試してみたくなったので、やってみた。 Amazon EC2はインターネットサービスに限定せずに、ネット…

pdk.android.comのコンテンツが消えた...

Porting情報が掲載されていたpdk.android.comの内容が、いつの間にか共に消えていた。"この情報は古すぎるから消した。新しいの今書いてるからちょっと待ってて"らしい。 とはいえ、まるごと消してしまうのは…。 この情報が無いため仕事が滞る人もいるわけで…

GAE/JとAndroidを連携する本が出ます

ってことで、本書きました。もうすぐ発売になります。 今回は、GoogleAppEngine/JavaとAndroidをつかってアプリケーションを作るときは、こうしたらいいんだよー、といった内容となっています(ざっくりと説明) クラウド活用のためのAndroid業務アプリ開発入…

巣鴨で組み込みAndroidの講座が開催されます

電子、電気系な雑誌であるInterfaceでお馴染のCQ出版さんですが。そのCQ出版さんが開催している講座の一つとして「Androidを利用した組み込みシステム開発の基礎」が開催され、私が講師をすることになりました。 場所は東京の巣鴨、期日は5/28(土)で10:00〜1…

Android 2.3(GingerBread)のビルド環境を構築

Android 2.3からビルド環境には64bit環境を要求されるようになった。そのため1から環境構築する必要があったのだが、それがまとまっているサイトが意外になかったので、ここでまとめておく。Ubuntu 10.04 64bit上で構築する様子を再現した。

組み込みAndroidの本のハッシュタグ

組み込みAndroidの本が出ますで紹介した、組み込みAndroidの入門書として執筆した基礎から学ぶ 組み込みAndroidですが、お陰さまで販売状況もよく、増版も早々に決定しました。ありがとうございます。 で、「twitterのハッシュタグ無いの?」との要望があった…

組み込みAndroidの本が出ます

ようやく公表できるようになったので本の告知など。 共著で組み込みAndroidの入門書を書きました。発売は12/23あたり。 基礎から学ぶ 組み込みAndroidposted with amazlet at 10.12.13坂本 俊之 出村 成和 渡邊 昌之 シーアンドアール研究所 売り上げランキ…

Android NDK r5バージョンアップまとめ

ってことで、GingerBread(Andoid 2.3)対応Android SDKのリリースと同時にAndroid NDK r5もリリースされた。 新しいAndroid SDKについては、他の方がいろいろまとめているのでそちらを見てもらうとして、こちらはAndroid NDKr4からAndroid NDKr5で変化した事…

BeagleBoard-xM & Androidを始めるのに必要な機材

これからBeagleBoard-xMで開発を始める人に送る必要な機材をリストアップ。前から書こうと思って忘れてた。 以前のBeagleBoardよりオンボードでEthernetなどの様々なインターフェイスが搭載されたので、購入すべき機材は減った。まあその分単価は上ったけど…

Androidのプロファイリングツール「Traceview」

このTraceViewは、実は@androidzaurus氏に教えてもらうまでは、存在そのものを知らなかったツールだったりする。一言で言えばプロファイラ(Profiler)の事。プロファイラとは、関数単位で処理時間を測定してくれるツールを指す。公式ドキュメントはTraceview:…

Androidアプリ開発者のためのAndroidソースコードリーディング入門(3) Framework編

ちょっと間が開いたが、これまた続き。 前回はインストールされた標準的なアプリケーションのソースコードについていろいろ書いてみた。 で、まだ見るべきソースコードがあると書いたが、今回はAndroid Frameworkのソースコードを見ていく。アプリケーション…

Android NDK利用時のオーバーヘッドは?(1.6 & TraceView編)

前回のエントリーについた、はてブのコメントで、TraceViewでの結果が知りたい、というリクエストが上っていたので、TraceViewを使って計測してみた。 というかその前にTraceViewを知らなかったので、まずはその解説から。 TraceViewとは グラフィカルなログ…

IntelliJ IDEA 10(フリー版) でAndroidアプリを作成してみた

IntelliJ IDEA 10 Community Editionで、Androidアプリケーションの開発ができるようになったので、ちょっと試してみた。 IntelliJ IDEA 10: free IDE for Android development | JetBrains IntelliJ IDEA Blogが元情報 IntelliJ IDEA とは Eclipse, NetBean…

Vivid Runtime SDK(アンドロイドやろうぜ)を眺めて

先日、アンドロイドやろうぜby GMOのUstream中継を見ていた。こういうのはtwitterのTimelineを見ながら見ていると、いろんな情報が入ってくるので数倍楽しめるので、おススめ。 発表中はなかなかダウンロードできなかったVIVID Runtime SDKだが、ようやくダ…

Android NDK利用時のオーバーヘッドは?

いつも言われるのが「NDKを呼び出すときはオーバーヘッドがあるから頻繁に呼び出さない方がいいよ」という話。 それじゃどれだけのオーバーヘッドがあるのよ? という事で実際に計測してみた。 今回計測したのは、JNI呼び出しとして int addInt(int i, int j)…

1台のPCでAndroidエミュレータ&サーバを開発する時に注意する事

たまに忘れるので、メモとして。 例えば1台のPCでAndroid emulatorとPHPなどのWeb Server側の両方を平行して制作していたとする。 この時に、何も考えてないとAndroid エミュレータからサーバに接続しようととして、Android エミュレータでIPアドレスにlocal…

マピオンのAndroid Maps APIを使ってみた

この間まで知らなかったのだが、日本では有名な地図ソフトの会社であるマピオンがAndroid Maps APIを提供開始していた。つまり、GoogleMapsを利用しないでも地図アプリが作成できるようになった。 ってことで試しにGPS連動の地図アプリを作ってみた。このア…

Androidアプリ開発者のためのAndroidソースコードリーディング入門(2) アプリ編

という事で前回の続きを。なんかタイトルがやたら長いのが気になってるけど、しかたないか…。 前回はソースコードのダウンロードからTOPフォルダの解説までしてみた。今回からダウンロードしたAndroidソースコードをいろいろ覗いてみる。 動いているアプリの…

Androidアプリ開発者のためのAndroidソースコードリーディング入門

最近なにかとAndroidアプリを作る機会があるのだが、その最中にある出来事の一つとして、"ググっても解決方法が分からない"というのがある。クラス名、メソッド名でググってもリファレンスしか検索結果に表示されないなど。特にマイナーなAndroid Framework…

Androidのプロセスがkillされる基準

今回はAndroidのLinuxカーネルな話題をひとつ。 AndroidのLinuxカーネルには、メモリの空き容量が少なく(ある一定値以下に)なった場合に、プロセスを強制終了(殺す)仕組みが備わっている。 AndroidのLinuxカーネルにはその機能が2つ備わっていて、一つがOOM(…