android从资产中实时读取文件

android从资产中实时读取文件,android,assets,android-file,Android,Assets,Android File,我想从资产中读取文本文件的最后一行,并获取刚刚添加的新数据,所以我尝试使用handler,但仍然得到相同的结果 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); handler = new Handler(); handler.postDelayed(run

我想从资产中读取文本文件的最后一行,并获取刚刚添加的新数据,所以我尝试使用handler,但仍然得到相同的结果

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    handler = new Handler();
    handler.postDelayed(runnable, 5000);
}

private Runnable runnable = new Runnable() {
    @Override
    public void run() {
        try {
            String lastLine = "";
            Context context = getApplicationContext();

            BufferedReader br = new BufferedReader(new InputStreamReader(context.getAssets().open("kinect_gesture.txt")));
            String sCurrentLine;

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
                lastLine = sCurrentLine;
            }

            TextView txt = (TextView)findViewById(R.id.gesture);
            txt.setText(lastLine);
        }catch( java.io.FileNotFoundException e ) {
            e.printStackTrace();
        } catch( java.io.IOException e ) {
            e.printStackTrace();
        }

        handler.postDelayed(this, 5000);
    }
};
运行应用程序时,有没有办法从文本文件中获取新数据

运行应用程序时,有没有办法从文本文件中获取新数据


不,因为那不是一个文本文件。这是一项资产。资产在运行时是只读的。它在应用程序运行时不会更改。若要更改资产,您需要重建并重新部署应用程序。

您不能更改资产文件夹中的文件,但可以将这些文件复制到其他地方(内部或外部)并更改这些文件。@resw67非常感谢!!非常感谢。我将把文本文件保存在其他地方,如果不起作用,我将尝试使用clound代替。:)