カテゴリ: android

前に書いたMK802のカスタム版は今もDLNAクライアントとして活躍してます。

最近amazon見てたら、結構色々ふえてたので、ちょっといくつかピックアップしてみます。

最新 最速Android 4.1.1  Jelly Bean Mini PC Android TV MK802 III 3RD Dual Core RK3066 Cortex-A9  XBMC support 4G版最新 最速Android 4.1.1 Jelly Bean Mini PC Android TV MK802 III 3RD Dual Core RK3066 Cortex-A9 XBMC support 4G版
販売元:RikoMagic

販売元:Amazon.co.jp
 
MK802は MK802 Ⅱ、MK808ときてMK802Ⅲが最新版になっています。CPUはDual CoreでGPUはQuad CoreというMK808と同様の構成。形が結構かわっているのとACアダプタが無くなりました。このモデルはACアダプタが無くなったり復活したりのモデルチェンジ激しいですね・・・


MK808 Mini PC / Android 4.1.1 / デュアルコア 1.6GHz CPU / RAM 1GB / NAND 8GB / WiFiチップ内蔵MK808 Mini PC / Android 4.1.1 / デュアルコア 1.6GHz CPU / RAM 1GB / NAND 8GB / WiFiチップ内蔵
販売元:Android

販売元:Amazon.co.jp
こちらがMK808数少ないですが、まだ一応買えるところはあります。こちらもDual Core。もう品薄っぽいです。

公式みてたら、MK802ⅢSってのがComming Soonになっていて、なにが違うのかなーと思っていたらBlueTooth対応してるようです。結構ニーズはあると思うんで良いんだけど、対応機器に落とし穴ありそうでちょっと心配。(相性が悪くて使えないなんて話をたまに聞くので)

 Android 4.04 / 最新、最強 スペックRK3066を搭載したスティック型Android PC 「UG802」Android 4.04 / 最新、最強 スペックRK3066を搭載したスティック型Android PC 「UG802」
販売元:android

販売元:Amazon.co.jp
 前にも紹介してたUG802はレビューがちょっとでていて、ファームウェアをカスタムかしないと動作が安定しないとか書いてありました。なんか面倒そうではありますが、いちおう日本語で対応方法かいてあるブログがあります。でも大変そう・・

まぁ、どれも似たりよったりだし、安定しているMK802シリーズが安泰なのかなーとか思っていたら、HI-802というQuad CoreのAndroidスティックPCがありました。Quad Core必要なのか、熱大丈夫なのか気にはなります。 
-1
こちらまだ日本での取り扱いはないようで、公式のページからPaypal経由で買えます。まぁ9000円ぐらいと送料があるので、一段お値段は高いですね。 個人的にはMK802Ⅲを買うのが良いような気もします。同じ予算で2つ使えてしまうしね。

 関連する記事
android mini pcの MK802買ってみた
DLNAクライアントはandroid mini pcで良いじゃないか

このエントリーをはてなブックマークに追加

前回書いたandroid mini pcのMK802は、そもそも家庭内でDLNAクライアントとして、PS3の代わりになるものを探していて、その候補としてあがったものでした。


home

という訳でDLNAで使うためのアプリを中心にいれてあります。

DLNAクラインとソフトとしてはSkiftaベータというアプリが良い感じです。

Skiftaベータ

screenshot (1)

起動画面。なんかandroidっぽくない感じがする。

screenshot (2)

DLNAサーバ指定したら動画えらんで、どの動画再生アプリで再生するか聞かれます。

screenshot (3)

動画の再生にはMX動画プレイヤーが良いらしい。

画像の処理どうかなー?と思ったけど 画像1

某人気ロボットアニメもぬるぬる再生できる

画像2

モバイル向けに調整された動画じゃないと安定しないなんてレビューもあったけど、それむしろネットワークで詰まってるのかも。ウチの環境ではほぼストレス無く再生できたけど・・。

画像3

ネズミで有名なあの会社の車アニメも

画像4

普通に見れます。

画像5

おもちゃが主役の話も

画像6

綺麗ですね。

 

結構するすると再生されるんですけど、たまに詰まるときもあるので、本体のスペックなのかネットワークなのか判断するために、暫く運用してみようと思います。


まぁ本体スペックが問題なら、多少画質おとしてエンコードしてあげれば問題なく見れそう。iPhoneとかpspとかモバイルサイズにしたのもあるし、そっちは全然問題なく再生できます。


なお音楽の再生はrockplayer liteが良さそう。
 

ちなみにどのアプリも無料だから凄い。もちろん広告ない有償版もあるので、気になったら購入もありかなーと思います。今のところウザイと思ったこと無いけど・・まぁお布施という意味でも買おうかなとは思っています。



総合してみると良い買い物だったなーと思います。オススメ


このエントリーをはてなブックマークに追加

android mini pcが5000円ぐらいで買えるので一つ注文してみました。

画像8

箱はこんな感じでカワイイ。

MK802って製品です。MK802-Ⅱという後継機もあるんですが、スペックほぼ変わらずちょっとお高めだったので、こっちにしました。

(MK802-Ⅱがデュアルコアだってのちょくちょく見かけるけど、どうなのかな?スペックノート見てるとシングルコアに見えるけど・・)

画像3

これ第二弾なのか、カラーバリエーションが7色あって、今回はなんとなくオレンジ選びました。

スペックはCPUがAllwinnerA10 1.5GHz(CPU1GHz+GPU500MHz) Cortex-A8でメモリがオプションで1GBに増設されています。

画像6

付属品はこんな感じ。HDMIケーブルもついてきました。mini pc側のHDMIはminiHDMI端子なので注意

画像7

ほんとちっちゃくて軽いです。

画像7

MK802には排気口ないって書いてあったけど、これはちゃんとありました。メモリも1Gに増えています。このアタリのモデルの違いが良く解らないんですよね・・

画像1

miniHDMI端子とTF(microSD)カードスロット側

画像2

USB端子とminiUSB端子。付属品にminiUSB2USBなケーブルも同梱されていて、USBマウスやキーボードを接続できます。Bluetoothはないので、wirelessは受信機が必要です。(説明書には2.4Gwirelessがオススメって書いてあった)


home

電源ボタンとかはなく、電源繋げばそく起動。起動後のホーム画面。Google Play対応してるからアプリはどんどん追加できる。

画像5

Androidは4.0.4でした。4.1じゃなかった残念。

今回買ったのはMK802-Android4.0搭載 MiniPC RAM1GB版 全7色 ってやつだけど、amazonで同じぐらいの値段でデュアルコアUG802ってのも買えるようなので、そっちの方がよさそうかな。
 

Android 4.04 / 最新、最強 スペックRK3066を搭載したスティック型Android PC 「UG802」Android 4.04 / 最新、最強 スペックRK3066を搭載したスティック型Android PC 「UG802」
販売元:android

販売元:Amazon.co.jp

こっちはちゃんと Cortex-A9 dual coreになってるっぽいですね。GPUはmail400だけどquad coreだし。まぁその分熱が心配かなぁ・・。安定志向ならMK802で事足りる気もします。



我が家ではテレビにつないでDLNAクライアントとして使っていますっていう話しは

コチラの記事をどうぞ


このエントリーをはてなブックマークに追加

先日ネコミルというandroidアプリをandroidマーケットにアップしました。

banner.png


ネコだけじゃなく、犬やウサギなど人気のペットもいますので、動物好きな方は是非ダウロードしてやってください。ひいき目かもしれませんが、思わずニヤリとしちゃうカワイイ写真がありますよ。もちろん無料です。

宣伝はこのあたりで、今回リリースするときにやった作業を簡単にまとめておこうと思いました。

リリース用のapkパッケージの作成


リリース用にビルド
コレはいつものantでreleaseを指定してあげるだけです。

ant release

apkに署名
リリースパッケージは署名しないとリリースや端末にインストールできません。鍵とかの生成方法はここの「署名のしかた」に書きました。
jarsigner -verbose -keystore my.keystore bin/MyApp-unsigned.apk myapp

apkの最適化
最近はリリース前に、zipalignを使って最適化するように進められます。リファレンスによると、バージョンに関係なく、速度向上とメモリ効率があがるらしいです。

zipalign -v 4 bin/PetViewer-unsigned.apk bin/MyApp-release.apk


androidマーケットに登録

アカウント登録

これは自分でやってないのですが、http://market.android.com/publish/ にgoogleアカウントでログインして、必要事項を入力すると開発者アカウントがとれます。ちなみに有料で25$かかりますが、iPhone開発者アカウントより全然安いですね。
なお、逆引きAndroid入門さんのこの記事で詳しく紹介されていました。

登録に必要なデータをそろえる
リリースに必要なデータをそろえます。

  • apkファイル
  • スクリーンショット 320w x 480h or 480w x 854hのpngかjpeg画像
  • プロモーション画像(省略可) 180w x 120hのpngかjpeg画像

またタイトルや説明文をも入力が求められます。
  • タイトル(最大30文字)
  • 説明(最大325文字)
  • プロモーションテキスト(最大80文字)
  • アプリケーションのタイプとカテゴリ
  • 価格

タイトルや説明文は各言語で入力できます。一般的にはenglishと日本語か、日本語オンリーで入れれば良いと思います。一つだけ注意なのは日本語の325文字と英語の325文字だと伝えられる情報量が全然違うので、別の説明文か、日本語の説明をかなり短めにする必要があります。

リリース!!
あとはdeveloperコンソールに必要なファイルをアップロードして、説明文などを書き込むだけです。入力画面はこんな感じです。



お疲れさまでした。


このエントリーをはてなブックマークに追加

先日androidアプリのreleaseパッケージを作成して動作確認していたところ、

Log.d("Debug", hoge);

な 出力がreleaseパッケージでもされている事に気がつきました。

android のapiリファレンスには

Verbose should never be compiled into an application except during development. Debug logs are compiled in but stripped at runtime.

とかいてるので、Verboseはそもそも compile時に消し込まれ、Debugはrelease環境では表示されないと言っているように思うのですが、実際は表示されます。

まぁ ログぐらいいいんじゃ?とか思う方も居るかもしれませんが、Javaにおけるログ出力は結構なリソースを食います。
Javaにおける文字列は Stringオブジェクトであり、Stringオブジェクトの連結にはStringBuilderという別のクラスがnewされます。Javaでのnew 処理は意外と重い上に、Objectが増えればガーベッジコレクトの対象と機会が増えるので、結構馬鹿にできません。当然forループの中でのログ出力は あんまりよくないです。

リファレンスにも

that when you're building the string to pass into Log.d, the compiler uses a StringBuilder and at least three allocations occur: the StringBuilder itself, the buffer, and the String object. Realistically, there is also another buffer allocation and copy, and even more pressure on the gc. That means that if your log message is filtered out, you might be doing significant work and incurring significant overhead.

と 書かれています。(じゃあなんで消えないの!?って言いたくなりますが・・・)

いろいろ調べてみると、Logのメンバに isLoggable(String tag, Int level)というのがありました。

if ( Log.isLoggable(TAG, DEBUG) ) Log.d(TAG, "hogehoge");
と 書くと確かに思ったとうりの動きをする。
うーん、これってちょっと微妙じゃない? Log.dのdメソッドでlevelを表すわりには、そのまでDEBUGと明示しているあたりがダサイし、いちいちif書くのが面倒。

private static final boolean DEBUG = true;
if ( DEBUG ) Log.d(TAG, "hogehoge");

のように、ifの条件内をstatic finalな定数にしておくとcompile時に消し込んでくれるので無駄なif判定をしなくて済むというメリットがあるけれど、 Log.isLoggable(TAG, DEBUG)はcompile時に決しないので、見事releaseパッケージでも生き残ります。

じゃ あLog.isLoggableってのはどんな場合に意味をもつのかと言うと・・・ちゃんとandroidOSでサポートされているんですね。デフォルト では、

Verbose 非表示
Debug 非表示
Info 表示
Warn 表示
Error 表示
※あくまでisLoggableでの戻り値
AndroidのLogクラスを使っているメリットはこのログの表示設定をadbコマンドで簡単に切り替えられる点でしょうか。

$ adb shell stop
$ adb shell setprop log.tag.YourTag DEBUG
$ adb shell start
とするとタグ名さえわかっていれば、DebugレベルやVerboseレベルのログを出力できます。apkの入れ替えしなくても実機で簡単にチェックでき る点がメリットですが、タグ名がわかれば誰でもみれちゃうのがアレですね・・・
こうしてみるとタグ名はapk内で統一しておいた方が楽っぽいので すが・・・

もう一つadbコマンドにはログにまつわる便利(そうな)コマンドがあります。logcatでログを表示するさいにフィルタで きるんですね。
ログの出力形式はこんな感じでプリフィックスがついています。

I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}
上記の例だとActivityManagerのタグがついたInfoレベルのログです。
コレをlogcatでフィルタする時は、
adb logcat ActivityManager:I MyApp:D *:S
こ んな感じで指定できます。上記の場合はActivityManagerのInfoレベル以上、MyAppのDebugレベル以上、Silentレベルすべ てが表示されます。(SilentはOSが出すハズの最高レベルのエラーログですが、一般的にはお目にかかる事はなさそうです)

ちょっと 便利そうな機能ではありますが、実はこれadbの説明ページよんでいて今知ったばかりなので実用性がどれぐらいあるかは不明です。

さて、 はじめのバグっぽい挙動以外は、いろいろ便利っぽいLogクラスですが、こういったパッケージ系のアプリの場合は、そもそもログを見る機会が限られた端末 になることが多いので、端末設定で動的にログのオンオフ出来る機能は微妙な気もします。

とくにandroidは簡単にパッケージのインストールができちゃ うので、都度static finalなログフラグを書き換えてもいいかなぁと思ったりします。
もちろん実際は面倒なのでsedで自動で書き換えてapk作成までのshellつくっ たりしちゃうと思いますけど。

まだandroidは始めたばかりなので、どちらが良いかやってみないと解らないのですが、次アプリつくる ときにはLogクラスは自作するつもりではいます。

JavaにはLog4jというすばらしいパッケージはありますが、あれは結構巨大なライブラリな ので、ちょっと躊躇してしまうんですよね。SMTP経由でLog送れるので、旨いことユーザー自信に送信してもらわなくて良いログ報告メール機能とか出来 たらすてきだとは思いますが・・・ちょっとできるか不明です。


このエントリーをはてなブックマークに追加

↑このページのトップヘ