从文本文件加载字符串值,生成一个int并传递给androidplot

时间:2013-01-03 12:13:19

标签: android android-arrayadapter androidplot

编辑:已解决为IM TOTAL FOOL并且没有注意到我的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绘图中的数组,我正在这样构建;

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

当我加载活动时,图表不显示任何值,如果我手动声明commprogress1,2,3的值,那么图表绘制正常。

有人能帮助我吗?

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

完成30%

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

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

1 个答案:

答案 0 :(得分:0)

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

在任何情况下,如果您只想分享活动之间的百分比,我认为使用shared preferences可能更合适