起初我收到一条消息“无法构建到本地8600调试器”然后有人说要将jre版本从7更新到8,然后我收到一条消息,例如“设备与磁盘上的本地构建不匹配”然后我的代码运行时没有任何消息,但是没有创建数据库。这是我的主要类,
package com.kaizen.sqlitedatabase;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Naveen on 05-10-2016.
*/
public class Sqlite extends SQLiteOpenHelper{
public static final String DATABASENAME="STUDENTS_DATABASE.db";
public static final String TABLENAME="STUDENTS_MARKS";
public static final String COL_1="ID";
public static final String COL_2="STUDENT_NAME";
public static final String COL_3="SUR_NAME";
public static final String COL_4="MARKS";
public Sqlite(Context context) {
super(context, DATABASENAME, null, 1);
SQLiteDatabase db=this.getWritableDatabase();
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLENAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,SURNAME TEXT,MARKS INTEGER) ");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+TABLENAME);
onCreate(db);
}
}
这是我的sqlite openhelper的子类,请有人帮助我
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.kaizen.sqlitedatabase.MainActivity"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="horizontal">
<TextView
android:layout_width="150dp"
android:layout_height="match_parent"
android:text="Name"
android:id="@+id/name" />
<EditText
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:id="@+id/edt_name" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="horizontal">
<TextView
android:layout_width="150dp"
android:layout_height="match_parent"
android:id="@+id/surName"
android:text="Sur Name" />
<EditText
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:id="@+id/edt_surName" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:orientation="horizontal">
<TextView
android:layout_width="150dp"
android:layout_height="match_parent"
android:id="@+id/marks"
android:text="Marks" />
<EditText
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:id="@+id/edt_marks" />
</LinearLayout>
<Button
android:text="Add"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button"
android:layout_marginTop="60dp"
/>
</LinearLayout>
这是我的xml文件
{{1}}
答案 0 :(得分:0)
使用此查询创建表格,我认为问题出在您的查询中
String CREATE_TABLE_CITY = "CREATE TABLE " + TABLE_NAME + "(" + ID + " INTEGER PRIMARY KEY , " + NAME+ " TEXT, " + SURNAMENAME+ " TEXT, " + MARKS+ " INTEGER )";
mDatabase.execSQL(CREATE_TABLE_CITY);
答案 1 :(得分:0)
你想检查你的数据库是否创建然后去...
工具&gt; Android&gt; Android设备监视器
点击左侧的设备。
转到文件资源管理器(右侧的其中一个选项卡),转到/ data / data / databases
只需单击即可选择数据库。
答案 2 :(得分:0)
在新版android studio中,您可以检查是否创建数据库。
点击: 查看>工具窗口>文件资源管理器>数据>数据>查找您的应用程序名称>数据库
答案 3 :(得分:0)
实际上,SQLiteOpenHelper
只是通过创建对象而不会调用onCreate
方法。
onCreate
方法。onUpgrade
方法。因此,请尝试运行一些查询,然后检查数据库是否已创建。
数据库创建的位置为 查看->工具窗口->设备文件资源管理器->数据->数据->->数据库