私はAndroid開発に非常に慣れていないため、apkがインストールされたときにxmlファイルがapk内から外部ストレージの特定のフォルダーにコピーされるように、Eclipseで既存のソースコードを変更する方法を探しています。
これを行う方法はありますか?
私はAndroid開発に非常に慣れていないため、apkがインストールされたときにxmlファイルがapk内から外部ストレージの特定のフォルダーにコピーされるように、Eclipseで既存のソースコードを変更する方法を探しています。
これを行う方法はありますか?
ここで質問と回答を参照してください... Android: SD カードにディレクトリを作成し、/res/raw からファイルをコピーする方法は??
編集:考えてみると、/res/raw ではなく、/assets フォルダーを使用します。これは大体私がやっていることです...
まず、外部ストレージ (通常は SD カード) に有効なフォルダーを取得します...
File myFilesDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/com.mycompany.myApp/files");
com.mycompany.myApp
上記のパスをアプリのパッケージ名に置き換えます。
次に、「xyz」で始まるファイル名を持つすべてのファイルをアセット フォルダーからコピーします。たとえば、xyz123.txt、xyz456.xml などです。
try {
AssetManager am = getAssets();
String[] list = am.list("");
for (String s:list) {
if (s.startsWith("xyz")) {
Log.d(TAG, "Copying asset file " + s);
InputStream inStream = am.open(s);
int size = inStream.available();
byte[] buffer = new byte[size];
inStream.read(buffer);
inStream.close();
FileOutputStream fos = new FileOutputStream(myFilesDir + "/" + s);
fos.write(buffer);
fos.close();
}
}
}
catch (Exception e) {
// Better to handle specific exceptions such as IOException etc
// as this is just a catch-all
}
AndroidManifest.xml ファイルで次の権限が必要になることに注意してください...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />