我使用SQLite创建了一个数据库。现在我想使用Android应用程序将数据插入到该表中。
我已经在SQLiteOpenHelper中编写了所有这些代码:
try
{
SQLiteDatabase db=this.getWritableDatabase();
ContentValues values=new ContentValues();
values.put(key_id, 10);
values.put(key_name,"neha");
db.insert(database_table, null, values);
db.close();
}
catch(Exception e)
{
System.out.println(e);
}
然后运行该应用程序。它不会抛出这样的表异常。
我已经跟随"data/data/[your_package_name]/databases/"
然后"pull a file from device"
所有这些步骤,但数据库无法进入模拟器。
有什么问题?
答案 0 :(得分:2)
我认为你是android新手。如果您阅读一些开发人员教程并开始编码,那就太好了。对于当前的应用
1st:为数据库创建一个单独的类(例如:HandleDatabase.java)
第二步:在其中创建一个辅助类(扩展SQLiteOpenHelper)来编写onCreate(用于创建表)和onUpgrade(在版本更改中重新创建表)方法。
3rd:使用当前上下文为HandleDatabase类创建constructure。
4td:在HandleDatabase类中编写所有CUID方法。
EX:
//1st STEP
public class HandleDatabase {
private static final String KEY_ID = "_id";
private static final String KEY_NAME = "_name";
public static final String DATABASE_NAME = "_myrnddb";
public static final String YOUR_TABLE = "_table";
public static final int DATABASE_VERSION = 1;
private final Context ourContext;
private SQLiteDatabase ourDatabase;
private DbHelper ourHelper;
//2nd STEP
public class DbHelper extends SQLiteOpenHelper {
public DbHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createtableQuery = "CREATE TABLE " + YOUR_TABLE + " ("
+ KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ KEY_NAME + " TEXT NOT NULL);";
db.execSQL(createtableQuery);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + YOUR_TABLE);
onCreate(db);
}
}
//3rd STEP
public HandleDatabase(Context c) {
ourContext = c;
}
public HandleDatabase open() throws SQLException {
ourHelper = new DbHelper(ourContext);
ourDatabase = ourHelper.getWritableDatabase();
return this;
}
public void close() {
ourHelper.close();
}
//Insertion(4th STEP)
public long insertData(String name)
throws SQLException {
ContentValues cv = new ContentValues();
cv.put(KEY_NAME , name);
return ourDatabase.insert(YOUR_TABLE, null, cv);
}
}
像这样,您可以选择,更新和删除数据库中的数据。
要了解有关SQLite数据库的信息,您可以关注SQLite Tutorials