通过SQLiteStudio实时查询修改安卓SQLite数据库


之前提到了SQLiteStudio

软件长?这样

一个可视化的SQLite数据库管理工具

官网地址:https://sqlitestudio.pl/index.rvt


之前一直是这么使用它的

先访问安卓项目的数据库路径data/data/项目/databases

然后把对应的db文件拷出来

再在SQLiteStudio中去使用 


说实话效率挺低的

今天发现...

原来是可以不用拷出来直接访问安卓项目内部的数据库的吗!?


实践

获取SQLiteStudioRemote

点击Tools

选择Open config....

选择插件

勾上Android SQLite这个选项,并点击OK或者Apply

回到主界面,再次点击Tools,会发现,多了一个选项,点击它

会弹出一个示意选择路径的窗口,比方说我们选择了桌面,点击选择文件夹

此时桌面就会多出一个Jar包

将Jar引入项目

把?的jar包复制到项目libs下

右键选择Add as...


至此,其实已经差不多了

最后的配置与启动

首先看两行代码

//开启Service
SQLiteStudioService.instance().start(this);
//关闭Service
SQLiteStudioService.instance().stop(this);

我们主要用到的是第一个....一般我们放在onCreate就好,

更好一点,可以在销毁的时候把第二句也加一下。


然后在配置清单还需要提供网络权限

<uses-permission android:name="android.permission.INTERNET" />


回到软件,点击Database——>Add a database

数据类型选择Android SQLite

点击这个小文件夹图标

可以看到类似下面的画面,模式就第一个就好,

选好对应的设备和Database之后点OK

(然而我这里有个奇怪的问题,如果Database只有一个,OK是无法点击的,必须得先随便创建一个,让它数据大于一,然后选一下,OK才能从灰色变成可选状态???这是什么神仙操作???)

再点OK,大功告成


  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: 以下是一个简单的查询示例,其中我们将查询一个名为“users”的表,并返回所有行: ```java public List<User> getAllUsers() { List<User> userList = new ArrayList<>(); String selectQuery = "SELECT * FROM users"; SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null); if (cursor.moveToFirst()) { do { User user = new User(); user.setId(cursor.getInt(0)); user.setName(cursor.getString(1)); user.setEmail(cursor.getString(2)); userList.add(user); } while (cursor.moveToNext()); } cursor.close(); db.close(); return userList; } ``` 在上面的示例中,我们首先定义了一个名为“getAllUsers”的方法,该方法返回一个用户列表。然后,我们定义了一个查询字符串“selectQuery”,该查询字符串将返回所有用户。 接下来,我们获取一个可读的数据库实例并使用“rawQuery”方法执行查询。我们将结果保存在名为“cursor”的光标对象中。 接着,我们遍历光标并使用“User”类创建一个新的用户对象。我们从光标中获取每个用户的ID、名称和电子邮件地址,并将其设置为用户对象的属性。 最后,我们关闭光标和数据库连接,并返回用户列表。 ### 回答2: 在Android Studio中,可以使用SQLiteOpenHelper类来管理SQLite数据库。以下是一个查询数据库的简单例子: 1. 首先,在你的Android项目中创建一个继承自SQLiteOpenHelper的类,例如MyDatabaseHelper: ``` public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydatabase"; private static final int DATABASE_VERSION = 1; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // 创建数据库表 String createTableQuery = "CREATE TABLE IF NOT EXISTS students (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)"; db.execSQL(createTableQuery); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 数据库升级时执行的操作 // 可以在这里执行DROP TABLE等操作 } } ``` 2. 在需要进行数据库查询的地方,创建一个实例化MyDatabaseHelper类的对象,并获取可读的数据库实例: ``` MyDatabaseHelper dbHelper = new MyDatabaseHelper(context); SQLiteDatabase db = dbHelper.getReadableDatabase(); ``` 3. 使用query()方法执行查询操作,以下是一个查询students表中所有记录的例子: ``` String tableName = "students"; String[] projection = {"id", "name", "age"}; String selection = null; String[] selectionArgs = null; String sortOrder = null; Cursor cursor = db.query(tableName, projection, selection, selectionArgs, null, null, sortOrder); ``` 4. 可以通过Cursor对象遍历查询结果: ``` if (cursor.moveToFirst()) { do { int id = cursor.getInt(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name")); int age = cursor.getInt(cursor.getColumnIndex("age")); // 处理查询结果 } while (cursor.moveToNext()); } cursor.close(); ``` 这只是一个简单的查询示例,你可以根据实际需求自行调整查询条件和处理方式。较复杂的查询操作可以使用rawQuery()方法执行原生SQL语句。 ### 回答3: 在Android Studio中使用SQLite数据库进行查询可以通过以下步骤完成。首先,需要创建一个SQLiteOpenHelper类来帮助管理数据库的创建和升级。 ```java public class DBHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "myDatabase.db"; private static final int DATABASE_VERSION = 1; public DBHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // 创建表 String createTableQuery = "CREATE TABLE IF NOT EXISTS myTable (id INTEGER PRIMARY KEY, name TEXT)"; db.execSQL(createTableQuery); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // 升级表 db.execSQL("DROP TABLE IF EXISTS myTable"); onCreate(db); } } ``` 接下来,在一个Activity或者Fragment中,我们可以使用这个SQLiteOpenHelper类来查询数据库。 ```java public class MainActivity extends AppCompatActivity { private DBHelper dbHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dbHelper = new DBHelper(this); SQLiteDatabase db = dbHelper.getReadableDatabase(); // 查询数据库 String[] projection = {"id", "name"}; String selection = "name = ?"; String[] selectionArgs = {"John"}; String sortOrder = "name DESC"; Cursor cursor = db.query("myTable", projection, selection, selectionArgs, null, null, sortOrder); if (cursor != null && cursor.moveToFirst()) { do { int id = cursor.getInt(cursor.getColumnIndexOrThrow("id")); String name = cursor.getString(cursor.getColumnIndexOrThrow("name")); // 使用查询结果进行操作 // ... } while (cursor.moveToNext()); } cursor.close(); db.close(); } } ``` 在这个例子中,我们首先创建了一个DBHelper对象来获取一个可读的数据库实例。然后,我们使用query方法对表进行查询,可以指定想要查询的列、查询条件、排序方式等。最后,我们用Cursor对象来遍历查询结果并进行相应的操作。注意在完成查询后关闭Cursor和数据库连接,以释放资源。 希望这个例子能帮助你理解如何在Android Studio中使用SQLite数据库进行查询
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云无心鸟知还

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值