![](/img/trans.png)
[英]How to get data from mysql and view that data in android application?
[英]How to Get Application Data Dir in Android
如何獲取Android Fragment或標准Java類(不是Activity)中的Application Data Dir。
我正在做一項作業,需要使用序列化在Android中執行CRUD操作。 到目前為止,我有一個標准的Java類,可以像這樣執行讀寫
private void readFile() {
try{
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(filePath));
books = (List<Book>)ois.readObject();
ois.close();
}catch (Exception e){
Log.e(TAG, e.getMessage());
}
}
private void writeFile(){
try {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(filePath));
oos.writeObject(books);
oos.flush();
oos.close();
} catch (Exception e){
Log.e(TAG, e.getMessage());
}
}
問題是,此類構造函數需要像這樣傳遞String DataDir
公共類BookSvcSioImpl實現IBookSvc {
private final String TAG = "BookSvcSioImpl";
private List<Book> books = null;
private String dataDir = null;
private String filePath = dataDir + "/myBooks.sio";
public BookSvcSioImpl(String appDataDirectory){
this.dataDir = appDataDirectory;
readFile();
}
我使用此String參數來構造文件路徑。 我的問題是如何在Fragment或不是Activity的標准Java類中獲取Application Data Directory。 在Activity中,可以像這樣調用getApplicationInfo.DataDir來獲取它
String dataDir = getApplicationInfo().dataDir;
BookSvcSioImpl sioService = new BookSvcSioImpl(dataDir);
sioService.create(enteredBook);
我無法在Fragment或Java類中執行此操作。
我無法在片段中執行此操作
在Fragment
上調用getActivity()
以獲取承載該片段的Activity
。
請注意, Activity
(或其他Context
getFilesDir()
上的getFilesDir()
比getApplicationInfo().dataDir
更好,因為我不知道dataDir
可以調整以處理平板電腦上的多個帳戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.