Android Java открывается из активов-> быстро - PullRequest
1 голос
/ 08 ноября 2010
public static String openAssetFile(Context ctx) {


BufferedReader br=new BufferedReader(new InputStreamReader(ctx.getResources().openRawResource(R.raw.hung)));
String readLine;
String sout="";

    try {
        while ((readLine = br.readLine()) != null) {
            sout+=readLine;
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }


return sout;
}

это не работает, он зависает, мой XML-файл составляет около 300 КБ.

как я могу справиться с этим?

Ответы [ 2 ]

1 голос
/ 07 апреля 2011

Попробуйте использовать StringBuffer как этот, способ, которым вы делаете это очень медленно

public static String openAssetFile(Context ctx) {
    BufferedReader br=new BufferedReader(new InputStreamReader(
          ctx.getResources().openRawResource(R.raw.hung)));
    String readLine;
    StringBuffer sout= new StringBuffer();

    try {
        while ((readLine = br.readLine()) != null) {
            sout.append(readLine);
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
   return sout.toString();
}
0 голосов
/ 24 января 2011

Пытался поместить его в "/ xml" и вызвать Resources.getXML() или в "/ assets"?

...