私がやっているアプリケーションには、外部のSQLiteデータベースがあります(assetsフォルダにあります)。私の友人は、iPhone版のアプリで同じDBファイルを使用しています。 DBファイルの内容は継続的に更新されます。両方のプロジェクトが同じリポジトリにあるので、両方の使用をその共有リソースにリンクできるように、DBファイルを保存するSharedフォルダを作成しました。それはiPhoneプロジェクトでは動作しますが、Androidでは失敗します。ファイルシステムにファイルへのリンクをEclipseで、私は資産/新しい/ファイルをクリックすると高度をクリックし、Android:外部ファイルをEclipseプロジェクトにリンクする
。ファイルはassetsフォルダ(Eclipse内)に表示されますが、JAVAコードからアクセスできません。
なぜ機能しないのですか?外部ファイルをEclipseのプロジェクトにリンクする他の方法はありますか?
おかげ
EDITED:私は、資産ファイル開くためにこのコードを使用
:あなたが質問に指定された詳細から、
OutputStream os = new FileOutputStream(db_path + DB_NAME);
byte []b = new byte[1024];
int i, r;
//load list of files from 'data' folder
String[] fileCollection = am.list("data");
Arrays.sort(fileCollection);
for(i=0;i<fileCollection.length;i++)
{
//String fn = String.format(DB_NAME"%dd.db", (i + 1));
String fn = DB_NAME + "." + (i + 1);
if(fileCollection[i].equals(fn) == false){
break;
}
InputStream is = am.open("data/"+fn);
while((r = is.read(b)) != -1) {
os.write(b, 0, r);
}
is.close();
}
os.close();
アセットからそのファイルにアクセスするためのコードは何ですか? – user370305
アップデート – Marqs
をご覧ください。私の編集した答えを見てください。 – user370305