如何在单独的线程上使用Room Persistence Library实现SQLite数据库?

时间:2018-08-17 13:30:48

标签: android android-room

我正在尝试注册用户的详细信息,并将其添加到MySQL数据库中,一旦成功添加,我还想使用Room Persistence库将其添加到SQLite数据库中。

我可以照顾好MySQL方面的事情。但是,我找不到在RegisterActivity类中如何正确实现Room数据库的示例

此外,我找不到如何在单独的线程上正确实现Room数据库的示例,我见过的任何示例都会添加.allowMainThreadQueries(),然后添加不应在生产环境中进行的操作。

以下是将详细信息注册到MySQL和Room数据库的方法的一部分:

if (!error) {
                    //data stored in MySQL database, now needs to be stored in Room database

                    JSONObject userDetails = jsonObject.getJSONObject("User_Details");
                    String username = userDetails.getString("username");
                    String email = userDetails.getString("email_address");


                    //TODO: add the username and email vars to Room db here?
                    //        new Thread(new Runnable() {
                    //            @Override
                    //            public void run() {
                    //                UserDetails userDetails = new UserDetails();
                    //                userDetails.setEmail(email);
                    //                userDetails.setUsername(username);
                    //                localDatabase.userDetailsDao().insertUserDetails(userDetails);
                    //            }
                    //        }).start();


                    //Once registered, return user to the EntryScreen to log in
                    Intent intent = new Intent(RegisterActivity.this, EntryScreen.class);
                    startActivity(intent);
                    finish();


                }

0 个答案:

没有答案