猿问

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

我想在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;


   }


MYYA
浏览 137回答 1
1回答

江户川乱折腾

MyClass当前的构造函数如下所示:MyClass()&nbsp; &nbsp; {&nbsp; &nbsp; this.passwd = passwd;&nbsp; // logic error&nbsp; &nbsp; this.mobno = mobno;&nbsp; &nbsp; // logic error&nbsp; &nbsp; ... other lines omitted}在构造函数的上下文中,this.passwd和passwd引用相同的对象。由于它在构造函数中,因此值为空。检查您的 IDE 或编译器是否有警告。与另一行相同。因此,您可能希望像这样将passwd和mobno作为构造函数的参数:MyClass(String passwd, int mobno)&nbsp; &nbsp; {&nbsp; &nbsp; this.passwd = passwd;&nbsp; &nbsp; this.mobno = mobno;&nbsp; &nbsp; ... other lines omitted}正确分配值。在request将需要询问,以获取这些值使一个新的MyClass实例可以被正确地创建。询问请求取决于从应用程序发送值的方式。
随时随地看视频慕课网APP

相关分类

Java
我要回答