2017-07-11 1 views
-1

Es kann eine dumme Frage sein..aber ich bin damit irritiert.nicht in der Lage, Textdatei von meinem Handy mit Android-Programm zu lesen

Das Hauptproblem ist..Ich habe Code geschrieben, um eine Textdatei aus dem externen Speicher zu lesen.

In meinem Computer installierte ich eine Software namens MEMU wie blustaks.

in Menü-Software gibt mein Programm gute Ergebnisse ... aber wenn ich diese App in meinem Handy (coole Pad Note 3 Lite) installieren, zeigt es "leider App ist gestoppt".

Ich habe in einem anderen Handy "Moto E" installiert, aber in diesem Handy hatte ich auch das gleiche Problem.

In-System-Software, ist es geben outputs..please mir jemand helfen ... wo ist das Problem ... (die System-Software ist Samsung)

mein Code ////

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 ist //////////////////// ///

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

geben Sie bitte Code, der für das Problem relevant ist. Sonst können wir nicht wirklich helfen. – Nico

+1

Bitte Code und Stack-Trace des Fehlers während der Anwendung stoppen. – Utsav

+0

jetzt sehen Sie den Code einmal..get korrigieren Sie mich ... ich denke Code ist in Ordnung ... bitte hilf mir .. – bharat

Antwort

0

Wit Wenn Sie den Code sehen, den Sie verwenden, ist es schwierig festzustellen, wo das Problem liegt. Wenn Sie nur den Absatz lesen, den Sie geschrieben haben, würde ich vermuten, dass Sie ein Problem mit den Berechtigungen haben. Denken Sie daran, dass Sie nicht nur statische Berechtigungen in Ihr Manifest aufnehmen müssen, sondern auch Laufzeitberechtigungen.

Add Berechtigungen wie dieses Manifest, wenn Sie brauchen, um lesen und schreiben:

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

Außerdem müssen Sie Runtime-Berechtigungen implementieren. Alle Informationen, die Sie benötigen, können Sie hier:

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

Verwandte Themen