MainActivity 的代码package com.example.administrator.databasetest;import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {
private MyDatabaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper=new MyDatabaseHelper(this,"BookStore.db",null,2);
Button createDatabase = (Button) findViewById(R.id.create_database);
createDatabase.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
dbHelper.getWritableDatabase();
}
});
Button addData = (Button)findViewById(R.id.add_data);
addData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db=dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name","The Da Vinci Code");
values.put("author","Dan Brown");
values.put("pages",454);
values.put("price",16.96);
db.insert("Book",null,values);
values.clear();
values.put("name","The Lost Symbol");
values.put("author","Dan Brown");
values.put("pages",510);
values.put("price",19.95);
db.insert("Book",null,values);
}
});
Button updataData = (Button) findViewById(R.id.update_data);
updataData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("price",10.5);
db.update("Book",values,"name = ?",new String[]{"The Da Vinci Code"});
}
}); Button deleteButton = (Button) findViewById(R.id.delete_data);
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete("Book","pages > ?",new String[]{"500"});
}
});
Button queryButton = (Button) findViewById(R.id.query_data);
queryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.query("Book",null,null,null,null,null,null);
if (cursor.moveToFirst()){
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
String author = cursor.getString(cursor.getColumnIndex("author"));
int pages = cursor.getInt(cursor.getColumnIndex("pages"));
double price = cursor.getDouble(cursor.getColumnIndex("price"));
TextView mz = (TextView)findViewById(R.id.mz);
mz.setText("书名"+name);
TextView zz = (TextView)findViewById(R.id.zz);
zz.setText("作者"+author);
TextView ys = (TextView)findViewById(R.id.ys);
ys.setText("页数"+pages);
TextView jg =(TextView)findViewById(R.id.jg);
jg.setText("价格"+price); }while (cursor.moveToNext());
}cursor.close();
}
}); }
}MyDatabaseHelper 的代码package com.example.administrator.databasetest;import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;/**
* Created by Administrator on 2019/6/14.
*/public class MyDatabaseHelper extends SQLiteOpenHelper {
public static final String CREATE_BOOK = "create table Book ("
+"id integer primary key autoincrement,"
+"author text,"
+"price real,"
+"pages integer,"
+"name text)";
public static final String CREATE_CATEGORY = "create table Category("
+"id integer primary key autoincrement,"
+"category_name text,"
+"category_code integer)";
private Context mContext;
public MyDatabaseHelper (Context context, String name, SQLiteDatabase.CursorFactory factory,int version)
{
super(context,name,factory,version);
mContext=context;
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL(CREATE_BOOK);
db.execSQL(CREATE_CATEGORY);
Toast.makeText(mContext,"创建成功",Toast.LENGTH_SHORT).show();
}
@Override
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
db.execSQL("drop table if exists Book");
db.execSQL("drop table if exists Category");
onCreate(db);
}
}activity_main.xml 布局的代码<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/create_database"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加数据库"/>
<Button
android:id="@+id/add_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加默认数据"/>
<Button
android:id="@+id/update_data"
android:text="添加数据"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/delete_data"
android:text="删除"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/query_data"
android:text="查询"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/mz"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/zz"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/ys"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/jg"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
运行之后点击查询为什么查询不出来呢,是哪里用错了
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {
private MyDatabaseHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper=new MyDatabaseHelper(this,"BookStore.db",null,2);
Button createDatabase = (Button) findViewById(R.id.create_database);
createDatabase.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
dbHelper.getWritableDatabase();
}
});
Button addData = (Button)findViewById(R.id.add_data);
addData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db=dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name","The Da Vinci Code");
values.put("author","Dan Brown");
values.put("pages",454);
values.put("price",16.96);
db.insert("Book",null,values);
values.clear();
values.put("name","The Lost Symbol");
values.put("author","Dan Brown");
values.put("pages",510);
values.put("price",19.95);
db.insert("Book",null,values);
}
});
Button updataData = (Button) findViewById(R.id.update_data);
updataData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("price",10.5);
db.update("Book",values,"name = ?",new String[]{"The Da Vinci Code"});
}
}); Button deleteButton = (Button) findViewById(R.id.delete_data);
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete("Book","pages > ?",new String[]{"500"});
}
});
Button queryButton = (Button) findViewById(R.id.query_data);
queryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor cursor = db.query("Book",null,null,null,null,null,null);
if (cursor.moveToFirst()){
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
String author = cursor.getString(cursor.getColumnIndex("author"));
int pages = cursor.getInt(cursor.getColumnIndex("pages"));
double price = cursor.getDouble(cursor.getColumnIndex("price"));
TextView mz = (TextView)findViewById(R.id.mz);
mz.setText("书名"+name);
TextView zz = (TextView)findViewById(R.id.zz);
zz.setText("作者"+author);
TextView ys = (TextView)findViewById(R.id.ys);
ys.setText("页数"+pages);
TextView jg =(TextView)findViewById(R.id.jg);
jg.setText("价格"+price); }while (cursor.moveToNext());
}cursor.close();
}
}); }
}MyDatabaseHelper 的代码package com.example.administrator.databasetest;import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;/**
* Created by Administrator on 2019/6/14.
*/public class MyDatabaseHelper extends SQLiteOpenHelper {
public static final String CREATE_BOOK = "create table Book ("
+"id integer primary key autoincrement,"
+"author text,"
+"price real,"
+"pages integer,"
+"name text)";
public static final String CREATE_CATEGORY = "create table Category("
+"id integer primary key autoincrement,"
+"category_name text,"
+"category_code integer)";
private Context mContext;
public MyDatabaseHelper (Context context, String name, SQLiteDatabase.CursorFactory factory,int version)
{
super(context,name,factory,version);
mContext=context;
}
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL(CREATE_BOOK);
db.execSQL(CREATE_CATEGORY);
Toast.makeText(mContext,"创建成功",Toast.LENGTH_SHORT).show();
}
@Override
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
db.execSQL("drop table if exists Book");
db.execSQL("drop table if exists Category");
onCreate(db);
}
}activity_main.xml 布局的代码<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/create_database"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加数据库"/>
<Button
android:id="@+id/add_data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加默认数据"/>
<Button
android:id="@+id/update_data"
android:text="添加数据"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/delete_data"
android:text="删除"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/query_data"
android:text="查询"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/mz"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/zz"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/ys"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/jg"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
运行之后点击查询为什么查询不出来呢,是哪里用错了
解决方案 »
- system/app下添加默认应用
- 直接通过App Engine Connected Android Project生成一个项目,Appengine成功,但是Android app不成功。
- Andriod 开发用百度地图还是谷歌地图?
- android ScrollView 中一个 TextView 显示
- 求助,用模拟器运行启动android应用,启动时报应用的外部jar找不到,'gps.map.show.Mapshow', referenced from met
- android如何启用APN数据连接
- android如何删除动态加载的view
- 重力传感器各个轴的值一直在变化问题
- 各位大神 Android怎么样由菜鸟到合格的新手
- 视频乱码怎么回事
- 求一个APP的源码
- vs2019 android sdk 更细不了
另外对数据库的CRUD有没有要求要以子线程中进行,你再查下资料。android要求对于CPU有较长时间访问的必须要放在子线程中进行。