2015-11-30 5 views
-6

Я новичок в android и пытаюсь разработать приложение для Android. Я написал веб-службы в Java для входа в систему и позвонил в android, но я не могу назвать эти веб-службы в android, пожалуйста, помогите мне.Как позвонить в веб-службы входа в систему Android

Мои Java Web Services: -

public class Login { 

public String authentication(String userName,String password){ 

     String retrievedUserName = ""; 
     String retrievedPassword = ""; 
     String status = ""; 
     try{ 

     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/androidlogin","root","root"); 
     PreparedStatement statement = con.prepareStatement("SELECT * FROM user WHERE username = '"+userName+"'"); 
     ResultSet result = statement.executeQuery(); 



     while(result.next()){ 
     retrievedUserName = result.getString("username"); 
     retrievedPassword = result.getString("password"); 
     } 

    // System.out.println(retrievedUserName); 
     // System.out.println(retrievedPassword); 

     if(retrievedUserName.equals(userName)&&retrievedPassword.equals(password)){ 
     status = "Success!"; 
     } 

     else{ 
     status = "Login fail!!!"; 
     } 

     } 
     catch(Exception e){ 
     e.printStackTrace(); 
     } 
     return status; 

    } 

}

Мой андроида mainActivity является: -

public class MainActivity extends Activity { 

private final String NAMESPACE = "http://ws.webapp.org/"; 
private final String URL = "http://localhost:8086/WebApp/services/Login?wsdl"; 
private final String SOAP_ACTION = "http://ws.webapp.org/authentication"; 
private final String METHOD_NAME = "authentication"; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button login = (Button) findViewById(R.id.btn_login); 
    login.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View arg0) { 
      loginAction(); 

     } 
    }); 
} 

private void loginAction() { 
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 

    EditText userName = (EditText) findViewById(R.id.tf_userName); 
    String user_Name = userName.getText().toString(); 
    EditText userPassword = (EditText) findViewById(R.id.tf_password); 
    String user_Password = userPassword.getText().toString(); 

    // Pass value for userName variable of the web service 
    PropertyInfo unameProp = new PropertyInfo(); 
    unameProp.setName("userName");// Define the variable name in the web 
            // service method 
    unameProp.setValue(user_Name);// set value for userName variable 
    unameProp.setType(String.class);// Define the type of the variable 
    request.addProperty(unameProp);// Pass properties to the variable 

    // Pass value for Password variable of the web service 
    PropertyInfo passwordProp = new PropertyInfo(); 
    passwordProp.setName("password"); 
    passwordProp.setValue(user_Password); 
    passwordProp.setType(String.class); 
    request.addProperty(passwordProp); 

    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
      SoapEnvelope.VER11); 
    envelope.setOutputSoapObject(request); 
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 

    try { 
     androidHttpTransport.call(SOAP_ACTION, envelope); 
     SoapPrimitive response = (SoapPrimitive) envelope.getResponse(); 

     TextView result = (TextView) findViewById(R.id.tv_status); 
     result.setText(response.toString()); 

    } catch (Exception e) { 

    } 
} 

}

+0

Какие исключения возбуждаются при попытке вызвать API-интерфейсов? – Mayank

+0

Когда я ввожу имя пользователя и пароль, которые хранятся в моей базе данных, а это admin и 123, он не отображается на эмуляторе Android, который успешно зарегистрирован –

ответ

1

В андроида многих отношениях можно назвать веб-сервис

  1. Залп
  2. Ретрофит
  3. HTTP URL соединения

Залп Пример

private void callWebServicePost() { 
    String postUrl = "http://URL"; 

    final JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, postUrl, new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 
      Log.e("response", response.toString()); 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
     } 
    }) { 
     @Override 
     protected Map<String, String> getParams() throws com.android.volley.AuthFailureError { 
      Map<String, String> params = new HashMap<>(); 
      params.put("inc_id", "0"); 
      params.put("device_date", ""); 
      params.put("device_name", ""); 
      params.put("mac_address", ""); 
      return params; 
     } 

    }; 

    Volley.newRequestQueue(this).add(jsonObjectRequest); 
} 

Ретрофит Сообщение Пример

private void RetroWebServicePost() { 
    RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint("http:/URL").build(); 
    WeatherInterface weatherInterface = restAdapter.create(WeatherInterface.class); 
    weatherInterface.getAttendance(new Callback<AttendancePojo>() { 
     @Override 
     public void success(AttendancePojo attendancePojo, retrofit.client.Response response) { 
      try { 
       Attendance_data data[]; 
       data = attendancePojo.getPostModel().getAttendance_data(); 
       List<String> attendence = new ArrayList<>(); 
       for (int i = 0; i < data.length; i++) { 
        attendence.add(data[i].toString()); 
       } 
       Log.e("response", attendence.toString()); 
       reponseData.setText(attendence.toString()); 
      } catch (NullPointerException e) { 
       e.printStackTrace(); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     @Override 
     public void failure(RetrofitError error) { 
     } 
    }); 
} 

HTTP-соединение Url сообщение Пример

private void reqPost() throws IOException { 
    String postWebUrl = "http:URL"; 
    URL url = new URL(postWebUrl); 
    HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 

    try { 

     connection.setRequestMethod("POST"); 
     connection.setDoInput(true); 
     connection.setDoOutput(true); 
     connection.connect(); 

     String urlParameters = "inc_id=" + URLEncoder.encode("0", "UTF-8") 
       + "&device_date=" 
       + URLEncoder.encode("", "UTF-8") 
       + "&device_name=" 
       + URLEncoder 
       .encode("", 
         "UTF-8") + "&mac_address=" 
       + URLEncoder.encode("", "UTF-8"); 
     //SEND REEQUEST 
     DataOutputStream dataOutputStream = new DataOutputStream(
       connection.getOutputStream()); 
     dataOutputStream.writeBytes(urlParameters); 
     dataOutputStream.flush(); 
     dataOutputStream.close(); 

     //GET RESPONSE 
     InputStream inputStream = connection.getInputStream(); 
     BufferedReader rd = new BufferedReader(new InputStreamReader(inputStream)); 
     String line; 
     StringBuffer response = new StringBuffer(); 
     while ((line = rd.readLine()) != null) { 
      response.append(line); 
      response.append('\r'); 
     } 
     rd.close(); 
     webResponse = response.toString(); 
     Log.e("response", response.toString()); 

    } catch (Exception e) { 

     e.printStackTrace(); 

    } finally { 
     connection.disconnect(); 
    } 
} 

Идя через эти примеры вы можете вызвать веб service.And получить ответ

 Смежные вопросы

  • Нет связанных вопросов^_^