Как я могу скопировать файлы в файловую систему (место) в андроиде? Как я могу получить доступ к нему?
Вы можете использовать:
Environment.getExternalStorageDirectory()
Это даст вам / sdcard
, если на вашем устройстве есть SD-карта, или что-то другое в других случаях. Например, Archos.
Я не уверен, что это то, что вам нужно » Вы спрашиваете, но вот другая интерпретация вашего вопроса:
Вы можете поместить файлы в папку assets
в проекте на вашей машине разработки. Они будут включены в файл apk, а затем получить к ним доступ через класс AssetManager
. Что-то вроде этого из класса Service или Activity:
AssetManager am = getAssets();
InputStream is = am.open("filename");
Это позволит вам читать содержимое этих файлов. Я не верю, что вы можете им писать. Есть и другие варианты, если вам нужно читать и записывать файлы в изолированной программной среде хранилища вашего приложения. Это делается путем вызова openFileOutput ()
. Однако я должен отметить, что пользователь всегда может получить доступ к файлам на устройстве через ddms, но другие приложения не смогут получить доступ к файлам, хранящимся в изолированной программной среде хранилища вашего приложения.
Изменить Судя по вашему комментарию, вы, вероятно, захотите использовать
OutputStream out = openFileOutput("outfile");
для записи в файл из вашего кода.Этот код должен вызываться из Activity
или Service
(что-то, что расширяет Context
). Этот файл будет храниться в файловой системе телефона, а не на SD-карте. Эти файлы не будут доступны для обычного пользователя. Если пользователи знают, как включить отладку USB, они смогут получить к ним доступ, и на самом деле нет никакого способа обойти это.
копировать файлы с android на локальный
adb pull /data/data/com.example.sample ./sample/
копировать файл на android с локального
adb push ./sample/ /sdcard/sample/
Вероятно, вы можете скрыть свой файл на SD-карте, поставив перед ним точку (например, .myfile)
{{1} }