2010-04-19 242 views
5

如何將文件複製到Android中的文件系統(地點)?我怎樣才能訪問它?如何將文件複製到android的文件系統?

+1

這是一個編程問題或用戶問題?你是從電腦複製*的嗎?你的Android設備?到SD卡?如果連接到電腦,是否安裝了SD卡? – 2010-04-19 14:40:00

+0

這是一個編程問題。我需要的是路徑。 我想放一些文件,以便用戶不會有任何訪問權限。我認爲這是最好的方式 – 2010-04-19 14:59:22

+0

我認爲我理解你的問題,直到我閱讀你的評論。你是否試圖將文件寫入文件系統(即在你的代碼中運行Dalvik)還是你想部署它們(通過物理連接到主機)? – 2010-04-19 18:51:06

回答

1

您可以使用:

Environment.getExternalStorageDirectory() 

這會給你/sdcard如果您的設備有一個SD卡,或一些在其他情況下的不同。例如愛可視。

+0

我知道這個......但這不是我問的。 – 2010-04-19 15:00:20

0

您可以通過以點前綴它(例如:.myfile)可能隱藏在SD卡文件

+0

在這種情況下,用戶可以將設備連接到計算機,然後查看文件。我對嗎? – 2010-04-20 06:45:20

+0

如果他從Windows窗口中瀏覽SD卡是的。但是,如果你真的不希望用戶混淆你的文件,請使用資源或原始資源。唯一的缺點是它是隻讀的。 也許你可以使用數據庫呢? – Rorist 2010-04-20 07:49:46

11

拷貝文件從機器人到當地

adb pull /data/data/com.example.sample ./sample/ 

複製文件從本地

到Android
adb push ./sample/ /sdcard/sample/ 
+0

+1如果你喜歡點擊事物,你也可以通過DDMS應用程序來做到這一點,但這只是這些命令的GUI實現。 – 2010-04-19 18:49:53

+0

我不想複製到SD卡...我想複製到文件系統目錄 – 2010-04-20 06:48:03

+0

我不認爲你直接寫入到android文件系統目錄。它唯一可能的方式來自您正在處理的應用程序。每個應用程序在/ data/data/myApp中都有一個受保護的空間,這樣一個應用程序就不能寫入另一個應用程序文件夾。那麼我現在有點與android開發脫節,所以我可能是錯的。 – Raja 2010-04-20 14:58:46

2

我不知道這是否是你問,但這裏是你的問題的另一種解釋:

您可以將文件放置在開發計算機上項目的assets文件夾中。它們將被捆綁到apk文件中,然後通過AssetManager類訪問它們。類似於服務或活動類別中的內容:

AssetManager am = getAssets(); 
InputStream is = am.open("filename"); 

這將允許您閱讀這些文件的內容。我不相信你可以寫信給他們。如果您需要在應用程序的存儲沙箱中讀寫文件,還有其他選項。這通過呼叫openFileOutput()完成。我應該注意,儘管用戶總是可以通過ddms訪問設備上的文件,但其他應用程序將無法訪問存儲在應用程序存儲沙箱中的文件。

編輯基於您的評論,你可能想使用

OutputStream out = openFileOutput("outfile"); 

寫在自己的代碼文件。此代碼必須從ActivityService(延伸到Context)中調用。該文件將存儲在手機的文件系統中,而不是存儲在SD卡上。這些文件不會被普通用戶訪問。如果用戶知道如何啓用USB調試,那麼他們將能夠訪問它們,並且真的沒有辦法解決這個問題。

1

我花了一些時間來研究關於早期的Android的系統文件,但幾乎總是與Android x86上,我發現裏面的android的/系統文件夾是隻讀的,

它與格式的圖像SFS格式,這是Linux的只讀圖像格式,所以我不認爲你可以在這個文件夾內複製一些東西。我不知道根植的android。希望它能幫助你。

相關問題