Hallo @saw00
Habe deinen Code getestet ohne Probleme.
Habe es auf einen Emulator API 19 getestet
compileSdkVersion 27
targetSdkVersion 19
minSdkVersion 19
Auf beide Speicherbereiche konnte ich zugreifen. Schreiben u. Lesen.
Auch ohne eine Permission im Manifest zu setzen.
Siehe Bild und Code
public class MainActivity extends AppCompatActivity {
public final String SYNC_DIR = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
File file = new File("/data/data/" + getPackageName());
File dir = new File(file, "file");
dir.mkdir();
File datei = new File(dir, "testdatei");
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(datei));
writer.write("Hallo");
writer.newLine();
writer.write("Hallo2");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
TextView text = (TextView) findViewById(R.id.text1);
text.setText(lesen(datei));
//---------------------------------------
File appDir = this.getExternalFilesDir(null);
if (null == appDir)
try {
throw new IOException("cannot get external files dir, " + "external storage state is " + Environment.getExternalStorageState());
} catch (IOException e) {
e.printStackTrace();
}
File externalDir = new File(appDir, SYNC_DIR);
externalDir.mkdir();
File datei2 = new File(externalDir, "testdatei2");
try {
BufferedWriter writer2 = new BufferedWriter(new FileWriter(datei2));
writer2.write("Schreiben auf SD Karte");
writer2.close();
} catch (IOException e) {
e.printStackTrace();
}
TextView text2 = (TextView) findViewById(R.id.text2);
text2.setText(lesen(datei2));
}
String lesen(File file){
String inputLine;
String string = "";
BufferedReader bufferedReader = null;
try {
bufferedReader = new BufferedReader(new FileReader(file));
while ((inputLine = bufferedReader.readLine()) != null) {
string = string+" "+inputLine;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return string;
}
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "de.apitest.test2"
targetSdkVersion 19
minSdkVersion 19
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
— geändert am 25.08.2018, 16:22:44
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.