- Forum-Beiträge: 6
03.05.2012, 15:17:08 via Website
03.05.2012 15:17:08 via Website
ich habe die letzten Wochen damit verbracht mir das Android-Programmieren beizubringen, größtenteils sogar mit Erfolg
Leider hat mir weder Google noch die Forensuche bei meinem Problem geholfen, wahrscheinlich weil ich nicht mal weiß, wo ich ansetzen soll.
Meine App berechnet jedenfalls etwas und schreibt das auch schon in eine Datenbank, soweit so gut:
Die Datensätze (sind nur 3 Werte pro Datensatz) möchte ich gerne auf der ersten Activity (also main) ordentlich aufgelistet haben, am besten noch mit Löschfunktion.
Ich habe aber keine Idee, wo ich was implementieren muss um auf die DB zuzugreifen.
Wenn keiner was dagegen hat, dann poste ich mal schnell meinen Code:
Hier erstmal meine Datenbank-Helferklasse
2
3import android.content.Context;
4import android.database.sqlite.SQLiteDatabase;
5import android.database.sqlite.SQLiteOpenHelper;
6
7public class Database_Manager extends SQLiteOpenHelper {
8 private static final String DATABASE_NAME = "parzellen.db";
9 public static final String INFO = "info";
10 public static final String FLAECHE = "flaeche";
11 public static final String STEIGUNG = "steigung";
12 public Database_Manager(Context context) {
13 super(context, DATABASE_NAME, null, 1);
14 }
15
16 @Override
17 public void onCreate(SQLiteDatabase db) {
18 db.execSQL( "CREATE TABLE parzellen (_id INTEGER PRIMARY KEY AUTOINCREMENT,info TEXT, flaeche TEXT,steigung TEXT);");
19 }
20
21 @Override
22 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
23 android.util.Log.w("parzellen",
24 "Upgrading database, which will destroy all old data");
25 db.execSQL("DROP TABLE IF EXISTS parzellen");
26 onCreate(db);
27 }
28}
Nun die Klasse, in der die Berechnungen gemacht werden. Die Berechnungen lasse ich mal weg und beschränke mich auf die Funktion, die auf die DB zugreift:
2
3 String flaeche_s=String.valueOf(flaeche);
4 String steigung_s=String.valueOf(steigung);
5 Database_Manager dbmanager=new Database_Manager(this);
6 SQLiteDatabase db = dbmanager.getWritableDatabase();
7 ContentValues cv= new ContentValues();
8 cv.put(dbmanager.INFO, info);
9 cv.put(dbmanager.FLAECHE, flaeche_s);
10 cv.put(dbmanager.STEIGUNG, steigung_s);
11 db.insert("parzellen", dbmanager.INFO, cv);
12 db.close();
13 }
In der Main hätte ich jetzt gerne eine ListView, die mir die Datensätze (sofern vorhanden) anzeigt. Leider bin ich nach dem ganzen Coden jetzt mit meinem Latein am Ende und weiß nicht mal wo ich ansetzen soll.
Zu guter Letzt noch meine Main wo alles rein soll:
2
3import android.app.Activity;
4import android.content.Intent;
5
6import android.os.Bundle;
7import android.view.View;
8
9public class ParzellenVermessungActivity extends Activity {
10 /** Called when the activity is first created. */
11
12 public void onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14
15 setContentView(R.layout.main);
16
17 }
18
19 public void wechsleActivity(final View view) {
20
21 Intent my_intent = new Intent(this, Active_measurement.class);
22 startActivity(my_intent);
23
24 }
25
26}
Ich danke schonmal im Voraus dafür, dass sich vielleicht jemand meinem Problem annimmt und mir Tips gibt.
Viele Grüße
Philipp
— geändert am 03.05.2012, 15:18:39
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.