Android-SQLite—数据库创建
1.创建 usersDatabaseHelper.java 继承 SQLiteOpenHelper方法
package com.example.androidsqlite1;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.content.Context;
public class usersDatabaseHelper extends SQLiteOpenHelper {
private static final String TAG = "数据库已创建";
public static final int VERSION = 1; //这个指产品号(设置初始值为1)
//必须要有构造函数
/*
context:上下文
name:数据库名称
factor:游标工厂 默认为null
version:数据库版本号 最小为1
*/
public usersDatabaseHelper(Context context, String name, CursorFactory factory, int version){
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
/*
* 创建一个表
* 列名 数据类型
* idNumber int(改为varchar(50))
* name varchar(20)
* sAge int
* sSex varchar(10)
* data varcher(20)
*/
// 当第一次创建数据库的时候,调用该方法(只调用1次)
String sql = "create table users(idNumber int,name varchar(20),sAge int,sSex varchar(10),data varcher(20))";
//输出创建数据库的日志信息
Log.i(TAG, "create Database-方法被执行");
//execSQL函数用于执行SQL语句
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
Log.i(TAG, "update Database-方法被执行");
}
}
然后在Main_Activity.xml调用以上方法
package com.example.androidsqlite1;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button createBtn;
//设置监听器
private void creatView(){
//
createBtn = (Button)findViewById(R.id.createDatabase);
}
private void setListener(){
createBtn.setOnClickListener(new CreateListener());
}
class CreateListener implements OnClickListener{
@Override
public void onClick(View v) {
//创建usersDatabaseHelper对象
usersDatabaseHelper dbHelper = new
usersDatabaseHelper(MainActivity.this,"users_db",null,1);
//得到一个可读的SQLiteDatabase对象
SQLiteDatabase db =dbHelper.getReadableDatabase();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//调用creatView方法
creatView();
//调用setListener方法
setListener();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
还需要在activity_main.xml添加按钮
这里只是做测试
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.androidsqlite1.MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/createDatabase"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginLeft="33dp"
android:layout_marginTop="40dp"
android:text="创建数据库" />
</RelativeLayout>
users_db被创建(stu_db之前测试用的)