読者です 読者をやめる 読者になる 読者になる

Android

Androidでのnew String(byte[])とCharsetDecoder.decode()の違い

byte[] -> String 変換のパフォーマンス、とAndroidでCharsetDecoder#decode(ByteBuffer in).toString()が遅い件 - komamitsu.log でAndroidではnew String(byte)の方が速い結果が出たので[https://github.com/OESF/OHA-Android-4.0.3_r1.0:title=コード]…

型変換テンプレートで変換する際、中間オブジェクトを生成しないようにした

Android上でJSONとMessagePackの簡単なベンチマークをとってみた - komamitsu.log の続き。http://syuki.skr.jp/files/201204041/furuhashi-master-last-iso-pdfa.pdf を読んだところ、Unpacker.read(Class)は中間的な動的型付けオブジェクトを生成しないと…

Android上でJSONとMessagePackの簡単なベンチマークをとってみた

使ったコードはこちら => https://github.com/komamitsu/AndroidMsgpackBenchmark/blob/master/src/com/komamitsu/android/msgpackexample/MsgpackExampleActivity.javaベンチの概要としては、100byte x 50000の配列、100byte(value) x 30000の辞書をJSON, M…

NewstreamをWebViewからListViewに変更

まとめ系ニュースを、さらにまとめて眺める系アプリ作った - komamitsu.log で作ったときはサーバー側でHTML作って、Android側ではWebViewで表示させていたのですが、どうにももっさりしていたので、えいやとListViewに書き換えました。手元の古のIS06ではか…

読んでおきたい記事メモ

http://android-developers.blogspot.jp/2011/06/new-editing-features-in-eclipse-plug-in.html http://android-developers.blogspot.jp/2011/05/introducing-viewpropertyanimator.html http://android-developers.blogspot.jp/2011/03/identifying-app-in…

まとめ系ニュースを、さらにまとめて眺める系アプリ作った

https://play.google.com/store/apps/details?id=com.komamitsu.newstream ちょっとした暇なときに、カジュアルなニュースを流し読みできるアプリです。 発言小町、知恵袋、はてなブックマーク、NAVERまとめの最新情報をまとめて読めます。 元々、AppStoreの…

テトリスっぽいけどテトリスじゃないアプリを作った

https://play.google.com/store/apps/details?id=com.komamitsu.pentaris以前作ってみたテトリスアプリは This is a notification that your application, Ketris (Tetris clone), with package ID com.komamitsu.ketris, has been removed from the Google …

sendBroadcast()のコスト

極端な話、普通のメソッド呼び出しとどの程度違うのか、と気になったので試してみた。 package com.komamitsu.bench; import java.util.concurrent.Executors; import android.app.Activity; import android.content.BroadcastReceiver; import android.cont…

AndroidでTesseractを使ってみた

http://code.google.com/p/tesseract-android-tools/ を使うとAndroidからでも簡単にOCRれるみたいなので、夏休み中で時間もあることだし試してみようかと。ビルドの仕方はREADMEに書いてある通りに以下のようにすればOK cd <project-directory> wget http://tesseract-ocr.goog</project-directory>…

テトリスっぽいやつに自動保存機能つけた

テトリスっぽいゲーム作った - komamitsu.log で書いた Not Found なんですが、アプリを終了させると(というか画面を閉じるだけで)、次はまた最初からになってしまうのが嫌だったので自動的に保存する機能を付けました。で、アプリスタート時に続行可能に。

テトリスっぽいゲーム作った

https://play.google.com/store/apps/details?id=com.komamitsu.ketris以前、ちょっと時間が空いていた頃、SurfaceViewの練習がてら適当にブロックを書いて動かしてたらテトリスになったので、ちょこちょこと手を加えてそれっぽくしてリリースしました。途中…

MediaPlayerでerror (1, -2147483648)が出る件

エラーが発生しても数字をボソっとlogに呟くだけで有用な情報を教えてくれないことに定評があるAndroidのMediaPlayerですが、Player画面を終了しようとすると表題のエラーがこそっと出ていることがあります。大抵、再生の停止時なので、あまり影響がなく放っ…

support v13を使うプロジェクトのビルド(with maven-android-sdk-deployer)

mavenでAndroid projectをビルドする際、support v13を使っている場合にちと困ります。というのも、http://search.maven.org/ にはまだ、support v13のartifactが無いのですね。で、そんな場合、mosabua/maven-android-sdk-deployer · GitHub を使って解決で…

Android Emulator Plugin を試してみた

Android Emulator Plugin を Plugin Managerからインストールしてみて、適当にいじってみた感をつれづれと。Job -> Configure から "Run an Android emulator during build" 辺りを設定していけばそれっぽく動く(詳細は上のURL参照)のだけど、デバイスが見…

Jenkins + MavenでAndroid projectをbuild

割といたるところで実践されているネタだとおもうのでアレなのですが、まぁ色々とハマったところもあり、せっかくなのでメモっておこうかと。 Jenkinsを動かすremote serverは以下のとおり。 $ cat /etc/redhat-release CentOS release 6.2 (Final) $ uname …

Jenkins + Maven で Android test project を build & test

Test project も Jenkins上で build & test できたので、忘れないうちにメモ。とはいえ、力つきそうなのでザックリと。 Android test projectの作成(local PC) やりかたは色々あると思うけど、今回は まず、Eclipse上で、Android test projectを作って 以…

AdMarvelという広告系のSDKが位置情報まで送っているみたいな件

どうもインストールしていたShazam絡みで動いているみたいなんだけども、logcat見ているとたまに以下のようなエラーを吐いている(UNIQUE_ID以降とGEOLOCATION以降は一部値を変えてます)。 E/admarvel( 1299): postString: &site_id=14488&partner_id=ef8a3…

Android WidgetアプリをMarketに登録してみたの巻

NAVER Topic Widget - Google Play の Android アプリ NAVER検索(http://www.naver.jp/)のトップに流れるトピックワードを、AndroidのWidget上で順番に表示します。情報の更新は20分間隔、トピックの切り替えは15秒間隔でおこないます。スリープ中は処理を…

Android上でWeb serverを動かしてみた

Wifi環境であればPCからAndroidにアクセスできるはずで、すなわちAndroid上にWeb server立ててPCからアクセスできるんじゃないかなぁ、と思ったのと、NanoHTTPD has moved to github という酷くかわいいhttpd(Java source file一枚!)を見つけてしまったの…

Issue 7933: Closing a socket from another thread doesn't generate IOException

う〜ん、どうやら全力でこいつを踏んでいるみたい... http://code.google.com/p/android/issues/detail?id=7933

そもそもAndroidOS2.2以前では別ThreadからのSocket#close()が効かない件

http://d.hatena.ne.jp/komamitsu/20111103/1320338412 の続きで少し見てみたら、HttpRequestBase#abort() -> AbstractClientConnAdapter#abortConnection() -> SocketHttpClientConnection#shutdown() -> Socket#close() と来ているので、やっぱりこの辺か…

AndroidではHttpGet#abort()が効かないみたいな疑惑

OpenJDKでもOracleJDKでも、org.apache.http.client.methods.HttpGetのexecute()でblockしている間, 以下のように別Threadからabort()させることができます。 public class App { public static void main(String args[]) { final String hostname = "localh…

ORMLite使ってみたメモ

ここ半年位、Android Appを開発しています。関係者一同の頑張りもあって100万ユーザーという非常にうれしい状況なのですが、結構なハードスケジュールで開発が進んだので割と力技で泥臭く実装している箇所があったりします。Database周りもゴリゴリSQL文…

maven-android-pluginを使う & m2eclipseと連携するメモ

今更なのですが、メモを残しておこうかと。というか http://code.google.com/p/maven-android-plugin/wiki/GettingStarted と http://rgladwell.github.com/m2e-android/ 見ればいいだけなんですが、まあ一応。ちなみにADTからproject作っちゃった場合向けで…

Icon Badge的な何か

iPhoneでよくある例のやつです。Androidでは標準で無いので自前で何とかしないといけなさそうですが、どうもサンプルコードが見当たらないのです。悲しい…嘆いていても仕方が無いので自分で書いてみました。 ImageWithBadge.java package com.komamitsu.andr…

背景画像ありの画像付きボタン

を作りたい場合に気がつかなくて少しハマったのでメモ。 ImageButtonを使えばよろし。 <ImageButton android:id="@+id/hoge_btn" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="20" android:focusable="true" android:src="@drawable/icon_xxx" android:background="@drawable/sel_bg_button" /></imagebutton>

UbuntuからIS06にUSB接続

まぁ買いました。IS06。何だか自宅のPCより軽快なのは気のせいでしょうか...で、Androidアプリをちょこちょこ作っている手前、IS06に接続できないと話になりませんので試してみましたメモ。Android SDKやらは既にインストール済みという前提で。あとUbuntuは…

画像ダウンロード中にローディングっぽい表示を出しておきたい

という需要が良くあるのだけど、標準のSDKのライブラリにはピッタリのものがないので、それっぽいものを書いてみた。まず、画面のレイアウト。今回はListActivityを使うのでそのように。今回の本筋とは関係ない。 layout/main.xml

java.lang.ClassCastException:android.widget.LinearLayout$LayoutParams

LayoutInflaterでinflate()を使っていたら、こんなエラーが出てちょっとハマってしまったのでメモ。API referenceをみると、 http://developer.android.com/reference/android/view/LayoutInflater.html#inflate%28int,%20android.view.ViewGroup,%20boolean…

TicTacToeLibを単体で起動 ( ActivityManager: Starting: Intent が飛んでこないときの対処 )

おぉ、Androidの話題なんて書いちゃって、格好良すぎるなおれ。Android SDKのサンプルにTicTacToe(Lib|Main)というのがある。単なるおバカなマルバツゲームなのだけど、MainがLibを呼び出すことで動くようになっている。で、試しにLibだけ単体で動かしてみよ…