2013-11-09 100 views
1

我想通過在活動中創建方法並在非活動中創建引用變量來從非活動中獲取資產文件夾文件。但它不工作從非活動訪問資產文件夾android

在活動代碼

public InputStream get_file(String file_path) throws IOException{ 
     return this.getAssets().open(file_path); 
    } 

在非活動代碼

HelperAcitivity ha = new HelperActivity(); 
InputStream br = ha.get_file("index.html"); 

如何使這項工作?從非活動性文件訪問資產內容。

+1

傳遞活動場景,以非活性類使用相同的存在 – Raghunandan

回答

5

傳遞上下文到NonActivity類

new NonActivity(ActivityName.this); 

然後在構造函數中

Context mContext; 
public NonActivity(Context context) 
{ 
mContext = context; 
} 

然後使用上下文如下

InputStream is = mContext.getAssets().open(file_path); 

編輯:不要創建實例活動類。活動有一個生命週期,由startActivity以意圖爲參數啓動。

+0

非活動啓動的服務,所以將這種情況下通過可以隨時通過了該服務運行的時間? – yourkishore

+0

@yourkishore這不是一個問題。但要確保活動環境在活動的生命週期內。否則,你可能會遇到內存泄漏 – Raghunandan

+0

感謝您的回覆,現在嘗試 – yourkishore