Как аутентифицировать пользователя через веб-сервисы в Android?

Я очень новичок в веб-сервисах. В настоящее время я работаю над приложением для Android, которому необходимо аутентифицировать пользователя через веб-сервисы (это означает, что имя пользователя и пароль хранятся в удаленной базе данных). Может ли кто-нибудь сказать мне, как я могу это сделать?


person user456    schedule 05.11.2012    source источник
comment
какой веб-сервис вы собираетесь использовать? любые идеи   -  person vinothp    schedule 05.11.2012
comment
вы можете посетить здесь stackoverflow.com/questions /9256647/login-check-in-server-side/   -  person Ajay    schedule 05.11.2012


Ответы (2)


Вы можете использовать веб-сервис REST, пожалуйста, посмотрите ссылку ниже

Android Подключение к удаленному серверу Mysql

person Goofy    schedule 05.11.2012

Я не уверен, какие веб-сервисы вы используете. Если ваш веб-сервис Ksoap 2.

Проверить сеть C0de

 public class CheckNetwork {


private static final String TAG = CheckNetwork.class.getSimpleName();



public static boolean isInternetAvailable(Context context)
{
    NetworkInfo info = (NetworkInfo) ((ConnectivityManager)
       context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();

    if (info == null)
    {
         Log.d(TAG,"no internet connection");
         //Toast.makeText(context, "No Internet Connection", 1000);
         return false;
    }
    else
    {
        if(info.isConnected())
        {
            Log.d(TAG," internet connection available...");
            return true;
        }
        else
        {
            Log.d(TAG," internet connection");
            return true;
        }

    }
}
 }

В вашей деятельности onCreate()

  Name =mEditTextUsername.getText().toString();
  Pass= mEditTextPassword.getText().toString();
  new TheTask().execute(Name,Pass);

class TheTask extends AsyncTask<String, Integer, Void>{
    ProgressDialog pd;

    @Override
    protected void onPreExecute() {
        pd=new ProgressDialog(Login.this);
        pd.setTitle("Authenticating");
        pd.show();

    }

    @Override
    protected Void doInBackground(String... params) {   
        authenticate(params[0],params[1]);
        return null;

    }

    @Override
    protected void onPostExecute(Void result) {
        pd.dismiss();
       }
    public void authenticate(String name, String pass)
    {
    if(CheckNetwork.isInternetAvailable(Login.this))
    {

        SoapObject request = new SoapObject("NameSpace", "method name");
                PropertyInfo loginreq = new PropertyInfo();
        loginreq.name="LoginReq";
        loginreq.type=String.class;
                    loginreq.setValue(your request value);
                    request.addProperty(loginreq);  
            SoapSerializationEnvelope envelop = new      SoapSerializationEnvelope(SoapEnvelope.VER11);
            envelop.setOutputSoapObject(request);
            System.out.println("Request is"+request); 

        HttpTransportSE androidHttpTransport = new   HttpTransportSE ("your wsdl link");
        androidHttpTransport.debug=true;                                                                  androidHttpTransport.call("YOUR LOGINREQUST", envelop);
        SoapObject response=(SoapObject) envelop.bodyIn;
        System.out.println("Response is......"+response.toString());//get your response
    }   

Веб-служба отвечает тегом кода 1 в случае успеха и 0 в случае неудачи. Это также зависит от дизайна ответа веб-сервиса. Приведенный выше код работает с использованием мыльного веб-сервиса. Также взгляните на эту ссылку. как подключить сервер Android и mysql?.

person Raghunandan    schedule 05.11.2012