Skip to content

Instantly share code, notes, and snippets.

@bluemyria
Created March 7, 2018 09:30
Show Gist options
  • Save bluemyria/8aaaa225caafed113a1bafaad2f89e40 to your computer and use it in GitHub Desktop.
Save bluemyria/8aaaa225caafed113a1bafaad2f89e40 to your computer and use it in GitHub Desktop.
Android - 009 - File access ( READ / WRITE )
//////////////////////////////////////////////////////////////////////////////////////////////
// AndroidManifest.xml
//////////////////////////////////////////////////////////////////////////////////////////////
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="....">
// WRITE_EXTERNAL_STORAGE permission is enough for both reading and writing
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
// WRITE_EXTERNAL_STORAGE permission is enough for both reading and writing
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
......
</application>
</manifest>
//////////////////////////////////////////////////////////////////////////////////////////////
// MainActivity
//////////////////////////////////////////////////////////////////////////////////////////////
public class MainActivity extends AppCompatActivity {
private void auslesen() {
try {
String dateiname = Environment.getExternalStorageDirectory() + "/Dateien/android.txt";
FileReader fr = new FileReader(dateiname);
BufferedReader br = new BufferedReader(fr);
String zeile;
zeile = br.readLine();
//
while (zeile != null) {
// do sth with the zeile, eg lbl.append(zeile + "\n");
zeile = br.readLine();
}
br.close();
fr.close();
} catch (Exception ex) {
lbl.append("\n\n" + ex.getMessage());
}
}
// Beim Beebden der App soll die aktuelle Uhrzeit in die Datei geschrieben werden
// Beim nächsten Start der App wird die Info wiedergelesen und angezeigt
@Override
protected void onDestroy() {
try {
String dateiname = Environment.getExternalStorageDirectory() + "/Dateien/android.txt";
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
File file = new File(dateiname);
FileWriter fw = new FileWriter(file);
fw.append(sdf.format(new Date())+"\n");
fw.close();
} catch (Exception ex) {
lbl.append("\n\n" + ex.getMessage());
}
super.onDestroy();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
...............
// Abfragen ob Permission geteilt wurde NUR wenn sie tatsächlich
// noch nicht erteilt wurde
if(ActivityCompat.checkSelfPermission(this
, Manifest.permission.WRITE_EXTERNAL_STORAGE) !=PackageManager.PERMISSION_GRANTED) {
// abzufragende Berechtigungen in ein Array stecken
String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
// ... und Abfrage starten
requestPermissions(permissions, 1);
}
if(ActivityCompat.checkSelfPermission(this
, Manifest.permission.READ_EXTERNAL_STORAGE) ==PackageManager.PERMISSION_GRANTED)
auslesen();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment