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