私のアプリを通してウェブサイトにログインしようとしています。 私はvolleyライブラリを使用しています。私はデータをどのように送信すればよいのか、私が得る返答は正確に何かを把握することができません。どうすれば私のアンドロイドアプリケーションを使ってWebサービスにログインできますか?
URLは、あなたがAPIのURLをヒットし、応答を表示するPOSTMANを使用することができますhttp://saptrishiherbal.com/home/login
public class MainActivity extends AppCompatActivity {
private static String TAG = MainActivity.class.getSimpleName();
private Button login;
private ProgressDialog pDialog;
private EditText username;
private EditText password;
String url = "http://www.saptrishiherbal.com/home/login";
String Username;
String Password;
public static final String KEY_USERNAME = "txtusername";
public static final String KEY_PASSWORD = "txtPassword";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
username = (EditText) findViewById(R.id.editText5);
password = (EditText) findViewById(R.id.editText6);
Username = username.getText().toString().trim();
Password = password.getText().toString().trim();
pDialog = new ProgressDialog(this);
pDialog.setMessage("Please wait...");
pDialog.setCancelable(false);
login = (Button) findViewById(R.id.login);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Loginnow(Username, Password);
}
});
}
public void Loginnow(final String username1, final String password1) {
final HashMap<String, String> params = new HashMap<String, String>();
params.put(KEY_USERNAME, username1);
params.put(KEY_PASSWORD, password1);
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new String(params), new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Intent intent = new Intent(getBaseContext(), Home.class);
startActivity(intent);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, error.toString(), Toast.LENGTH_LONG).show();
}
})
/* {
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put(KEY_USERNAME, username1);
params.put(KEY_PASSWORD, password1);
return params;
}
};*/
AppController.getInstance().addToRequestQueue(stringRequest);
showpDialog();
}
private void showpDialog() {
if (!pDialog.isShowing())
pDialog.show();
}
}
あなたが言ったように、あなたは応答でHTMLコードを取得しています、そして問題はバックエンド側からです...まず変更を行い、適切な応答を得ているかどうかを確認してください。 – Bhavnik
これはログインページで、正しい資格情報が入力された場合は次のページに進みます。一般的に、この場合、サーバーからの応答はどのようなものでしょうか? – choi
http://pastebin.com/exhSQg7Uのようにサーバーからのjson応答でなければなりません。 – Bhavnik