Androidの最近のブログ記事

2010年5月19日、ガートナー社が発表したプレスリリースによると、

世界におけるモバイルフォンの出荷台数は、2010年第1四半期に3億1,470万台となり、前年同期と比べて17%増加したようです。

このうち、スマートフォンの出荷台数は、2010年第1四半期に5,430万台となり、前年同期と比べて48.7%増加したようです。

OS別のシェアでみると、「Android」は、「Symbian」「RIM」「iPhone OS」に続く、第4位 9.6%となり、

前年(第5位 1.6%)と比べて、大きくシェアを拡大しているようです^^

 

smartphone_2010_1Q.png

※出典:http://www.gartner.com/it/page.jsp?id=1372013

※元データの単位は、Thousands of Units(千台)でしたが、万台に四捨五入して変換しています
 このため、合計(Total)とあっていない箇所もあります

 

あわせて読みたい

android_best_application.jpg     

「Androidベストアプリ」(2010年5月11日発行)を読みました。

フルカラー96ページで、8ジャンル約200のアプリが、画面キャプチャ、QRコード付きで解説されています。

定価は590円でした。

 

これまで、アプリ紹介は、OCTOBAさん、andronaviさん、アンドロイダーさんのところで、

断片的に読んでいたのですが、このように1冊の本として一気に見れるのは、中々便利でした。

 

アプリの方は、結構知っている作者さんが多かったのですが、

「う~ん、これ、あの人かな~?」という場合もあったので、

次回からは、(作者がOKすれば)Twitter アカウントとも載せてもらえれば嬉しいと思いました。

 

また、全体的にデフォルトの黒ベース画面のアプリが多く、アイコンも含めて、

これから作られる開発者やデザイナーさんにも十分チャンスがありそうだと感じました。

 

掲載された作者さんは、永久保存版として買いですね。

Androidベストアプリ 2010年 06月号 [雑誌]

「日経ソフトウェア2010年6月号」を読みました。

 

Androidで作って楽しむ弾幕系シューティングゲーム ※P.31~41

安生 真 さん、武部 健一 さん(日経ソフトウェア編集部)による

Android上でSurfaceViewを使ったシューティングゲームの記事。

ありきたりの内容でなくて「弾幕系」という要素を入れているところが、さすがマスク☆ドロイドさんですね!

実際に動かしてみると、弾幕が面白い動きするので、ちょっと感動しました。

弾幕連続でくらった際のバイブもいいですね~。

Shoot.png

ちなみに、HT-03A と Xperia で動作比較した結果、HT-03A の方が超高速に動作しました。。。

※例えば GAME OVER 画面では HT-03A  が約60FPS に対し Xperia が約30FPS

 

実例で学ぶIntentの使い方 ※P.96~101

adamrocker さんによる連載「理解して作る!Android プログラミング入門」の第4回目の記事で、

ymst さん作による「Speech2Tweet」のソースコードを題材とした Intent の解説があります。

同アプリは、普通に使って楽しいものですが、ソースコードのボリュームも小さいため、

勉強会での Intent を学ぶ際のハンズオンの教材として使っても楽しいと思います!

限られた紙面の中で、うまく解説されていて、さすがだなぁと思いました。

※P.97 に全 adakoda が泣いた・・・ありがとう

 

nikkei_software_201006.png 

↑ HT-03A と simeji のせてみた^^

日経ソフトウエア 2010年 06月号 [雑誌]

少々取り込んでおりまして、かつ、しばらく旅にでますので・・・以下、メモ書きとなります^^;

 

イベント関連

※最新情報は、http://www.adakoda.com/android/ のトップページで・・・ 

 

書籍関連

[Android] Twitter for Android

| トラックバック(0) |

Twitter 公式の Android アプリケーションが公開されました(要:Android 2.1 以降)。

 

 

アプリケーション名は「Twitter」そのもので、Android Market からダウンロードできました。

 

Widget がお洒落だったり、TL 中のリンク先イメージのプレビューや、

ツイート時に現在位置のON/OFF が簡単にできる点が良かったです。

以下、画面キャプチャです。

market.pngwidget.png

login.png main.png

home2.pngtweet.png

mention2.png list.png

setting1.png setting2.png

[HTML5] Akihabara

| トラックバック(0) |

Akihabara

http://www.kesiev.com/akihabara/

HTML5/Javascriptで実現したゲームデモのサイト。

HTML5 対応ブラウザーがあれば、PC からは もちろん、スマートフォンからでも閲覧できます。

 

html5_pacman.png

ちなみに上記のキャプチャは、ADP1に載せている2.1(Eclair)上で閲覧したもの。

今後も Canvas を使った作品は、どんどん増えていきそうです。

何よりもクロスプラットフォームで動作するのが良いですね。

2010年5月10日(月)に行われる日本Androidの会5月の定例イベントの申し込みが開始されています。

詳しくは、以下の公式サイトから。

 

講演内容

  • 日本Androidの会 2010年5月のイベント高解像度Androidのアプリ開発
  • HTML5&API&IE9入門
  • AndroidとFlashとiPhoneとCoron
  • IS01の紹介と開発者支援について
  • IS01 Touch&Try

※上記は2010年4月23日時点の内容です。最新の情報につきましては公式サイトでご確認ください。

 

参加したいですよね~

SDカードの状態を調べるには

android.os パッケージ Environment.getExternalStorageState() メソッドを呼び出します。

戻り値は、String 型で、Environment クラスの静的メンバとして定義されています。

 

以下、よく使うであろう定数です。

  • MEDIA_MOUNTED ・・・ SDカードが装着されている
  • MEDIA_MOUNTED_READ_ONLY ・・・ SDカードが装着されている(読み取り専用・書き込み不可)
  • MEDIA_REMOVED ・・・ SDカードが装着されていない
  • MEDIA_SHARED ・・・ SDカードが装着されているが、USBストレージとしてPCなどにマウント中

※他にも4つほど定数があるようです

 

使いどころですが、アプリからSDカードを読み書きしたい際に呼び出します。

マウントされていても、PCに接続中(MEDIA_SHARED)ということもあるので注意が必要です。

AndroidStepsAhead.png

2010年4月21日(水)、OESF主催による「Android Steps Ahead 2010/Tokyo」が開催されます。

詳しくは、以下の公式サイトからどうぞ。

http://www.oesf.jp/modules/activity/index.php?content_id=21

 

当日、ワタクシは終日「KFC Hall 3F E」の某ブースに立っているため、

残念ながら講演を一つも拝聴できないのですが、

参加される方々に お会いできるのを楽しみにしておりますので、是非お立ち寄りください^^;

MとかDいただければ、こちらから伺いますよ~。

ではでは。

「そんな事する奴おらんやろ~」的な話で申し訳ないのですが、

Android アプリのプログラム内から自身の apk ファイルを展開し、再度、(SDカードへ)圧縮してみました。

結果は見事に成功で、ちゃんとインストールできて動作します(当り前か・・・)。

※ファイルサイズが微妙に違うのは、zipalign の差?

※展開中は、1ファイル(=エントリ)毎の識別ができますので、○○だったらゴニョゴニョみたいなこともできます

※もちろん、書き換えたら署名が必要なので、その辺は自前でやるしかなさそうです^^;

 

ソースコード 

// /data/app/com.adakoda.android.ziptest.apk
String inPath = getPackageCodePath();
// /sdcard/ZipTest.apk
String outPath = Environment.getExternalStorageDirectory()
        + File.separator + "ZipTest.apk";
File inFile = new File(inPath);
File outFile = new File(outPath);
ZipInputStream inZip = null;
ZipOutputStream outZip = null;
try {
    inZip = new ZipInputStream(new BufferedInputStream(
            new FileInputStream(inFile)));
    outZip = new ZipOutputStream(new BufferedOutputStream(
            new FileOutputStream(outFile)));
    ZipEntry entry = null;
    byte[] buffer = new byte[1024];
    while ((entry = inZip.getNextEntry()) != null) {
        Log.v("entry name = ", entry.getName());
        outZip.putNextEntry(entry);
        int size = 0;
        while ((size = inZip.read(buffer, 0, buffer.length)) != -1) {
            outZip.write(buffer, 0, size);
        }
        outZip.closeEntry();
    }
    outZip.close();
    inZip.close();
} catch (IOException e) {
    e.printStackTrace();
} finally {
}
<<前のページへ 4567891011121314

Android Advent Calendar 2011

2012年2月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29