Recyclerview列表到服务器 [英] Recyclerview list to server

查看:63
本文介绍了Recyclerview列表到服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个项目,其中有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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆