写一个Android studio利用sqlite数据库进行数据查询的代码
时间: 2024-02-15 15:02:30 浏览: 70
好的,下面是一个简单的Android Studio利用SQLite数据库进行查询的代码:
1. 首先,在 MainActivity.java 中创建一个 DatabaseHelper 类,并在其中创建一个查询方法:
```java
public class MainActivity extends AppCompatActivity {
private DatabaseHelper dbHelper;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new DatabaseHelper(this);
db = dbHelper.getWritableDatabase();
Cursor cursor = queryData("student");
if (cursor != null && cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name"));
String age = cursor.getString(cursor.getColumnIndex("age"));
Log.d("MainActivity", "name: " + name + ", age: " + age);
} while (cursor.moveToNext());
cursor.close();
}
db.close();
}
private Cursor queryData(String tableName) {
String sql = "select * from " + tableName;
return db.rawQuery(sql, null);
}
private static class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "mydatabase.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) {
db.execSQL("create table student (_id integer primary key autoincrement, name text, age integer)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists student");
onCreate(db);
}
}
}
```
2. 在 layout 文件夹中创建一个 activity_main.xml 布局文件:
```xml
<?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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</LinearLayout>
```
3. 在 AndroidManifest.xml 文件中添加以下权限:
```xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
这是因为在创建 SQLiteOpenHelper 对象时需要读写文件的权限。
以上代码实现了在 MainActivity 中创建了一个 DatabaseHelper 类,并在其中创建了一个查询方法 queryData,用于查询 student 表中的所有数据。在 onCreate 方法中,我们调用 queryData 方法查询数据,并将查询结果输出到 Logcat 中。
需要注意的是,在 onCreate 方法中,我们先通过 DatabaseHelper 获取了一个 SQLiteDatabase 对象,用于后续的查询操作,查询结束后需要关闭这个对象。另外,在 DatabaseHelper 中,我们定义了一个数据库版本号 DATABASE_VERSION,如果需要更新数据库结构,只需要将这个版本号加一即可,系统会自动调用 onUpgrade 方法进行更新操作。
希望能对你有所帮助!
阅读全文