0

编辑:作为我完全傻瓜解决,并没有注意到我的 2 个活动之间的文件名是错误的。没关系,感谢所有帮助过的人。还在学习,只是希望我可以停止重新学习非常古老的课程!

我是 android 和 java 的新手,我正在尝试做看似简单的事情,但我很挣扎,不知道为什么。

我想从文本文件中加载一个字符串,并将字符串中的数字提取为 int 以在我的应用程序的其他地方使用。我想在一个数组中使用 int 然后与 androidplot 一起使用来绘制图形,我让图形与手动数组一起使用(即我自己输入一些随机数),所以为了简单起见,这里省略了大部分代码。

这是我加载 txt 文件的代码,将其拆分为“”,然后解析 int,但它不起作用。

     //actually load the progress file
public void loadDatacomm() {

        //load the asset file
            StringBuilder text = new StringBuilder();
        try {
            BufferedReader br = new BufferedReader(new FileReader("/sdcard/.progress/1gppi.txt"));
            String line;

        while ((line = br.readLine()) != null) {
            String line2[] = line.split(" ");  //split the string to get the progress
            commprogress1 = Integer.parseInt(line2[0]); 
                }

        }
        catch (IOException ex) {
            return;
        }

我猜唯一感兴趣的是我正在构建的android plot中的数组;

    Number[] commprogress = {commprogress1, commprogress2, commprogress3, commprogress4, commprogress5, commprogress6, commprogress7, commprogress8, commprogress9, commprogress1};

当我加载活动时,图表不显示任何值,如果我手动声明 commprogress1、2、3 的值,则图表绘制得很好。

有人能帮助我吗?

编辑我试图加载的文件包含以下内容:

30%完成

它是由应用程序中的另一个活动编写的。

我不知道为什么代码不起作用,我在应用程序的其他地方使用类似的代码从拆分字符串中提取 int(在本例中为 30),但它在这里不起作用。

4

1 回答 1

0

如果您在尝试访问文件时遇到异常,这可能是由于其他应用程序正在写入文件时的并发性(尽管您只是在读取文件,我希望它不会成为问题)。

无论如何,如果您只想分享活动之间的百分比,我认为使用 共享偏好可能更合适

于 2013-01-03T13:26:26.640 回答