为了账号安全,请及时绑定邮箱和手机立即绑定

我想使用java作为Web服务器在android中制作登录应用程序并在没有查询字符串的情况下

我想使用java作为Web服务器在android中制作登录应用程序并在没有查询字符串的情况下

MYYA 2021-11-24 14:38:18
我想在android中创建登录页面,对于我选择java的Web服务,所以我想以json格式获取数据(我已经用java编写了代码),现在登录我想如果登录成功则存储成功否则失败。我的问题是我想将用户名和密码从 android 中的控件传递给 java 我应该怎么做我总是“失败”,因为每次调用空值的 isUser() 都会在函数内部传递,尽管我的凭据是正确的我的类import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import java.util.logging.Level;import java.util.logging.Logger;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import org.json.JSONString;class MyClass {   Connection con = null;     Statement stmt = null;     ResultSet rs = null;int mobno;String passwd;private static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";private static final String DATABASE_URL = "jdbc:mysql://localhost/psamajdb";private static final String USERNAME = "root";private static final String PASSWORD = "";MyClass(){    this.passwd=passwd;    this.mobno=mobno;          try {        Class.forName(JDBC_DRIVER);        con = DriverManager.getConnection(DATABASE_URL, USERNAME, PASSWORD);    stmt=con.createStatement();   } catch (Exception e) {        System.out.println("Exception e  = " + e);    }}   public JSONArray convertToJson(ResultSet rs) throws Exception{               JSONArray jsonArray = new JSONArray();    while (rs.next()) {        int total_rows = rs.getMetaData().getColumnCount();        for (int i = 0; i < total_rows; i++) {            JSONObject obj = new JSONObject();            obj.put(rs.getMetaData().getColumnLabel(i + 1)                    .toLowerCase(), rs.getObject(i + 1));            jsonArray.put(obj);        }    }    return jsonArray;   }   public String[] jsonToString(JSONArray arr){       if(arr==null)       {           return null;       }       String[] str1=new String[arr.length()];       for (int i = 0; i < str1.length; i++) {           str1[i]=arr.optString(i);       }       return str1;   }
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

MyClass当前的构造函数如下所示:


MyClass()    {

    this.passwd = passwd;  // logic error

    this.mobno = mobno;    // logic error


    ... other lines omitted

}

在构造函数的上下文中,this.passwd和passwd引用相同的对象。由于它在构造函数中,因此值为空。检查您的 IDE 或编译器是否有警告。与另一行相同。


因此,您可能希望像这样将passwd和mobno作为构造函数的参数:


MyClass(String passwd, int mobno)    {

    this.passwd = passwd;

    this.mobno = mobno;


    ... other lines omitted

}

正确分配值。在request将需要询问,以获取这些值使一个新的MyClass实例可以被正确地创建。询问请求取决于从应用程序发送值的方式。


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 136 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信