android studio1、如何实现数据库和表的创建?
时间: 2023-06-10 10:06:28 浏览: 255
在 Android Studio 中实现数据库和表的创建,需要使用 SQLite 数据库。以下是一个简单的步骤:
1. 在 Android Studio 中创建一个新的项目。
2. 在项目中创建一个新的 Java 类,用于管理数据库的操作。
3. 在该类中,创建一个 SQLiteOpenHelper 子类,并实现其构造函数和两个回调函数:onCreate() 和 onUpgrade()。
4. 在 onCreate() 回调函数中,使用 SQL 语句创建数据库和表。
5. 在主要的 Activity 类中,实例化该数据库管理类,并调用其方法进行数据库的操作。
以下是一个简单的示例,演示如何在 Android Studio 中创建一个名为 "Contacts" 的数据库,并在其中创建一个名为 "Friends" 的表:
1. 创建一个新的 Java 类,例如 "DatabaseHelper"。
2. 在该类中,创建一个 SQLiteOpenHelper 子类并实现其构造函数和两个回调函数:
```java
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "Contacts.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE Friends ("
+ "_id INTEGER PRIMARY KEY AUTOINCREMENT,"
+ "name TEXT,"
+ "phone TEXT)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS Friends");
onCreate(db);
}
}
```
3. 在主要的 Activity 类中,实例化该数据库管理类,并调用其方法进行数据库的操作:
```java
public class MainActivity extends AppCompatActivity {
private DatabaseHelper mDatabaseHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDatabaseHelper = new DatabaseHelper(this);
SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", "John");
values.put("phone", "123456789");
db.insert("Friends", null, values);
Cursor cursor = db.rawQuery("SELECT * FROM Friends", null);
while(cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
String phone = cursor.getString(cursor.getColumnIndex("phone"));
Log.d("MainActivity", "Name: " + name + ", Phone: " + phone);
}
cursor.close();
db.close();
}
}
```
在上面的示例中,我们在 onCreate() 回调函数中使用 SQL 语句创建了一个名为 "Friends" 的表,并在主要的 Activity 类中实例化了该数据库管理类,并使用其方法进行了数据库的插入和查询操作。
阅读全文