Android 无法解析符号“;符号“U名称”+;“私人领域”;列“U名称”;从未使用过
我正在复制一个youtube视频教程,内容是关于android studio中SQLite数据库的登录注册(由Tech Academy提供),我遇到了以下错误: 有人能帮忙吗?非常感谢 DatabaseHelper类:Android 无法解析符号“;符号“U名称”+;“私人领域”;列“U名称”;从未使用过,android,sqlite,Android,Sqlite,我正在复制一个youtube视频教程,内容是关于android studio中SQLite数据库的登录注册(由Tech Academy提供),我遇到了以下错误: 有人能帮忙吗?非常感谢 DatabaseHelper类: package com.example.haryo.loginshits; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.databa
package com.example.haryo.loginshits;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Haryo on 09/01/2018.
*/
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = contacts.db;
private static final String TABLE_NAME = contacts;
private static final String COLUMN_ID = id;
private static final String COLUMN_NAME = name;
private static final String COLUMN_EMAIL = email;
private static final String COLUMN_UNAME = uname;
private static final String COLUMN_PASS = pass;
SQLiteDatabase db;
private static final String TABLE_CREATE = "create table contacts (id integer primary key not null auto_increment ," +
" name text not null , email text not null , uname text not null , pass text not null);";
public DatabaseHelper (Context context){
super (context , DATABASE_NAME , null , DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
this.db = db;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String query = "DROP TABLE IF EXIST " +TABLE_NAME;
db.execSQL(query);
this.onCreate(db);
}
}
列字段应该是字符串,使用双引号包装,如中所示
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "contacts.db";
private static final String TABLE_NAME = "contacts";
private static final String COLUMN_ID = "id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_EMAIL = "email";
private static final String COLUMN_UNAME = "uname";
private static final String COLUMN_PASS = "pass";
SQLiteDatabase db;
private static final String TABLE_CREATE = "create table "+TABLE_NAME+" ("+COLUMN_ID+" integer primary key not null auto_increment ," +COLUMN_NAME+
" text not null , "+COLUMN_EMAIL+" text not null , "+COLUMN_UNAME+" text not null , "+COLUMN_PASS+" text not null);";
public DatabaseHelper (Context context){
super (context , DATABASE_NAME , null , DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
this.db = db;
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String query = "DROP TABLE IF EXIST " +TABLE_NAME;
db.execSQL(query);
this.onCreate(db);
}
}
将此更改为-:
private static final String DATABASE_NAME = contacts.db;
private static final String TABLE_NAME = contacts;
private static final String COLUMN_ID = id;
private static final String COLUMN_NAME = name;
private static final String COLUMN_EMAIL = email;
private static final String COLUMN_UNAME = uname;
private static final String COLUMN_PASS = pass;
致-:
在Android中,字符串值由“.”表示。您只需在双引号中传递所有列和数据库名称。..loke this.=String TABLE_NAME=“contacts”该死,你说得对。我真是个白痴。。仅仅学习代码几个星期。很多人都感谢强硬
private static final String DATABASE_NAME = "contacts.db";
private static final String TABLE_NAME = "contacts";
private static final String COLUMN_ID = "id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_EMAIL = "email";
private static final String COLUMN_UNAME = "uname";
private static final String COLUMN_PASS = "pass";