《APP》团队冲刺第二阶段 六
今天继续进行闪退bug以及数据插入和修改数据时的出现的bug,某些手机型号运行次软件的时候,两三分钟后总是会闪退,不管有没有进行操作,或者不管做任何操作。我们考虑可能数据库的问题,有可能是数据库类型与实际输入的类型有些出入,或是其他的问题,所以我们打算重新编写这一部分的代码。
package com.example.datebasetest; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.widget.Toast; /** * Created by Administrator on 2016/3/4. */ public class DatabaseHelper 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 DatabaseHelper(Context context, String name, 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); } } package com.example.datebasetest; import android.content.ContentValues; import android.database.sqlite.SQLiteDatabase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button btn; private DatabaseHelper dbHelper; private Button addButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button)findViewById(R.id.create_database); dbHelper = new DatabaseHelper(this,"BookStore.db",null,2); addButton = (Button)findViewById(R.id.add_data); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dbHelper.getWritableDatabase(); } }); addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name","wz"); values.put("author","xx"); values.put("price",1.0); values.put("pages",156); db.insert("Book",null,values); values.clear(); values.put("name","wz2"); values.put("author","xx2"); values.put("price",2.0); values.put("pages",122); db.insert("Book",null,values); } }); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <Button android:id="@+id/create_database" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="创建数据库" android:layout_marginTop="10dp" /> <Button android:id="@+id/add_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="添加数据" android:layout_marginTop="10dp" /> </LinearLayout>