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>
運行之后點擊查詢為什么查詢不出來呢,是哪里用錯了
uj5u.com熱心網友回復:
debug看看你的moveToFirst那一段有沒有走uj5u.com熱心網友回復:
是沒有查到資料,還是在頁面是不顯示資料,這是兩個不同的概念。另外對資料庫的CRUD有沒有要求要以子執行緒中進行,你再查下資料。android要求對于CPU有較長時間訪問的必須要放在子執行緒中進行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/137203.html
標籤:Android
上一篇:安卓studio無緣無故爆紅
下一篇:微信云開發 geoNear 報錯
