Recyclerview列表到服务器 [英] Recyclerview list to server
问题描述
我创建了一个项目,其中有3个编辑文本和一个按钮.在按钮上单击它可以将我的数据成功添加到Recyclerview,并且工作正常.
I have created a Project in which i have 3 edit text and one button. On button Click it add my data to Recyclerview successfully and it's working fine.
现在我想使用volley Post方法将recyclerview数据发布到服务器,任何人都可以帮我解决我该怎么做,我只需要一个如何将recyclerview(我的Recyclerview列表)的数据发送到服务器的想法.我想将阵列中的对象的完整列表发布到服务器.
Now i want to post the recyclerview data to server using volley Post method can any one help me out how can i do it i just need a idea how to send data of recyclerview(list of my Recyclerview) to server. I want to Post full list of objects in array to server.
应该向我发送什么参数,以便成功将recyclerview数据发布到我的服务器.
what should i send to my parameters so that i Successful post the recyclerview data to my server.
//回收站视图适配器
public class MoviesAdapter1 extends RecyclerView.Adapter<MoviesAdapter1.MyViewHolder> {
private List<Movie1> moviesList1;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView title, year, genre;
public MyViewHolder(View view) {
super(view);
title = (TextView) view.findViewById(R.id.title);
genre = (TextView) view.findViewById(R.id.genre);
year = (TextView) view.findViewById(R.id.genre1);
}
}
public MoviesAdapter1(List<Movie1> moviesList1) {
this.moviesList1 = moviesList1;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext())
.inflate(R.layout.recycler_list_row, parent, false);
return new MyViewHolder(itemView);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Movie1 movie = moviesList1.get(position);
holder.title.setText("Name : " +movie.getTitle());
holder.genre.setText("Address : " +movie.getGenre());
holder.year.setText("Contact No. : " +movie.getYear());
}
@Override
public int getItemCount() {
return moviesList1.size();
}
}
// movie class
public class Movie1 {
private String title, genre, year;
public Movie1(String title, String genre, String year) {
this.title = title;
this.genre = genre;
this.year = year;
}
public String getTitle() {
return title;
}
public void setTitle(String name) {
this.title = name;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}
}
//主要活动
listview_text = findViewById(R.id.witness_text1);
b1tv1 = findViewById(R.id.witness_text);
listview_text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
recyclerView = findViewById(R.id.list_view);
mAdapter = new MoviesAdapter(movieList);
recyclerView.setHasFixedSize(true);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.addItemDecoration(new DividerItemDecoration(context, LinearLayoutManager.VERTICAL));
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(mAdapter);
recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getApplicationContext(), recyclerView, new RecyclerTouchListener.ClickListener() {
@Override
public void onClick(View view, int position) {
Movie movie = movieList.get(position);
movie.getGenre();
Toast.makeText(getApplicationContext(), movie.getTitle() + " is selected!", Toast.LENGTH_SHORT).show();
}
@Override
public void onLongClick(View view, int position) {
}
}));
final AlertDialog.Builder ablerDialogue = new AlertDialog.Builder(ScrollingActivity.this);
final View customLayout = getLayoutInflater().inflate(R.layout.custom_expand, null);
ablerDialogue.setView(customLayout);
alertDialog = ablerDialogue.create();
alertDialog.setCancelable(false);
movie_name = (EditText) customLayout.findViewById(R.id.edit_name);
movie_add = (EditText) customLayout.findViewById(R.id.edit_address);
movie_no = (EditText) customLayout.findViewById(R.id.edit_number);
member_close = (ImageView) customLayout.findViewById(R.id.close_image);
member_close.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
listview_text.setVisibility(View.VISIBLE);
}
});
list_button = (Button) customLayout.findViewById(R.id.list_add_button);
list_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
itemName = witness_name.getText().toString();
post = witness_add.getText().toString();
designation = witness_no.getText().toString();
if (witness_name() == true) {
witness_submit();
listview_text.setVisibility(View.GONE);
b1tv1.setText("Witness details");
}
}
});
alertDialog.show();
}
});
//与服务器连接
private void new_process() {
String URL = "My URL";
Log.i("response", URL);
final StringRequest jsonObjRequest = new StringRequest(
Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("response_process", response);
Upload_work(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("volley", "Error" + error.getMessage());
Log.i("response_error", error.toString());
}
}) {
@Override
public String getBodyContentType() {
return "application/x-www-form-urlencoded; charset=UTF-8";
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("sending to", movieList1.toString());
return params;
}
};
RequestQueue queue = SingletonRequestQueue.getInstance(getApplicationContext()).getRequestQueue();
queue.add(jsonObjRequest);
}
private void Upload_work(String response) {
Log.i("response_Upload_work", response);
try {
JSONObject json = new JSONObject(response);
int success = json.getInt("success");
String msg = json.getString("message");
if (success == 1) {
JSONObject c = json.getJSONObject("data");
String messg = c.getString("message");
Toast.makeText(this, messg, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ScrollingActivity.this, msg, Toast.LENGTH_LONG).show();
}
} catch (Exception ex) {
Log.i("responseNew m", "Exception : " + ex.toString());
}
}
我想以表格形式将回收者视图数据列表发布到服务器上
i want to post my recycler view data list to server in form
[
{movie_name :
movie_Add :
movie_no:
}
{movie_name :
movie_Add :
movie_no:
}
{movie_name :
movie_Add :
movie_no:
}
]
推荐答案
List<String> movieList; //you can define it to globally
movieList=new ArrayList<>();
movieList.add("1");
movieList.add("2");
movieList.add("3");
JSONArray movieArray = new JSONArray();
for(int i=0; i<movieList.size(); i++) {
JSONObject movieObject = new JSONObject();
try {
movieObject.put("movie_name", "" + movieList.get(i).toString());
movieArray.put(movieObject);
} catch (JSONException e) {
e.printStackTrace();
}
}
Log.d("--------------------", String.valueOf(movieArray));
尝试
输出:
D/--------------------: [{"movie_name":"1"},{"movie_name":"2"},{"movie_name":"3"}]
这篇关于Recyclerview列表到服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!