Code:
package com.example_kaladial82.sharedpref; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.core.content.FileProvider; import android.Manifest; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.content.SharedPreferences; import android.os.Environment; import android.provider.MediaStore; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; import java.io.File; import java.io.IOException; public class MainActivity extends AppCompatActivity { String kfz = ""; Button btnKam; ImageView ivBild1; Intent bildIntent; Context context; //File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Fotoapp"); String name = "Bild_" + System.currentTimeMillis() + ".png"; File dir = null; File bild = null; Uri bilduri = null; int Kameracode = 11; Bitmap bm1; private EditText etKFZ1; int i=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etKFZ1 = (EditText) findViewById(R.id.etKFZ); btnKam = (Button) findViewById(R.id.btnCam); ivBild1 = (ImageView) findViewById(R.id.ivBild); boolean res = true; dir = checkDir("Fotoapp"); if(dir != null) { Toast.makeText(getApplicationContext(), "Verzeichnis: " + dir.toString(), Toast.LENGTH_SHORT).show(); if(!dir.exists()) { res = dir.mkdirs(); Toast.makeText(getApplicationContext(), "Verzeichnis erstellt: " + res, Toast.LENGTH_SHORT).show(); } }else{ res = false; } if(res) { Toast.makeText(getApplicationContext(), "Verzeichnis " + dir.toString(), Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "Bild " + bild.toString(), Toast.LENGTH_SHORT).show(); bild = new File(dir, /*name*/"0.png"); bilduri = FileProvider.getUriForFile(MainActivity.this, BuildConfig.APPLICATION_ID + ".provider", bild); ivBild1.setImageResource(R.drawable.ic_launcher_foreground); btnKam.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { try { kfz = etKFZ1.getText().toString(); /*try { bild.createNewFile(); } catch (IOException e) { Toast.makeText(getApplicationContext(), "Bild konnte nicht erstellt werden: " + e.getMessage(), Toast.LENGTH_LONG).show(); }*/ bildIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); bildIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); bildIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); bildIntent.putExtra(MediaStore.EXTRA_OUTPUT, bilduri); startActivityForResult(bildIntent, Kameracode); } catch (Exception ex) { ex.printStackTrace(); Toast.makeText(getApplicationContext(), "Kamera unterstützt das nicht..." + ex.getMessage(), Toast.LENGTH_SHORT).show(); } } } ); } //SharedPreferences mySPR = getSharedPreferences("MySPFILE",0); //etKFZ1.setText(mySPR.getString("myKey1", "AP-AA 582")); } public File checkDir(String verzeichnis) { int REQUEST_WRITE_EXTERNAL_STORAGE = 1; File storageDir = null; try { if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { //RUNTIME PERMISSION Android M if (PackageManager.PERMISSION_GRANTED == ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { storageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), verzeichnis); } else { Toast.makeText(getApplicationContext(), "Keine Erlaubnis ein Verzeichnis zu erstellen", Toast.LENGTH_SHORT).show(); } } } catch (Exception ex) { Toast.makeText(getApplicationContext(), "Fehler:" + ex.getMessage(), Toast.LENGTH_LONG).show(); } return storageDir; } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { if(resultCode == RESULT_OK) { if(requestCode == Kameracode) { if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { if (!ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1234); } } else { dateierstellen(); } } } else { Toast.makeText(getApplicationContext(), "resultCode: "+resultCode ,Toast.LENGTH_SHORT).show(); } super.onActivityResult(requestCode, resultCode, data); } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == 1234) { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { Log.i("resultcode", "dateierstellen " + requestCode); dateierstellen(); } else { Toast.makeText(getApplicationContext(), "Permission Denied", Toast.LENGTH_SHORT).show(); } } } private void dateierstellen() { Toast.makeText(getApplicationContext(), "Bild gespeichert unter: " + bild.getAbsolutePath() ,Toast.LENGTH_LONG).show(); try { Toast.makeText(getApplicationContext(), "verzeichnis:" + dir.toString() ,Toast.LENGTH_SHORT).show(); if (dir.listFiles() != null) { if (dir.listFiles().length > 0) { bm1 = BitmapFactory.decodeFile(bild.getAbsolutePath()); ivBild1.setImageBitmap(bm1); } else { Toast.makeText(getApplicationContext(), "1:Keine Dateien im Ordner", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(getApplicationContext(), "2:Keine Dateien im Ordner", Toast.LENGTH_SHORT).show(); } }catch(Exception ex) { Toast.makeText(getApplicationContext(), "Fehler: "+ ex.getMessage(), Toast.LENGTH_LONG).show(); } //bm1 = BitmapFactory.decodeFile(bild.getAbsolutePath()); //ivBild1.setImageBitmap(bm1); i++; //name = "Bild_" + System.currentTimeMillis() + ".png"; bild = new File(dir, /*name*/i + ".png"); Toast.makeText(getApplicationContext(), "Neues Bild: " + bild.getAbsolutePath() ,Toast.LENGTH_SHORT).show(); } @Override protected void onStop() { super.onStop(); SharedPreferences mySPR = getSharedPreferences("MySPFILE",0); SharedPreferences.Editor editor = mySPR.edit(); editor.putString ("myKey1", etKFZ1.getText().toString()); editor.commit(); } }
es geht nur nicht ...
Comment