【发布时间】:2019-03-15 19:07:36
【问题描述】:
我尝试了很多想法,观看了无数的 youtube 视频,在 google 上搜索...
这是我第一次连接后端服务器。
public class MainActivity extends AppCompatActivity {
private String token;
private String email;
private RecyclerView recyclerView;
private RecyclerView.Adapter adapter;
private RequestQueue requestQueue;
private List<ListItem> listItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recyclerview);
recyclerView.setHasFixedSize(true);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(linearLayoutManager);
Submit();
listItems = new ArrayList<>();
ListItemAdapter listItemAdapter = new ListItemAdapter(MainActivity.this, listItems);
recyclerView.setAdapter(listItemAdapter);
loadRecyclerViewData();
}
private void Submit() {
requestQueue = Volley.newRequestQueue((getApplicationContext()));
StringRequest postRequest = new StringRequest(Request.Method.POST, URL_DATA + "api-user-get",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject parentObject = new JSONObject(response);
JSONObject childObject = parentObject.getJSONObject("result");
token=childObject.getString("token");
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_LONG).show();
}
}
) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("email", "t1@gmail.com");
return params;
}
};
requestQueue.add(postRequest);
}
private void loadRecyclerViewData(){
StringRequest listRequest = new StringRequest(Request.Method.POST,URL_DATA+"api-spot-get-all",
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray array = jsonObject.getJSONArray("result");
for (int i =0; i<array.length(); i++) {
JSONObject o = array.getJSONObject(i);
ListItem list = new ListItem(
o.getString("id"),
o.getString("name"),
o.getString("country"),
o.getString("whenToGo"),
o.getBoolean("isFavorite")
);
listItems.add(list);
}
adapter = new ListItemAdapter(getApplicationContext(), listItems);
recyclerView.setAdapter(adapter);
} catch (JSONException e) {
e.printStackTrace();
}
//
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
public Map<String, String> getHeaders() {
Map<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json");
headers.put("token", "token");
return headers;
}
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("country", "");
params.put("windProbability", "");
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(listRequest);
}
}
【问题讨论】:
-
查看此链接可能会对您有所帮助,lifs.co.in/volley-in-android
-
` headers.put("token", "token");`您将“token”作为令牌发送
标签: java android android-volley