Android用PDICビューワー「aDice」0.2.1をリリースしました。
[0.2.0 2010/11/07]
・起動時のキャッシュファイル生成を止めて、内蔵ストレージの使用量を削減
・A2SD対応[0.2.1 2010/11/07]
・ファイルサイズ削減
起動時のインデックス作る処理をネイティブ化したら我慢できる速さになったので、これまでローカルストレージににキャッシュとして保持しておいたのを止めて、毎回インデクスを作るように変更しました、
私のDesireの内蔵メモリがだんだん逼迫していたためです。
A2SD併用で内蔵メモリ使用量は240KB程度まで削減できました。
ところで、gitで公開していただいているソースコードから
ビルドしようとしたのですが、以下エラーが出てビルドできませんでした。
よろしければ解決方法を教えていただけませんでしょうか?
(下記方法でとりあえずQuick Fixはできましたが。)
1.aDiceActivity.javaの235行(下記)あたりで、
// キャッシュの掃除
FileUtils.removeDirectory(getCacheDir());
FileUtilsクラスが見つからないというエラーがでてしまいました。
ちょっと調べた感じ、commons-io-2.0.jar(http://commons.apache.org/io/)を
リンクする必要があるのかと思い試してみましたが今度はremoveDirectoryメソッドがないというエラーが出て駄目でした。
とりあえず、バージョンアップの時にキャッシュを削除しているだけのような
気もしたので、コメントアウトしたら解決しました。
2.IndexCache.java 215(下記)でNativesクラスが見つからないというエラーが出てしまいます。
while( Natives.countIndexWordsNative( params , getSegmentWithoutCache(segment++,blocksize) , indexPtr ) );
よく分かってませんが、NDKで作成したネイティブコードを使っているみたいですが、自分でNativeクラスを呼ぶクラスを作成してみたりしましたが、ビルドはできても動きませんでした。
よく見ると、もともとはNativeコードを使わないで実装していたみたいなので、上記行をコメントアウトし、直後の下記行とその下のメソッドのコメントをとったら
一応動くようになりました。
while( countIndexWords( params , getSegment(segment++) , indexPtr ) );
private boolean countIndexWords( int[] params , byte[] buff , int[]indexPtr )
以上、すみませんがよろしくお願いします。
※自作の単語暗記アプリと連携させて、調べた単語を共有メニューから単語暗記アプリに登録できるようにしたいと考えています。