РЕДАКТИРОВАТЬ: Произошла ошибка, когда я пытался реализовать предложенные решения. Пожалуйста, просмотрите дополнительную информацию ниже. Пожалуйста, помогите мне, если можете, заранее спасибо!
Хорошо, наконец-то я получил приложение для создания и записи в файл.
На эмуляторе это работает отлично. Однако, когда я загружаю приложение на свой телефон и пытаюсь набрать adb shell
на своем телефоне. Я не могу добраться до каталога на моем телефоне, который содержит файл.
Каталог: /data/data/cpe495.smartapp/files/
. Когда я пытаюсь изменить каталог, он говорит мне, что у меня нет разрешения.
Я предполагаю, что это потому, что у меня нет рутированного телефона, и я не в учетной записи root. Я не собираюсь делать рутирование телефона.
Есть ли способ, которым я могу создать этот файл и записать в него и иметь возможность adb pull
удалить его с моего телефона? Вот текущий способ создания файла:
fOut = tThis.openFileOutput("test.csv", tThis.MODE_APPEND);
Заранее спасибо !!
Все еще не работает
Я добавил следующий код ко мне в приложение, и когда я запускаю его и когда он пытается записать файл на SD-карту, происходит сбой со следующей ошибкой, пожалуйста, помогите мне!
String inFileName = "/data/data/cpe495.smartapp/files/test.csv"; //TODO Use folder/filename
File inFile = new File(inFileName);
try{
FileInputStream fis = new FileInputStream(inFile);
String outFileName = Environment.getExternalStorageDirectory()+"/test.csv"; //TODO Use output filename
OutputStream output = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer))>0)
output.write(buffer, 0, length);
output.flush();
output.close();
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
04-05 23:20:11.551: WARN/System.err(285): java.io.FileNotFoundException: /mnt/sdcard/test.csv (Permission denied)
04-05 23:20:11.582: WARN/System.err(285): at org.apache.harmony.luni.platform.OSFileSystem.openImpl(Native Method)
04-05 23:20:11.593: WARN/System.err(285): at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:152)
04-05 23:20:11.601: WARN/System.err(285): at java.io.FileOutputStream.<init>(FileOutputStream.java:97)
04-05 23:20:11.601: WARN/System.err(285): at java.io.FileOutputStream.<init>(FileOutputStream.java:168)
04-05 23:20:11.612: WARN/System.err(285): at java.io.FileOutputStream.<init>(FileOutputStream.java:147)
04-05 23:20:11.622: WARN/System.err(285): at cpe495.smartapp.SmartApp$8.onClick(SmartApp.java:162)
04-05 23:20:11.622: WARN/System.err(285): at android.view.View.performClick(View.java:2408)
04-05 23:20:11.632: WARN/System.err(285): at android.view.View$PerformClick.run(View.java:8816)
04-05 23:20:11.632: WARN/System.err(285): at android.os.Handler.handleCallback(Handler.java:587)
04-05 23:20:11.642: WARN/System.err(285): at android.os.Handler.dispatchMessage(Handler.java:92)
04-05 23:20:11.642: WARN/System.err(285): at android.os.Looper.loop(Looper.java:123)
04-05 23:20:11.685: WARN/System.err(285): at android.app.ActivityThread.main(ActivityThread.java:4627)
04-05 23:20:11.685: WARN/System.err(285): at java.lang.reflect.Method.invokeNative(Native Method)
04-05 23:20:11.692: WARN/System.err(285): at java.lang.reflect.Method.invoke(Method.java:521)
04-05 23:20:11.702: WARN/System.err(285): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
04-05 23:20:11.702: WARN/System.err(285): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
04-05 23:20:11.711: WARN/System.err(285): at dalvik.system.NativeStart.main(Native Method)