2013-07-24 41 views
1

這是問題。我有兩個獨立的課程,包括我的應用程序。一個是廣告SDK,另一個是RoboSpice。我都沒有源代碼,他們只是我包含的.jar文件。當這些應用程序嘗試獲取外部存儲器的路徑來寫入臨時文件時,它們將返回空值。我知道,因爲他們轉儲到控制檯的日誌。然而,在我自己的源代碼中,如果我使用的是,我假設像getexternalstorage()這樣的例程,它會返回路徑並讓我保存文件。由於我沒有這些類的源代碼,我無法逐步進行調試,我只能依靠他們寫入控制檯的內容。Android應用程序存儲路徑僅爲.jar類返回null

現在全文。這個項目是我從另一個開發人員繼承的項目。他們在項目中使用了Maven,一些依賴依賴於非公共Maven資源。所以我繼續並將其轉換爲標準的eclipse項目。舊的編譯源在我的測試設備上存儲了robospice臨時文件,位於/ data/data // cache,所以我知道舊的源在過去寫入設備的情況很好。關於爲什麼編譯源將無法在設備上獲得正確的存儲位置的任何想法?

+0

所以..在你的項目中,你從來沒有這個工作? – Math

+0

@Math如果我在非maven項目中使用我的源代碼寫入臨時存儲,它將起作用。如果外部類嘗試寫入非Maven項目中的臨時存儲,它不會。然而,在舊的Maven項目中,robospice確實成功地創建並寫入了緩存文件。 –

+0

對於那些好奇的人來說,這個問題結束了,因爲我正在將Activity上下文與App上下文發送給我的一個類。 –

回答

0

您可以在eclipse中包含使用this technique使用的庫的來源。

RS是開源的,它的源代碼可以很容易找到it's github repo

RS 1.4.6支持爲緩存文件設置自定義路徑,您必須爲此定義自己的RS服務。初學者指南詳細說明了可以實現的方式。

相關問題