Android上で効率的にサーバ側に問い合わせる通信をおこなうには?

ドコモから日本語の資料が出てきたので、それ以前に公開されていたソニーの資料と併せてメモ書き。

Androidアプリ作成ガイドライン ~効率的な通信制御に向けて~

Androidにおいて、ネットワークを使って定期的に外部サーバから情報を取得する場合に、どのような実装を取るべきか、という点を日本語で解説。

このドコモの資料は、下記2記事の内容を含んだ、よい日本語の資料では無いかと思われる。

・SONY Developer world:「Reducing power consumption of connected apps」(2010/08/23)

アプリで情報を取得しにいくタイミングを合わせましょう、という記事。
ドコモ資料の「3.2. 1携帯電話あたりの通信回数を減らす手法」に相当する内容。
SONYのでは「AlarmManager.RTCを使え、 AlarmManager.RTC_WAKEUPは使うな」とある。
(ドコモのでは「AlarmManager.ELAPSED_REALTIMEを使うことを推奨」)

Web上には細かい処理までは書かれていないため、サンプルソースをダウンロードしてから、ソースを見つつ確認のこと。

・Ericsson Lab: ネタ元blog記事消滅?
sladeshareに講演で使用したスライドがある:「Understanding Smartphone Traffic – DroidCon 2010」(2010/10/28)

こちらは、無線通信側から見た資料。
ドコモ資料の「2章 モバイルネットワーク概要」あたりの話。


・SONY Developer world:「Android Application Coding Guidelines – Power Save」(2010/04/19)
これは、今回の件にはあまり関係ないけれども、wakelockの使い方について、良い例/悪い例を挙げている。
Ericsson Labの資料で触れられていたので紹介。

ApacheのFancyIndexと文字化け

Apacheのauto index機能を使って、「http://~/ディレクトリ/」を開いた時に、ファイル一覧を取得できるようにしようと考えた。

が・・・
日本語UTF-8のファイル名を置いたところ、文字化けが発生。

調べると、サーバが返すレスポンスが「Content-Type: text/html;charset=ISO-8859-1」となっている、ということが判明。

いろいろ、試した結果、最終的に、「apache の mod_autoindex が ISO-8859-1 になってカオス」の情報にたどり着きました。

つまり、設定ファイルに以下の様な形で、autoindexにキャラクタセットのオプションを指定してしまう、というのが解決策でした。

Options ExecCGI Indexes
IndexOptions Charset=UTF-8

・・・マニュアルに書いていないオプションがあるとは・・・と思ったけど、探したら英語版マニュアルには書いてあった・・・

これだから日本語版マニュアルは・・・

MediaTekのLTE対応チップ MT6599は2013年後半製品出荷?

Media TekのLTE対応チップ MT6599について、Webboの联发科技官方微博アカウントが少し情報を発言しました。

10月15日 16:50の発言より

联发科技四核智能手机解决方案将于明年年初正式发布,此外,FDD-LTE和TDD-LTE智能手机解决方案也将于明年下半年相继发布。目前四核处理器的问题主要存在于功耗方面,但随着四核处理器功耗问题的解决,四核处理器将逐步占领高端智能手机市场。

中国語をちゃんと学んだことがないですが、適当に翻訳をかけてみたところ、以下の様な感じであるようです。

・2013年初頭に正式に発表する
・FDD-LTEとTDD-LTEに対応
・製品出荷は2013年下半期になる予定
・現状4コアは電力消費の面で問題があるが、解決のめどが立った
・これから4コアが市場を占めていくだろう

2013年後半に製品出荷なので、日本市場に製品が出回るまでは、まだまだ時間がかかりそうですね。

というか、とりあえず出てくる予定のMT6589/6583は電力消費大丈夫なんだろうか・・・

MIPS Android(JZ4760)用nicoWnnG version 2012.1015.1 独自ビルド版

(2013/06/21 追記 start)
最新版は「MIPS Android(JZ4760)用nicoWnnG version 2013.0425.1 独自ビルド版」にて配布中。

(追記 end)


MIPS Androidで動作するnicoWnnG
2012/10/15時点での最新版(Version 2012.1015.1)にアップデートしました。

ダウンロード: nicoWnnG-2012.1015.1-mips.apk

[注意事項]
この独自ビルド版nicoWnnGの配布にあたり、GORRYさんに許可を取っています。

この独自ビルド版nicoWnnGは、ソースの変更を行っていません。コンパイル時にMIPS用のバイナリを作成するようにしただけのものです。
このため、前のバージョンからの変更内容については、オリジナル版を参照願います。

オリジナルのnicoWnnGがすでにインストールされていると、こちらの独自ビルド版はインストールに失敗します。
逆に、こちらの独自ビルド版があると、オリジナルのインストールに失敗します。
これは、この独自ビルド版は、オリジナルのnicoWnnGと同じソース・パッケージ名で作成されていますが、署名が異なっていることによるものです。
といっても、現状のオリジナル版はMIPS用のライブラリが内蔵されていないので、そもそものインストールに失敗するので、支障は無いですが・・・

MIPS用バイナリ作成には、Google配布のAndroid NDK r8bを使用しています。
また、オリジナル版に含まれるARM,x86用バイナリを削除しています。

ronzi(溶智) A3での動作確認をしました。

それ以外の機種での動作は未確認です。

旧バージョン:
2012.0905.1版
2012.0325.1版
2012.0222.1版
2011.1207.1版
2011.1205.1版
2011.1115.1版
2011.0823.2版
2011.0503.1版

独自ビルド版のトピック
・Android NDK r8bでコンパイルしています。
・MIPS用のバイナリが含まれています。
・apk容量削減のため、MIPS用バイナリのみとしました。
・全体の再コンパイルは行わず、libディレクトリのみをapktoolを使って入れ替えるという邪法を使っています。
・署名が当サイトのものとなっています。

ActionSemiconductor ACT-AMT7029?

AinolからNOVOタブレットの新製品群が出るという話があるようです(juggly.cn:「中国 Ainol、NOVOタブレット新作 Dragon、Venus、Fame II、Legend、Dream、Hero、Hero II、Captainの製品情報を公開」)

その中で

CPU: ACT-ATM7029 Cortex-A9クアッドコア
GPU: GC1000

というスペックが掲載されているようです。

ACT-AMT7029とは、おそらく、ActionSemiconductor(炬力集成)のAMTプロセッサシリーズの製品のことだと想定されます。

しかしながら、ActionSemiconductorのページは全然製品について更新されないページなのです。

トップページのニュースを見ると英語版の最終更新は2011年4月、中国語版は2011年12月ぐらいな模様ですが、その時点でリリースされていたはずの、AMT-7001という製品について、記載がありません。

1つ前の製品である「AMT-7001」というのは、どういう製品であったのかと言えば、MIPS32 74Kfコア採用のプロセッサです。

CPU: MIPS32 74Kf(浮動小数点演算機能つき)ベース 1.3GHz
GPU: GC800 / OpenGL ES2.0対応
メモリ: DDR3
HDMI 1.3対応
(参考1:2011/11/15作成「AMT-7001とJz4770/Jz4760の違い?」)
(参考2:2011/11/05プレスリリース「ミップス・テクノロジーズとActionsc Semiconductor社、Android「Honeycomb」をタブレット向けの新しい1.3GHzチップに搭載するために協力」)

AMT-7029は、GPUについては引き続きVivante社のGCシリーズのGC1000というのは、非常に順当な進化と言えます。

しかしながら、CPUコアがARM系Cortex-A9ベースに変わる、というのは、非常に驚いた選択です。

とはいえ、MIPSコアのAMT-7001搭載の製品は少なく、同業でMIPS系CPUを出しているIngenic(北京君正)も、夏に出す予定だった次世代製品Jz4780が、音信不通になってる現状からすると、MIPS系CPUに見切りをつけてしまった可能性が高いような気もします。

特にMIPS系で独占販売をしていたAinolがすでにARM系でばりばり売ってしまっている現状から考えても、MIPS系Androidの将来は結構つらいのかもしれません・・・

MIPS版Jelly Bean(Android 4.1.1)も出ているのに