2016-06-30 5 views
0

Ich bin so neu und neu in Android, ich habe ein großes Problem damit, ich erstelle eine App, die Verbindung zur Datenbank .so Ich erstelle eine Datenbank mit sqllite expert pro, wie Sie sehen können hier:Verbindung zu SQLite in Android mit Verbindungszeichenfolge

CREATE TABLE [user](
    [name] tEXT, 
    [id] INT PRIMARY KEY); 

Mein Datenbankname ist a .i den Wert aus der Benutzertabelle lesen will, wie Sie hier in meinem Code sehen:

SQLiteDatabase mydatabase = openOrCreateDatabase("a",MODE_PRIVATE,null); 
Cursor resultSet = mydatabase.rawQuery("Select * from user",null); 
resultSet.moveToFirst(); 
String username = resultSet.getString(1); 
String password = resultSet.getString(2); 

    TextView tv = (TextView) findViewById(R.id.editText1); 
    tv.setText("Text is: " + username + password); 

aber es nicht funktioniert, soll ich füge meinem Code eine Verbindungszeichenfolge hinzu, oder sollte ich die Datenbank in m importieren y Projekt, weil sich die Datenbank in meinem Arbeitsbereichsordner befindet.

enter image description here

enter image description here

Ich benutze diesen Code eine Testdatenbank innerhalb von Android zu schaffen, aber es wieder nicht funktioniert?

SQLiteDatabase mydatabase = openOrCreateDatabase("ali",MODE_PRIVATE,null); 
     mydatabase.execSQL("CREATE TABLE IF NOT EXISTS TutorialsPoint(Username VARCHAR,Password VARCHAR);"); 
     mydatabase.execSQL("INSERT INTO TutorialsPoint VALUES('admin','admin');"); 

     Cursor resultSet = mydatabase.rawQuery("Select * from TutorialsPoint",null); 
     resultSet.moveToFirst(); 
     String username = resultSet.getString(1); 
     String password = resultSet.getString(2); 
+0

Wenn Sie Kreta und Datenbank in Android, wird es nicht in Ihrem Arbeitsbereich oder Projektdatei sein, wird es auf dem Gerät sein, das läuft die Anwendung, so müssen Sie die Tabelle in Ihrem Code erstellen, und füllen Sie die Daten vollständig. Ich empfehle, lesen Sie über 'DatabaseHelper', erstellen Sie eine Klasse, um die Datenbank zu behandeln. Oder benutze eine Bibliothek wie Ormlite –

+0

Also meinst du, ich sollte meine Datenbank mit Code erstellen, gibt es irgendwelche Assistenten-Tools, die ich verwenden kann, um meine Datenbank grafisch zu erstellen? Wie sqlesxpress in vs? –

+0

@EhsanAkbar verweisen [dies] (http://www.tutorialspoint.com/android/android_sqlite_database.htm) seine sehr gut erklärt – Nisarg

Antwort

2

Ihre Datenbank nutzen muss zunächst in das Telefon interner Speicher kopiert werden. Sie können für die Erstellung von Datenbank in Android mit Codes Android SqliteAsset Helper

Folgen Sie der richtige Methode manuell oder mit Hilfe dieser Bibliothek tun: Erstellen Sie eine Klasse, die SqliteOpenHelper erstreckt.

public class DbOpener extends SqliteOpenHelper { 
    DbOpener(Context c){ 
     super(c, 1, "a", null, 1); //where "a" is the database name 
    } 

    public void onCreate (SqliteDatabase db){ 
     db.execSQL("CREATE TABLE TutorialsPoint (Username VARCHAR, Password VARCHAR);"); 
    } 
} 

Dann in Ihrer Tätigkeit es wie folgt verwenden:

DbOpener opener = new DbOpener(this); 

SqliteDatabase myDatabase = opener.getWritableDatabase(); 

//Now you can perform all your queries (including insertions) using the myDatabase object 
+0

danke, ich füge einige Details zu meiner Frage hinzu, Sie sagten, ich sollte die Datenbank in meinem Code erstellen, ich tat das, aber es hat nicht funktioniert –

+0

Überprüfen Sie meine bearbeitete Antwort. –

1

Zuerst Sie Ihren Datenbanknamen ein lesbares ein wie „mydata.db

Zweitens ändern sollte, gibt es keine Notwendigkeit für die Verbindungszeichenfolge auf SQLite in Android wie die üblichen Wege nutzen wir mit dem Zugriff auf Datenbank aus Java-Code tun.

Sie müssen auf die Datenbank zugreifen, indem Sie SQLiteOpenHelper verwenden. Tutorial von Android SQLite database and content provider. Versuchen Sie, das Gefühl mit Android und SQLite aus dem Tutorial zu bekommen.

Dann, nachdem Sie das Konzept haben die Beherrschung und wissen, das, wie können Sie Ihre vordefinierten Datenbank verwenden, indem Android SQLiteAssetHelper

+0

danke, ich füge einige Details zu meiner Frage hinzu, Sie sagten, ich sollte die Datenbank in meinem Code erstellen, ich tat das, aber es hat nicht funktioniert –

+0

Ihr Code gewonnen arbeite nicht und es wird erwartet. Was ich meinte, ist, dass du dein Wissen über Datenbank in Java für Android mischst.Sie müssen SQLiteOpenHelper verwenden, um SQLite-Datenbank zu erstellen und darauf zuzugreifen. –

+0

Bitte lesen und befolgen Sie zuerst [Android SQLite-Datenbank-Tutorial] (http://www.vogella.com/tutorials/AndroidSQLite/article.html). Beherrschen Sie zuerst das Konzept und versuchen Sie, daraus ein einfaches Projekt zu erstellen. Danach können Sie lernen, Ihre vordefinierte Datenbank mit SQLiteAssetHelper zu verwenden. –