JSON.stringify
从JavaScript代码)。我正在将这个JSON数据写入Android设备上的一个内部存储文件,稍后再读取它。所以当我读文件的时候花了太多的时间,我不知道它是否在读。还有一件事我只需要在主线程中阅读。
如果我将数据值“Hello World”传入
WriteFile
public String ReadFile()
{
StringBuffer text = new StringBuffer();
String FILE_NAME = "file.txt";
try {
BufferedReader bReader = new BufferedReader(new InputStreamReader(openFileInput(FILE_NAME)));
String line;
int count = 0;
while ((line = bReader.readLine()) != null) {
text.append(line + "\n");
alert("Reading File: " + ++count);
}
}
catch (Exception e) {
alert(e.toString());
}
return text.toString();
}
public String WriteFile(String data)
{
String FILE_NAME = "file.txt";
String result = "";
try {
FileOutputStream fos = openFileOutput(FILE_NAME, Context.MODE_PRIVATE);
fos.write(data.toString().getBytes());
result = "Success";
fos.close();
}
catch (Exception e) {
e.printStackTrace();
result="Error";
}
return result;
}
我已经加了一个警报
loop
还有,但我看不到任何警告信息。我甚至没见过
Exception
所以可能有两个问题。
-
写入文件时出错(但我不知道如何验证这一点?因为我不认为有任何方法可以查看内部存储文件)。
-
我读代码时出错了。
如果假设我不能用Java本地代码读取这么大的文件,那么有没有办法从WebView JavaScript代码中读取内部存储Android文件?
应用要求
我有一个Android应用程序,其中有一个WebView。我已经将完整的javascript代码(js和HTML文件)复制到应用程序的assets文件夹中。我正在从java本机代码中写入文件,并从java本机代码中读取。我正在应用程序启动时从服务器获取所有数据。我的客户有一个非常慢的互联网连接,它断开了很多次。所以他们希望这个应用在离线模式下运行。意味着应用程序将在发布时获取所有数据,我们将把数据存储在某个地方,然后在整个应用程序中阅读。如果用户再次启动应用程序,它将获得旧的现有数据。实际上,这些数据非常大,所以我将其存储到内部存储文件中。