无法使用Android程序

时间:2017-07-11 13:45:03

标签: java android

这可能是一个愚蠢的问题..但我对此感到恼火。

主要问题是......我编写了从外部存储中读取文本文件的代码。

在我的电脑中,我安装了一个名为MEMU的软件,如blustaks。

在菜单软件中,我的程序效果很好......但是当我在我的手机中安装该应用程序时(很酷的便条3英寸),它显示“不幸的是app停止了”。

我安装在另一部手机“Moto E”中,但在那部手机中我也遇到了同样的问题。

在系统软件中,它提供输出..请任何人帮助我......问题出在哪里......(系统软件是三星)

我的代码是////

    signal_number=1;samples=3600;shifting=180;
    File sdCard = Environment.getExternalStorageDirectory();
    String filename ;
    File dir = new File(sdCard.getAbsolutePath());
                    sample_tenSec = FileData.getData(dir, filename, signal_number,samples,shifting);

//////////////////////// java code //////////////////// ///

    public class FileData {
public static Number[] getData(File dir , String filename, int signalNumber,int samples,int shifting)
{
    File file = null;
    Number[] result = new Number[samples];

    try    //Get the text file
    {
        file = new File(dir+"/"+filename);
        //file=new File("/storage//3483-14D9//ppg.txt");
        if(file.exists())
        {System.out.println("File Exists");}
        else
        {System.out.println("File Does not Exist");}
    }
    catch(Exception e1)
    {
        System.out.println("File not found.");
    }

    // Read from File
    int start = (signalNumber-1)*(int)(shifting) +1;
    int end = (start + (int) (samples)) - 1;
    int i=1,k=0;

    try
    {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;
        while ((line = br.readLine()) != null && i<=end)
        {
            if(i>=start)
            {
                try
                { result[k++]= (Double.parseDouble(line.toString())); }
                catch (NumberFormatException discardNonIntegers)
                { discardNonIntegers.printStackTrace(); }
            }
            i++;
        }
        br.close();
    }
    catch (Exception e)
    {
        System.out.println("File not reading problem.");
        //System.out.println(e.getMessage());
    }
    return result;
}

}

1 个答案:

答案 0 :(得分:0)

如果没有看到您正在使用的代码,很难确定问题所在。只是阅读你写的段落,我猜你的权限有问题。请记住,您不仅需要在清单中包含静态权限,还需要包含运行时权限。

如果您需要读写,请将以下权限添加到您的清单中:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

此外,您需要实现运行时权限。您可以在此处找到所需的所有信息:

https://developer.android.com/training/permissions/requesting.html