Я создал проект, в котором у меня есть 3 редактируемых текста и одна кнопка. На кнопку Нажмите, чтобы добавить мои данные в Recyclerview успешно, и он работает нормально.
Теперь я хочу опубликовать данные переработчика на сервер, используя метод залпа. Идея, как отправить данные Recyclerview (список моего Recyclerview) на сервер. Я хочу опубликовать полный список объектов в массиве на сервере.
что я должен отправить в мои параметры, чтобы я успешно разместил данные о просмотрщике на моем сервере.
// Адаптер представления переработчика
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());
}
}
Я хочу опубликовать свой список данных представления рециркулятора на сервере в форме
[
{movie_name :
movie_Add :
movie_no:
}
{movie_name :
movie_Add :
movie_no:
}
{movie_name :
movie_Add :
movie_no:
}
]