gpt4 book ai didi

Android - 读取文件

转载 作者:行者123 更新时间:2023-11-29 16:06:16 25 4
gpt4 key购买 nike

我正在尝试从我的 /assests 文件夹中的文件 Exercises.txt 中读取练习列表,并且我已经找到了很多示例如何操作,但我不断收到错误“context cannot被解决”,如果我设法解决这个问题,那么我会得到“默认构造函数无法处理隐式 super 构造函数抛出的异常类型 IOException。必须定义一个显式构造函数”

这是我的代码:

class ChooseExercises extends ListActivity{

String[] exercises;

AssetManager am = context.getAssets(); //Error 1
InputStream inputStream = am.open("test.txt"); //Error 2
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.choose_exercises);
}

}

谢谢大家的帮助。

最佳答案

由于没有名为 context 的内容,因此您无法从数据成员初始化程序中引用它。

因此,首先将您的 AssetManager 和后续数据成员作为局部变量移动到 onCreate() 中,并替换 context.getAssets()只需使用 getAssets(),您的状态就会更好。

class ChooseExercises extends ListActivity{
String[] exercises;

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.choose_exercises);

AssetManager am = context.getAssets(); //Error 1
InputStream inputStream = am.open("test.txt"); //Error 2
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

// TODO: actually use this stuff
}
}

稍后,当您对 Java 和 Android 越来越熟悉时,将此磁盘 I/O 移至后台线程。

关于Android - 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18069646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com