当前位置: 首页 > 知识库问答 >
问题:

用volley、php、mysql登录activity,登录成功后意图不去其他activity

姬宝
2023-03-14

我使用Volley、php、MYSQL和共享首选项创建了我的登录应用程序。登录和注册活动成功,但登录成功后页面不会转到其他活动。这是一个意图还是另一个问题?请救命!

登录activity:

//if everything is fine
        StringRequest stringRequest = new StringRequest(Request.Method.POST, URLs.URL_LOGIN,
                new Response.Listener() {
                    @Override
                    public void onResponse(String response) {
                        progressBar.setVisibility(View.GONE);

                        try {
                            //converting response to json object
                            JSONObject obj = new JSONObject(response);

                            //if no error in response
                            if (!obj.getBoolean("error")) {
                                Toast.makeText(getApplicationContext(), obj.getString("message"), Toast.LENGTH_SHORT).show();
                                //getting the user from the response
                                JSONObject userJson = obj.getJSONObject("user");

                                //creating a new user object
                                User user = new User(
                                        userJson.getInt("id"),
                                        userJson.getString("fullname"),
                                        userJson.getString("phone")
                                );

                                //storing the user in shared preferences
                                SharedPrefManager.getInstance(getApplicationContext()).userLogin(user);

                                //starting the profile activity
                                finish();
                                startActivity(new Intent(getApplicationContext(), ProfileActivity.class));

                            } else {

                                // when error
                                Toast.makeText(getApplicationContext(), "Ops! "+obj.getString("message"), Toast.LENGTH_SHORT).show();
                            }
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }

共有3个答案

贲绪
2023-03-14

尝试使用本地上下文,例如,如果您是Mainactivity而不是Mainactivity,那么如果您是在fragment中,尝试使用getactivity(),我认为它应该可以正常工作。

阴高寒
2023-03-14

应该通过将finish()移动到启动下一个activity之后来修复该错误。因为它不是,我不认为你真的没有得到那一行代码。您确实到达了设置toast的行,因此错误必须在该行和startactivity行之间。

我认为你在这里可能有一个错误:

                           JSONObject userJson = obj.getJSONObject("user");

                            //creating a new user object
                            User user = new User(
                                    userJson.getInt("id"),
                                    userJson.getString("fullname"),
                                    userJson.getString("phone")
                            );

密钥-用户、id、全名或电话-可能不存在。当您尝试访问它们时,您会得到一个错误,它阻止您的代码到达更改activity的行。检查你的Logcat或运行控制台,看看我的预感是否正确。

李招
2023-03-14

将此更改为

   //starting the profile activity

   finish();
   startActivity(new Intent(getApplicationContext(), ProfileActivity.class));

 startActivity(new Intent(LoginActivity.this, ProfileActivity.class));
 finish();
 类似资料:
  • 我已经编写了一个php用户登录脚本,虽然我已经设法使注册页面正常工作(从而排除了common.php文件的内容是一个问题),并在mySQL中检查了数据库正在填充,但我似乎无法使登录本身发布任何内容,而不是不成功。 我肯定是在数据库中输入用户名和密码。有人能看出我哪里出了问题,或者建议我如何检查哪里出了问题吗? 表jmp_users的结构如下: 我的login.php页面是:

  • 我正在用android编程。当我使用(LoginActivity)成功登录时,下一步是加载MainActivity,这个MainActivity是一个导航抽屉活动,但我遇到了这个错误: 致命异常:主进程:com.example.administrador.vicon,PID:32149java.lang.运行时异常:无法启动活动ComponentInfo{com.example.administr

  • 我已经创建了一个登录名。html页面和登录名。php脚本。在脚本中,它将首先获得我们输入的用户名和密码,然后使用数据库检查用户名或密码是否存在,如果用户有效,则它将检查他的部门id,并使用部门权限打开他们的页面,但问题是无论他们的部门是什么,都会一直打开管理页面。请帮我做这件事。 这是我的login.html代码 登录。php脚本

  • 问题内容: 我想要在spring成功注册后自动登录:我有一个受保护的页面,需要登录才能访问它们,我要在注册后跳过登录页面并进行自动登录,以便用户可以看到受保护的页面有我吗?我正在使用spring 3.0,spring security 3.0.2,该怎么做? 问题答案: 可以通过以下方式(半伪代码)通过spring安全性完成此操作: 更新:仅包含注册后如何创建会话

  • 我正在尝试使用MVC客户端设置IdentityServer4。 一切正常,直到我想添加ASP身份。当我添加代码以使用SQL server和Identity时,成功登录后,Identity server不会将我重定向回客户端,但它只是“刷新”页面。 IdentityServer应用程序启动: 在IdentityServer中配置 在MVC客户端中启动: 来自IdentityServer的日志: 我只

  • 我已经创建了一个Spring Security应用程序。当用户登录时,用户名和角色将存储在安全上下文中。可以使用对象principal=SecurityContextHolder.getContext().getAuthentication().getPrincipal()检索相同的内容; 如何在上下文中存储附加的用户信息,如用户ID、电子邮件、关联分支ID等?