Nick K.
- Forum-Beiträge: 15
23.03.2012, 10:33:20 via Website
23.03.2012 10:33:20 via Website
Ok Hi Leute,
ich bin absolut neu hier im Forum.
Ich bin seit geraumer Zeit dabei für Android Apps zu entwickeln.
Ich habe mich mit Hilfe von diversen Tutorials und DVD'S durch viele schwierigen Kapitel in der Android Entwicklung selbst gebracht.
Jetzt komme ich leider an einen Punkt wo ich ABSOLUT NICHT MEHR WEITER WEISS.
Folgendes ist mein Problem...:
Ich habe in einer Datenbank eine Tabelle namens "User".
Ich möchte aus dieser Datenbank den aktuel eingeloggten User in eine TextView ziehen.
Das ganze klappt auch soweit, jedoch steht als Name, folgendes....:
{= nick}
Ich möchte allerdings das dort steht...:
Nick
Wenn mir einer helfen könnte, oder einen Tipp geben könnte wie ich dieses Problem lösen könnte, wäre ich sehr dankbar.
Mit freundlichem Gruß,
Nick.
Beachte die Funktion "getCurentUser()" (etwas weiter unten).
Dort wird eine Abfrage gestellt und dem DB Cursor übergeben.
Nun meine Abfrage um den Namen rauszuholen....:
Ich hole mir in der "onCreate" Methode den DatabaseHandler (der Quellcode davor) und mach einfach in meine TextView
die Abfrage mit der Methode nach dem aktuellem User...
Warum wird der User mir dann so angezeigt ?????
Und nicht "normal"...
Ich Danke euch jetzt schon für eure Ideen und eure Tipps.
Mfg, Nick.
ich bin absolut neu hier im Forum.
Ich bin seit geraumer Zeit dabei für Android Apps zu entwickeln.
Ich habe mich mit Hilfe von diversen Tutorials und DVD'S durch viele schwierigen Kapitel in der Android Entwicklung selbst gebracht.
Jetzt komme ich leider an einen Punkt wo ich ABSOLUT NICHT MEHR WEITER WEISS.
Folgendes ist mein Problem...:
Ich habe in einer Datenbank eine Tabelle namens "User".
Ich möchte aus dieser Datenbank den aktuel eingeloggten User in eine TextView ziehen.
Das ganze klappt auch soweit, jedoch steht als Name, folgendes....:
{= nick}
Ich möchte allerdings das dort steht...:
Nick
Wenn mir einer helfen könnte, oder einen Tipp geben könnte wie ich dieses Problem lösen könnte, wäre ich sehr dankbar.
Mit freundlichem Gruß,
Nick.
1package com.example.androidhive.library;
2
3import java.util.HashMap;
4
5import android.content.ContentValues;
6import android.content.Context;
7import android.database.Cursor;
8import android.database.sqlite.SQLiteDatabase;
9import android.database.sqlite.SQLiteOpenHelper;
10
11public class DatabaseHandler extends SQLiteOpenHelper {
12
13 // All Static variables
14 // Database Version
15 private static final int DATABASE_VERSION = 1;
16
17 // Database Name
18 private static final String DATABASE_NAME = "android_api";
19
20 // Login table name
21 private static final String TABLE_LOGIN = "login";
22
23 // Login Table Columns names
24 private static final String KEY_ID = "id";
25 private static final String KEY_NAME = "name";
26 private static final String KEY_EMAIL = "email";
27 private static final String KEY_UID = "uid";
28 private static final String KEY_CREATED_AT = "created_at";
29
30 public Cursor cursor;
31
32 public DatabaseHandler(Context context) {
33 super(context, DATABASE_NAME, null, DATABASE_VERSION);
34 }
35
36 // Creating Tables
37 @Override
38 public void onCreate(SQLiteDatabase db) {
39 String CREATE_LOGIN_TABLE = "CREATE TABLE " + TABLE_LOGIN + "("
40 + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
41 + KEY_EMAIL + " TEXT UNIQUE," + KEY_UID + " TEXT,"
42 + KEY_CREATED_AT + " TEXT" + ")";
43 db.execSQL(CREATE_LOGIN_TABLE);
44 }
45
46 // Upgrading database
47 @Override
48 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
49 // Drop older table if existed
50 db.execSQL("DROP TABLE IF EXISTS " + TABLE_LOGIN);
51
52 // Create tables again
53 onCreate(db);
54 }
55
56 /**
57 * Storing user details in database
58 * */
59 public void addUser(String name, String email, String uid, String created_at) {
60 SQLiteDatabase db = this.getWritableDatabase();
61
62 ContentValues values = new ContentValues();
63 values.put(KEY_NAME, name); // Name
64 values.put(KEY_EMAIL, email); // Email
65 values.put(KEY_UID, uid); // Email
66 values.put(KEY_CREATED_AT, created_at); // Created At
67
68 // Inserting Row
69 db.insert(TABLE_LOGIN, null, values);
70 db.close(); // Closing database connection
71 }
72
73 /**
74 * Getting user data from database
75 * */
76 public HashMap<String, String> getUserDetails() {
77 HashMap<String, String> user = new HashMap<String, String>();
78 String selectQuery = "SELECT * FROM " + TABLE_LOGIN;
79
80 SQLiteDatabase db = this.getReadableDatabase();
81 Cursor cursor = db.rawQuery(selectQuery, null);
82 // Move to first row
83 cursor.moveToFirst();
84 if (cursor.getCount() > 0) {
85 user.put("name", cursor.getString(1));
86 user.put("email", cursor.getString(2));
87 user.put("uid", cursor.getString(3));
88 user.put("created_at", cursor.getString(4));
89 }
90 cursor.close();
91 db.close();
92 // return user
93 return user;
94 }
95
96 public HashMap<String, String> getCurentUser() {
97 HashMap<String, String> user = new HashMap<String, String>();
98 String selectQuery = "SELECT * FROM " + TABLE_LOGIN;
99
100 SQLiteDatabase db = this.getReadableDatabase();
101 cursor = db.rawQuery(selectQuery, null);
102 // Move to first row
103 cursor.moveToFirst();
104 if (cursor.getCount() > 0) {
105 user.put("", cursor.getString(1));
106
107 }
108 cursor.close();
109 db.close();
110 // return user
111 return user;
112 }
113
114 /**
115 * Getting user login status return true if rows are there in table
116 * */
117 public int getRowCount() {
118 String countQuery = "SELECT * FROM " + TABLE_LOGIN;
119 SQLiteDatabase db = this.getReadableDatabase();
120 Cursor cursor = db.rawQuery(countQuery, null);
121 int rowCount = cursor.getCount();
122 db.close();
123 cursor.close();
124
125 // return row count
126 return rowCount;
127 }
128
129 /**
130 * Re crate database Delete all tables and create them again
131 * */
132 public void resetTables() {
133 SQLiteDatabase db = this.getWritableDatabase();
134 // Delete All Rows
135 db.delete(TABLE_LOGIN, null, null);
136 db.close();
137 }
138
139}
2
3import java.util.HashMap;
4
5import android.content.ContentValues;
6import android.content.Context;
7import android.database.Cursor;
8import android.database.sqlite.SQLiteDatabase;
9import android.database.sqlite.SQLiteOpenHelper;
10
11public class DatabaseHandler extends SQLiteOpenHelper {
12
13 // All Static variables
14 // Database Version
15 private static final int DATABASE_VERSION = 1;
16
17 // Database Name
18 private static final String DATABASE_NAME = "android_api";
19
20 // Login table name
21 private static final String TABLE_LOGIN = "login";
22
23 // Login Table Columns names
24 private static final String KEY_ID = "id";
25 private static final String KEY_NAME = "name";
26 private static final String KEY_EMAIL = "email";
27 private static final String KEY_UID = "uid";
28 private static final String KEY_CREATED_AT = "created_at";
29
30 public Cursor cursor;
31
32 public DatabaseHandler(Context context) {
33 super(context, DATABASE_NAME, null, DATABASE_VERSION);
34 }
35
36 // Creating Tables
37 @Override
38 public void onCreate(SQLiteDatabase db) {
39 String CREATE_LOGIN_TABLE = "CREATE TABLE " + TABLE_LOGIN + "("
40 + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
41 + KEY_EMAIL + " TEXT UNIQUE," + KEY_UID + " TEXT,"
42 + KEY_CREATED_AT + " TEXT" + ")";
43 db.execSQL(CREATE_LOGIN_TABLE);
44 }
45
46 // Upgrading database
47 @Override
48 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
49 // Drop older table if existed
50 db.execSQL("DROP TABLE IF EXISTS " + TABLE_LOGIN);
51
52 // Create tables again
53 onCreate(db);
54 }
55
56 /**
57 * Storing user details in database
58 * */
59 public void addUser(String name, String email, String uid, String created_at) {
60 SQLiteDatabase db = this.getWritableDatabase();
61
62 ContentValues values = new ContentValues();
63 values.put(KEY_NAME, name); // Name
64 values.put(KEY_EMAIL, email); // Email
65 values.put(KEY_UID, uid); // Email
66 values.put(KEY_CREATED_AT, created_at); // Created At
67
68 // Inserting Row
69 db.insert(TABLE_LOGIN, null, values);
70 db.close(); // Closing database connection
71 }
72
73 /**
74 * Getting user data from database
75 * */
76 public HashMap<String, String> getUserDetails() {
77 HashMap<String, String> user = new HashMap<String, String>();
78 String selectQuery = "SELECT * FROM " + TABLE_LOGIN;
79
80 SQLiteDatabase db = this.getReadableDatabase();
81 Cursor cursor = db.rawQuery(selectQuery, null);
82 // Move to first row
83 cursor.moveToFirst();
84 if (cursor.getCount() > 0) {
85 user.put("name", cursor.getString(1));
86 user.put("email", cursor.getString(2));
87 user.put("uid", cursor.getString(3));
88 user.put("created_at", cursor.getString(4));
89 }
90 cursor.close();
91 db.close();
92 // return user
93 return user;
94 }
95
96 public HashMap<String, String> getCurentUser() {
97 HashMap<String, String> user = new HashMap<String, String>();
98 String selectQuery = "SELECT * FROM " + TABLE_LOGIN;
99
100 SQLiteDatabase db = this.getReadableDatabase();
101 cursor = db.rawQuery(selectQuery, null);
102 // Move to first row
103 cursor.moveToFirst();
104 if (cursor.getCount() > 0) {
105 user.put("", cursor.getString(1));
106
107 }
108 cursor.close();
109 db.close();
110 // return user
111 return user;
112 }
113
114 /**
115 * Getting user login status return true if rows are there in table
116 * */
117 public int getRowCount() {
118 String countQuery = "SELECT * FROM " + TABLE_LOGIN;
119 SQLiteDatabase db = this.getReadableDatabase();
120 Cursor cursor = db.rawQuery(countQuery, null);
121 int rowCount = cursor.getCount();
122 db.close();
123 cursor.close();
124
125 // return row count
126 return rowCount;
127 }
128
129 /**
130 * Re crate database Delete all tables and create them again
131 * */
132 public void resetTables() {
133 SQLiteDatabase db = this.getWritableDatabase();
134 // Delete All Rows
135 db.delete(TABLE_LOGIN, null, null);
136 db.close();
137 }
138
139}
Beachte die Funktion "getCurentUser()" (etwas weiter unten).
Dort wird eine Abfrage gestellt und dem DB Cursor übergeben.
Nun meine Abfrage um den Namen rauszuholen....:
1public class Urlaubsantrag extends Activity {
2 .
3 .
4 .
5
6 TextView usertext;
7 .
8 .
9
10 public void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12 .
13 .
14 .
15 DatabaseHandler helper = new DatabaseHandler(this);
16
17 usertext = (TextView) findViewById(R.id.usertext);
18 usertext.setText(helper.getCurentUser().toString());
2 .
3 .
4 .
5
6 TextView usertext;
7 .
8 .
9
10 public void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12 .
13 .
14 .
15 DatabaseHandler helper = new DatabaseHandler(this);
16
17 usertext = (TextView) findViewById(R.id.usertext);
18 usertext.setText(helper.getCurentUser().toString());
Ich hole mir in der "onCreate" Methode den DatabaseHandler (der Quellcode davor) und mach einfach in meine TextView
die Abfrage mit der Methode nach dem aktuellem User...
Warum wird der User mir dann so angezeigt ?????
Und nicht "normal"...
Ich Danke euch jetzt schon für eure Ideen und eure Tipps.
Mfg, Nick.
— geändert am 23.03.2012, 10:52:48
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.