Android分别使用手动建库和代码建库的方式,创建名为test.db的数据库,并建立staff数据表,表内的属性值如下表所示:
时间: 2024-02-09 18:11:21 浏览: 119
好的,我可以为您解答这个问题。
1. 手动建库方式:
首先,在 Android Studio 中创建一个空项目,然后在项目的app/src/main目录下创建一个名为assets的文件夹。在assets文件夹下创建一个名为test.db的数据库文件。
然后,在MainActivity.java文件中,使用以下代码来拷贝test.db文件到应用的data/data/包名/databases/目录下:
```
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
InputStream is = getAssets().open("test.db");
FileOutputStream fos = new FileOutputStream(new File(getFilesDir(),"test.db"));
byte[] buffer = new byte[1024];
int length = 0;
while ((length = is.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
fos.flush();
fos.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
接下来,在onCreate()方法中,使用以下代码来创建staff表:
```
SQLiteDatabase db = SQLiteDatabase.openDatabase(getDatabasePath("test.db").getPath(), null, SQLiteDatabase.OPEN_READWRITE);
db.execSQL("CREATE TABLE staff (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, sex TEXT, department TEXT)");
db.close();
```
2. 代码建库方式:
在MainActivity.java文件中,使用以下代码来创建test.db数据库和staff表:
```
public class MainActivity extends AppCompatActivity {
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = openOrCreateDatabase("test.db", MODE_PRIVATE, null);
db.execSQL("CREATE TABLE staff (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, sex TEXT, department TEXT)");
db.close();
}
}
```
以上就是手动建库和代码建库创建test.db数据库,并建立staff数据表的两种方式。
阅读全文