![](/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.