저는 웹 서비스와 통신하기 위해 Android를 처음 사용하고 발리 슛을 사용합니다. Postman detailsAndroid Volley- 원본 텍스트를 보내고 json 응답을받는 방법
나는 = grant_type = 비밀번호 & 이름 = MyUserName 에다 & 비밀번호를 사용하여 시도 만 postman.I에서 작동 웹 서비스에 대한 원시 문자 메시지를 보내는 발견 내 mainActivity에서 두 EDITTEXT에서 MyUserName 에다 및 mypassword를 받고 mypassowrd. 더 좋은 방법이 있나요?
public class MainActivity extends AppCompatActivity {
Button btnLogin,btnFetch,btnExit;
EditText editTxtUsr,editTxtPass;
TextView txtView;
String uRL ="****";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnLogin=findViewById(R.id.buttonLogin);
btnFetch=findViewById(R.id.buttonFetch);
btnExit=findViewById(R.id.buttonExit);
editTxtUsr=findViewById(R.id.editTextUsrname);
editTxtPass=findViewById(R.id.editTextPassword);
txtView=findViewById(R.id.textViewData);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String wsURL = uRL + "/authtoken";
//final String appData = "grant_type=password&username=" + editTxtUsr + "&password=" + editTxtPass;
StringRequest request = new StringRequest(Request.Method.POST, wsURL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.equals("true")) {
Toast.makeText(MainActivity.this, "Login Successful", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "Incorrect ", Toast.LENGTH_SHORT).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Toast.makeText(MainActivity.this, "Some error occured" + volleyError, Toast.LENGTH_SHORT).show();
}
}) {
@Override
public Map<String,String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/text");
headers.put("charset", "TYPE_UTF8_CHARSET");
return headers;
}
@Override
protected Map<String,String> getParams() throws AuthFailureError {
Map<String, String> parameters = new HashMap<>();
parameters.put("grand_type", "SET_VALUE");
parameters.put("Username", editTxtUsr.getText().toString());
parameters.put("Password", editTxtPass.getText().toString());
return parameters;
}
};
RequestQueue rQueue= Volley.newRequestQueue(MainActivity.this);
rQueue.add(request);
}
});
btnExit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
}
나는 이것을 달성하기 위해 다양한 방법을 시도했지만 운이 없었습니다. 웹 서비스에 연결하려고하는 코드 예제입니다.
내가 얻을 [253] BasicNetwork.performRequest : I에 유래 통해 철저하게 검색하지만 난 내 질문에 대한 정답을 찾을 수 없습니다에 대한 ...
예기치 않은 응답 코드 (400). 도움이 될 것입니다.