GoogleCollectionのjoinerは機能が豊富

あらためて、jakarta-langのStringUtilsのjoinと比べるとGoogleCollectionsのjoinerは機能が豊富だと思った。 http://java.akjava.com/library/google-collections/baseclass StringUtilsは機能豊富だけど、join目当て?の人は乗り換えるのもありかな。

Google CollectionのForwardingMultiset

今日もGoogle Collectionsで遊んでいました。 http://java.akjava.com/library/google-collections/forwardingmultisetForwardingMultisetというMultisetをdecorationパターンで拡張するクラスで使っていました以下のように、チェインで繋げることで、機能を…

Google Collections LibraryのForwardingObjectについて学ぶ

Google Collections LibraryのForwardingObjectですが、サンプルページ作ってみました。 http://java.akjava.com/library/google-collections/forwardingobjectAPIドキュメント見てもよくわかりませんでしたが、ソースコード見たらなんとなくわかりました。 …

自動WebTestを勉強中

最近は、WebTestの勉強をしていました。 Seleniumという有名なのがありましたが、IE8まで上げてしまった私の環境では、AdminモードでSelenium Serverを起動しないと PopupブロックがどーたらというエラーでIEのテストが動きませんでした。Firefoxは私も納品…

Googleがついにファイル共有サービスを開始

ブログによると http://googledocs.blogspot.com/2010/01/upload-and-store-your-files-in-cloud.htmlまもなく、Google Docsにどんなファイルでもアップロードできるようになるらしい。 気になる容量ですが、ファイルは最大 250MBまで、無料は1GBまでのよう…

日本政府はいつまで、テロリストのシーシェパードを放置するのだろう

動画とか見てるとまさに、テロリスト http://gigazine.net/index.php?/news/comments/20100106_sea_shepherd_ship_collision/民間だと対応は困難に思われるので、社民と連立の民主党だけど政府の対応を期待したい。

Androidもようやく次のレベルへ。

最近ニュースとか読むと2012年には一般携帯によく使われるSymbianについで2番目のOSになるというレポートや Dellをあわせて来年にはアメリカすべてのキャリアから発売など明るいニュースが増えてきましたねこういうFUD(自社製品より優れている競合企業の製…

Android MID 端末はSDHC 8G付属 で19800円辺りが理想的か

Covia SmartQ5 2万を切る価格でかなり注目を集めていますね。 やはり値段が注目を浴びる理由でしょうね。 知名度がまだ少ないAndroidを普及するには、比較の対象となってしまうAppleの製品の価格帯を意識する必要があると思います。 2万5千円辺りのApple iP…

ついにAndroid と CDTでのNDKのプロジェクトのマージが成功しました。

といっても、単にDoug Schaeferさんが公開しているProjectを元にhello-jniのコンパイル成功しただけですけどね。 http://github.com/dschaefer/android-box2d/tree/master先にAndroid Project作って、それをC++ Projectにコンバートすればいいみたいです。 …

ADC2応募しました。

アプリ名はAquaWave 写真がうにょうにょするアプリです。見かけたらよろしくお願いします!若干運営がゴタゴタしましたね。 開始が遅れるのはいいとしても、締め切りずらさないなら、ずらさないといい続ければよかったのにと思います。 もしかしたら、間に合…

getPreference()とgetSharedPreferenceの違い

AndroidでActivity間の設定が共有できていないと思ったら、getPreference()を間違って使っていました。ActivityのgetPreference(mode)の中身は単純にActivityのクラス名でgetSharedPreference呼び出しているだけです。 getSharedPreferences(getLocalClassNa…

Sharp Netwalkerはそれほど高くない

希望小売価格 4万5千円が高いと思われる方も多いと思いますが、比べてみるとそれほど高くありません。低価格で話題のSmartQ 5 と比べてみますとRAMの容量は512MBでSmartQは128MB(一部256MBという記述しているサイトもありますが) 内蔵ストレージ 4GBでSmartQ…

AndroidでiPhoneのように容量の違うモデルを出して利益を上げれない理由

一言でいえば、独占できないから。AppleのiPhoneとは違い、Androidはどこの会社でも作ることが可能である。 つまり、競争の原理が働いて価格競争になってしまう。 (さらに最初からSDスロット付いているからユーザーに値段気づかれやすい) また、バッテリ交…

指定したBitmapを指定のサイズに収まるようにリサイズする

public static Bitmap fitImage(Bitmap baseImage,int width,int height,Bitmap.Config config,boolean doRecycleBase){ if(config==null){ config=Bitmap.Config.RGB_565; } Point resizedP=calculateFitImage(baseImage, width, height, null);//TODO gc f…

メモリが許す限りの大きなサイズで画像を開く

メモリエラーはCatchで回避しています。 でも他のプロセスはメモリ不足で落ちるでしょう。 public static Bitmap sampleSizeOpenBitmap(String path, int startSize, Options bitmapOption) { int inSampleSize=startSize; Bitmap bitmap=null; for(int i=0;i…

画像のサイズ(幅・高さ)を取得する

public static Point parseJpegSize(String path,Point receiver){ if(receiver==null){ receiver=new Point(); } Options option=new BitmapFactory.Options(); option.inJustDecodeBounds=true; BitmapFactory.decodeFile(path,option); receiver.x=option…

Bitmapが指定した範囲に収まるサイズを計算する

public static Point calculateFitImage(Bitmap baseImage,int width,int height,Point receiver){ if(receiver==null){ receiver=new Point(); } int dw=width; int dh=height; if(dw!=0 && dh!=0 ){ double waspect=(double)dw/baseImage.getWidth(); doub…

iPhoneのPowerVR SGX 535は物凄いな。

カタログスペックやベンチマーク見ても凄いね。ほとんど連邦の白いやつは化け物か級ですよ。 http://en.wikipedia.org/wiki/PowerVRAndroidだと冬にMotorolaのSholesにPowerVR SGX 530が載るぐらいしか聞かないからな。噂のPSP2でSGX543MP4(535より高性能で…

Canvasは安定してるのかな?

主にOpenGLで開発していたのでCanvasはあまり使ってませんでした。 drawBitmapでクラッシュしていたので原因を調べてみたら、主にメモリ不足でした。どうやら、画面をスレッドでループしながら描画しつつ、画像を保存時にdrawBitmapが多重に呼ばれたのが原因…

HTC-MagicやHT03AのサポートするSDが公式では最大4GBなのはなぜだろう?

実際には8Gや16Gが動いたという話が多い中が、普通のユーザーはカタログスペックを信じる すると4GBは動画や音楽を持ち運ぶには頼りない。いろいろ調べたが4Gにくくる理由がみつからなかった。 あえて言えば、Transcentなどの粗悪な製品でうまく動作しないケ…

OpenGLでのクラッシュ

こんな感じのログでクラッシュ原因まったく探れない。 こまめにログ出しながら突き止めるとOpenGLだった。 gl.glBindTexture(GL10.GL_TEXTURE_2D, -1); しかも稀にしか起きないから大変でした。I/DEBUG ( 627): *** *** *** *** *** *** *** *** *** *** ***…

大きなBitmapの読み込み方

Androidはメモリが空いていると、デフォルトのRGB_565(ちょっと画質悪い)だと2000x2000ぐらい読み込める場合があります。 かといってメモリが不足しているとそこでエラーがでます。またARGBだと半分ぐらいのサイズしか読み込めません。 なのでメモリーエラー…

極度に断片化したHDはフォーマットしかない。HDをフルに使う習慣は止めた方がいい

結論は酷い断片化はフォーマットするべき 極度に断片化したHD。たぶん、写真とか録画の保存先として、いっぱいになったら消すような使い方を続けていた場合 ファイルを1/3ぐらい消して空きを作っても断片化の空きしかできません。 こうなるとデフラグの効率…

XMLVMというiPhoneとのクロスコンパイル環境があるらしい

http://www.xmlvm.org/android/ http://www.cokeandcode.com/aboidblog来年か再来年にはiPhoneでもアプリをリリースしたいと思っているが XMLVMとか使えば、かなり楽ができそうだ。OpenGLは使いにくいけど移植はものすごく楽なんだよね。

infoqに自分が作ったNDKアプリの話が載っていた。

http://www.infoq.com/jp/news/2009/07/android-native-code ちなみに、NDKにしてもつまらないゲームはつまらないままなので要注意! 逆にjbox2dもフレーム落ちがシビアなアクション以外なら十分使えると思います。

モトローラーにDonutsにClickと年末に向けて明るい話題がいろいろ

すでに、Xperia X3が年末に出るなど楽しみなことが多いAndroidですが 最近また明るい話題がいくつか業界3位のモトローラーがやる気見せてる http://developer.motorola.com/docstools/motodevstudio/ 改良IDEとかまで作ったり、他サイトも用意したりと本気…

androidでBitmapのリサイズ

簡単だと思う方法 Bitmapクラスの public static Bitmap createBitmap(Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter) filterは 内部でPainterクラスのsetFilterBitmap()呼び出して使っている。 指定のサイズにFitしたサイ…

画像はサイズをチェックして読み込んだ方がいいかも検証結果

写真集(3000x4500 サイズ 88枚 JPEG)を読み込む時間750x1125 に縮小して読み込んだ(sanselanのJpegImageParser使用) 204秒 1つ当たり 2.3秒縮小はおまかせで読み込んだ(実際にはメモリ不足で750x1125になる) 278秒 1つ当たり 3.1秒微妙な結果ですね。 導入…

sanselanを試した

sanselanとはPure Java(awt依存)な画像・読み書きライブラリーです。 Apache incubation Projectの1つとして開発されています。 Apache 2.0 ライセンスのオープンソースです。 http://incubator.apache.org/sanselan/site/index.htmlawtの所外したら、JpegI…

Android marketの支払いがGoogle Checkout以外でできるようになるかも

英語なのでよくわからないが、バージョンアップでGoogle Checkout以外の方法がサポートされるらしい。 http://www.cnet.com/8301-19736_1-10285981-251.html携帯電話会社の請求書に含まれるようになるのかな? さすがに、Google Checkoutだけじゃ、ビジネス…