我将拥有大型文本文件(隐私声明等,可能不超过 100k),我希望将它们放在 /assets 或 /raw 文件夹中,而不是放在我的 @strings 文件中。
另外,我想从 xml 将它们加载到文本视图中,我知道我可以通过编程方式完成。
我知道的一种方法是扩展文本视图并声明一个样式属性,解析它并从后面的代码中做我需要的东西。
但是在 android 中是否有本地方式来做到这一点?无需我为它编写逻辑?这看起来并不罕见。
我将拥有大型文本文件(隐私声明等,可能不超过 100k),我希望将它们放在 /assets 或 /raw 文件夹中,而不是放在我的 @strings 文件中。
另外,我想从 xml 将它们加载到文本视图中,我知道我可以通过编程方式完成。
我知道的一种方法是扩展文本视图并声明一个样式属性,解析它并从后面的代码中做我需要的东西。
但是在 android 中是否有本地方式来做到这一点?无需我为它编写逻辑?这看起来并不罕见。
要显示文件内容,您可以这样做:“代码”是目录的名称,FILE_RECEIVE 是要打开的文件的名称。
InputStream ss;
String code;
String content = "";
try{
files = assetManager.list("Codes");
ss=getAssets().open("Codes/"+FILE_RECEIVE);
content= convert_to_String(ss);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
public String convert_to_String(InputStream ss)
{
BufferedReader bufferedReader=null;
StringBuilder stringBuilder=new StringBuilder();
String line;
try{
bufferedReader= new BufferedReader(new InputStreamReader(ss));
while ((line=bufferedReader.readLine())!=null)
{ stringBuilder.append("\n");
stringBuilder.append(line);
}
}catch (IOException e){
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return stringBuilder.toString();
}