- Forum-Beiträge: 35
10.06.2017, 14:07:54 via Website
10.06.2017 14:07:54 via Website
eigentlich ist das speichern ja recht einfach ,ich weiß auch nicht ob ich gerade ein Brett vorm Kopf habe oder nen Schlaganfall aber ich komme nicht weiter .
Ich habe das speichern in eine eigene Klasse ausgelagert .`package com.example.danie.listview.ListenAufgaben;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* Created by danie on 08.06.2017.
*/
public class ListeSpeichern extends AppCompatActivity {
static FileOutputStream fos;
public void speichereListe() throws IOException {
String rueckgabe;
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos = openFileOutput(FILENAME,Context.MODE_PRIVATE );
fos.write(string.getBytes());
fos.close();
}
}`
und rufe es in der Main auf
package com.example.danie.listview.Main;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.example.danie.listview.ListenAufgaben.ListeSpeichern;
import com.example.danie.listview.R;
import com.example.danie.listview.activitys.ListeLoeschen;
import com.example.danie.listview.activitys.MeineEinkaufsListe;
import com.example.danie.listview.activitys.UpdateIstBestand;
import com.example.danie.listview.activitys.UpdateSollBestand;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* Created by danie on 30.05.2017.
*/
// TODO XML anpassen daher die Fehler keine XMl vorhanden
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button zumLoeschen;
private Intent intent;
private Button updateIstBestand;
private Button updateSollBestand;
private Button meineEinkaufsListe;
private ListeSpeichern listeSpeichern ;
private TextView textView;
private FileOutputStream fos;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listeSpeichern = new ListeSpeichern();
//ObjekteErzeugen();
IdFinden();
setClicklistener();
try {
listeSpeichern.speichereListe();
textView.setText("geklappt");
} catch (IOException e) {
e.printStackTrace();
textView.setText(e.toString());
}
}
}
Das Problem was ich habe: nehme ich den Code aus der ausgelagerten Klasse und lasse ihn in der Main laufen ,funktioniert das anstandslos. Lagere ich es aber aus und erzeuge ein Objekt sagt er mir das ich auf das Objekt eine Nullpointerexeption habe.
hier der wichtige Teil des Logcats :
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileOutputStream android.content.Context.openFileOutput(java.lang.String, int)' on a null object reference
at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:192)
at com.example.danie.listview.ListenAufgaben.ListeSpeichern.speichereListe(ListeSpeichern.java:24)
at com.example.danie.listview.Main.MainActivity.onCreate(MainActivity.java:49)
Irgendwie kapiere ich da das Problem nicht ,vielleicht hat jemand eine Idee
— geändert am 10.06.2017, 14:11:40
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.