-1
im Moment arbeitet an einer Notes App für Android. Das Problem: Ich weiß nicht, wie ich den TXT speichern kann. Dateien meiner App auf meinem internen Speicher. Ich habe es bereits mit externem Speicher verschlüsselt. Hier ist mein Code (MainActivity.java)Android Studio create Diconary mit Dateien auf internen Speicher
`package de.tkdevelopment.notizen;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class MainActivity extends AppCompatActivity {
Button btn;
EditText editText;
File ordner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ordner = new File(Environment.getExternalStorageDirectory(), "NotizenApp"); //Ordnername
if(!ordner.exists()){
ordner.mkdirs();
}
editText = (EditText) findViewById(R.id.editText);
btn = (Button) findViewById(R.id.button);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (editText.getText().length() > 0){ //Wenn Text länger als 0 dann Spiechern
File notizdatei = new File(ordner, "Notiz_" + System.currentTimeMillis() + ".txt");
try {
OutputStream outputStream = new FileOutputStream(notizdatei);
outputStream.write(editText.getText().toString().getBytes());
outputStream.close();
editText.setText(null);
Toast.makeText(getApplicationContext(), "Notiz gespeichert", Toast.LENGTH_LONG);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}else { //Sonst nicht Speichern
Toast.makeText(getApplicationContext(), "Kein Text vorhanden", Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_view_notes) {
if(ordner.listFiles().length > 0){
startActivity(new Intent(MainActivity.this, Notizen_auslesen.class));
} else {
Toast.makeText(getApplicationContext(), "Keine Notizen vorhanden", Toast.LENGTH_SHORT).show();
}
return true;
}
return super.onOptionsItemSelected(item);
}
}
`
Danke, aber ich bin neu in Java-Programmierung, wie muss ich das in meinem Code implementieren? – Tom
Antwort aktualisiert. –
Aber wie sieht mein Code damit aus? Ich bin so neu in Android-Programmierung und ich kann diesen Code nicht implementieren. Bitte Hilfe – Tom