这是我为同一个问题开始的第二个主题,因为我没有得到我之前问题的正确答案/工作答案。我试图从我的assests文件夹中读取一个文本文件。代码适用于桌面,但不适用于Android。我知道我需要一个上下文或资产管理器,但后来我无法获得解决方法。到目前为止,我已尝试过所有内容,但我无法找到有效的教程。我甚至将java版本更改为1.7以获得资源的尝试。我仍然是一个菜鸟,所以任何帮助都会很棒。这是阅读文件和生成单词的完整类。
public class WordGenerator {
public String randomWord;
public Random rand;
public char [] randomWordChar;
public ArrayList<String> words = new ArrayList<String>();
private Context mCtx; //<-- declare a Context reference
public void WordGenerator() {
rand = new Random();
String all = new String("words.txt");
String line;
try {
BufferedReader br = new BufferedReader(new FileReader(("words.txt")));
if (!br.ready()) {
throw new IOException();
}
while ((line = br.readLine()) != null) {
words.add(line);
}
br.close();
} catch (IOException e) {
System.out.println(e);
}
int size = words.size();
Random rn = new Random();
int randWord = rn.nextInt(size);
randomWord = words.get(randWord);
randomWordChar = randomWord.toCharArray();
}
}
我甚至尝试过将加载过程分成不同的void类但失败了。如有可能,请帮助谢谢。这是另一个问题的链接,所以你知道答案不起作用!!
答案 0 :(得分:0)
您应该使用 android.content.Context 来使“getAssets()”方法正常工作。
观察到您正在使用 javax.naming.Context 作为上下文。