Brauche Hilfe bei Datenbank

  • Antworten:6
Daniel online
  • Forum-Beiträge: 282

16.05.2011, 21:15:09 via Website

Hey,
ich häng hier jetzt schon ne Ewigkeit.
ich will einfach in die Db schreiben lesen können...
es scheint in der showTask() Methode zu hängen.
Wäre toll wenn mir da wer helfen könnte.

1package de.Daniel.video2brain;
2
3import android.app.ListActivity;
4import android.content.Intent;
5import android.database.Cursor;
6import android.database.sqlite.SQLiteDatabase;
7import android.os.Bundle;
8import android.view.View;
9import android.widget.ListView;
10import android.widget.SimpleCursorAdapter;
11import android.widget.Toast;
12
13
14
15
16public class Startseite extends ListActivity {
17 public static final String[] AUFGABEN = {"aufgaben"};
18 private SQLiteDatabase mDatenbank;
19 private DatenbankManager mHelper;
20 Cursor c;
21 SimpleCursorAdapter adapter;
22
23
24 /** Called when the activity is first created. */
25 @Override
26 public void onCreate(Bundle savedInstanceState)
27 {
28 super.onCreate(savedInstanceState);
29
30 setContentView(R.layout.startseite);
31 mHelper = new DatenbankManager(this);
32 mDatenbank = mHelper.getWritableDatabase();
33 showTask();
34 }
35
36 public void onClick(View v)
37 {
38 Intent intent = new Intent(this, addTask.class);
39 startActivityForResult(intent, 101);
40
41
42 }
43 public void showTask() <<<hier hängts iwo..
44 {
45 mHelper = new DatenbankManager(this);
46 ListView list = (ListView)findViewById(android.R.id.list);
47 mDatenbank = mHelper.getWritableDatabase();
48 c= mDatenbank.query(DatenbankManager.ARBEIT , null, null, null, null, null, null);
49 startManagingCursor(c);
50// String[] from= {DatenbankManager.AUFGABEN};
51 int[] to = new int[] { R.id.beschreibung1, R.id.beschreibung2 };
52 String[] columns = new String[] {DatenbankManager.ARBEIT};
53 if(c==null){finish();}
54 adapter = new SimpleCursorAdapter(this, R.layout.list_items, c,columns, to);
55 list.setAdapter(adapter);
56
57 }
58
59 @Override
60 protected void onResume()
61 {
62 super.onResume();
63 mDatenbank = mHelper.getWritableDatabase();
64 Toast.makeText(this, "Datenbank offen", 1000).show();
65 }
66
67 @Override
68 protected void onPause()
69 {
70 super.onPause();
71 mDatenbank.close();
72 Toast.makeText(this, "Datenbank geschlossen", 1000).show();
73 }
74}

Antworten
Stefan S.
  • Forum-Beiträge: 560

17.05.2011, 10:20:43 via Website

Und was ist das Problem?
Gibt es eine Fehlermeldung?

Antworten
Daniel online
  • Forum-Beiträge: 282

17.05.2011, 10:25:29 via Website

Wenn ichs starte stürzt es immer gleich zu beginn ab.

Antworten
Stefan S.
  • Forum-Beiträge: 560

17.05.2011, 11:13:33 via Website

Ich nehme mal an, dass deine Klasse DatenbankManager vom Typ SQLiteOpenHelper erbt?

Was aber ziemlich verdächtig aussieht ist die Zuweisung

1String[] columns = new String[] {DatenbankManager.ARBEIT};
Hier übergibst du den Tabellenname nehme ich mal an. Du müsstes aber die Columns angeben, welche du anzeigen möchtest.

Antworten
Markus B.
  • Forum-Beiträge: 636

17.05.2011, 12:08:28 via Website

Daniel B
Wenn ichs starte stürzt es immer gleich zu beginn ab.

Hi,
wenn das Programm sofort abstürzt pack doch mal die entsprechende Fehlermeldung hier rein.
Dann wird sich das Problem sicher besser lösen lassen :)

Gruß,
Markus

Antworten
Gelöschter Account
  • Forum-Beiträge: 294

17.05.2011, 14:56:00 via Website

Du hast eine Spalte (ich hoffe ARBEIT ist ein Spaltenname) die Du auf zwei Views verteilst. Das "matcht" nicht.

1int[] to = new int[] { R.id.beschreibung1, R.id.beschreibung2 };
2String[] columns = new String[] {DatenbankManager.ARBEIT};

Gruß
Harald

Antworten
Daniel online
  • Forum-Beiträge: 282

18.05.2011, 12:54:00 via Website

Vielen Danke für die Tipps :)
Ich hocke gerade noch an etwas anderen werds mir aber dann bald nochmal anschauen.
Danke

Antworten