2010-09-13 120 views
2

我正在將一個C++庫代碼移植到android中(最初是爲linux編寫的)。Android中的臨時文件夾

該庫已構建並由java應用程序使用。

在之前的linux代碼中,庫用於創建和更新系統的/ tmp文件夾中的日誌文件......但不幸的是,在android中沒有這樣的臨時目錄。

似乎我不能使用使用應用程序緩存來保存文件由於幾個原因。

1. User need to view the file after exiting the app 

2. The library need to be reused by different applications in future. 

3. The log file is created by the native library(and not the java app) 

(請糾正我,如果一些/所有的我的理解是錯誤的)

而且我發現,大多數的目錄中的默認設置是寫保護..

我怎樣才能解決問題,沒有'生根'的操作系統? 請幫助..

回答

0

修改C/C++代碼以使用Java代碼提供的目錄。讓Java代碼通過在Environment.getExternalStorageDirectory()下創建的某個子目錄。

+0

這將在應用程序自己的緩存中創建一個文件,對吧? – Dhanesh 2010-09-13 11:06:25

+0

@Dhanesh:沒有符合條件#1的「應用程序自己的緩存」。不過,歡迎您在以應用程序命名的外部存儲上創建一個目錄。 – CommonsWare 2010-09-13 15:27:49

+0

感謝您的澄清..還有一個問題,如果我在共同的目錄中沒有寫入權限,該怎麼辦?(我可以做到沒有'生根')嗎? – Dhanesh 2010-09-14 16:59:52