Java 使用php和mysql使用cardview填充recyclerview

Java 使用php和mysql使用cardview填充recyclerview,java,android,mysql,xml,Java,Android,Mysql,Xml,我有一个带cardview的回收视图。我想填充recyclerview并从MySQL数据库向cardview提供数据。我的主页布局包含recyclerview。而cardwiew.xml具有cardwiew布局。我使用了ArrayList来填充我的cardview。有没有办法从数据库中获取数据,然后将其插入我的ArrayList?我认为JSON可以,但我不知道如何创建JSON并将其解析为java代码 在我的hompage.java中,我临时创建了一个ArrayList。我想更改它并从数据库中检索

我有一个带cardview的回收视图。我想填充recyclerview并从MySQL数据库向cardview提供数据。我的主页布局包含recyclerview。而
cardwiew.xml
具有cardwiew布局。我使用了
ArrayList
来填充我的cardview。有没有办法从数据库中获取数据,然后将其插入我的
ArrayList
?我认为JSON可以,但我不知道如何创建JSON并将其解析为java代码

在我的hompage.java中,我临时创建了一个
ArrayList
。我想更改它并从数据库中检索数据

Homepage.java

public class HomePage extends Fragment {
    private LinearLayoutManager lLayout;

    public HomePage() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.homepagelayout, container, false);


        lLayout = new LinearLayoutManager(getActivity());
        lLayout.setOrientation(LinearLayoutManager.VERTICAL);
        List<Cities_list> rowListItem = getAllItemList();

        RecyclerView rView = (RecyclerView) view.findViewById(R.id.recycler_view);
        rView.setHasFixedSize(true);
        rView.setLayoutManager(lLayout);
        RecycleViewAdapter rcAdapter = new RecycleViewAdapter(getActivity(), rowListItem);
        rView.setAdapter(rcAdapter);
        return view;
    }

    private List<Cities_list> getAllItemList(){

        List<Cities_list> allItems = new ArrayList<Cities_list>();
        allItems.add(new Cities_list("Pasig City", R.drawable.pic14));
        allItems.add(new Cities_list("Marikina City", R.drawable.pic13));
        allItems.add(new Cities_list("Antipolo City", R.drawable.pic10));
        allItems.add(new Cities_list("Quezon City", R.drawable.pic11));
        allItems.add(new Cities_list("Muntinlupa City", R.drawable.pic12));
        allItems.add(new Cities_list("BLabla City", R.drawable.pic13));
        return allItems;
    }
}
public class RecycleViewAdapter extends RecyclerView.Adapter<RecyclerViewHolders> {

    private List<Cities_list> itemList;
    private Context context;

    public RecycleViewAdapter(Context context, List<Cities_list> itemList) {
        this.itemList = itemList;
        this.context = context;
    }

    @Override
    public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {

        View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.cardview, null);
        RecyclerViewHolders rcv = new RecyclerViewHolders(layoutView);
        return rcv;
    }

    @Override
    public void onBindViewHolder(RecyclerViewHolders holder, int position) {
        holder.countryName.setText(itemList.get(position).getName());
        holder.countryPhoto.setImageResource(itemList.get(position).getPhoto());
    }

    @Override
    public int getItemCount() {
        return this.itemList.size();
    }
}
public class RecyclerViewHolders extends RecyclerView.ViewHolder implements View.OnClickListener {

    public TextView countryName;
    public ImageView countryPhoto;
    public Context context;
    Intent intent;

    public RecyclerViewHolders(View itemView) {
        super(itemView);

        countryName = (TextView) itemView.findViewById(R.id.country_name);
        countryPhoto = (ImageView) itemView.findViewById(R.id.country_photo);
        itemView.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        Toast.makeText(view.getContext(), "Clicked Country Position = " + getPosition(), Toast.LENGTH_SHORT).show();
        Context context=view.getContext();
        Intent intent=new Intent(context, City.class);
        view.getContext().startActivity(intent);
    }
}

你成功地通过PHP在你的应用程序和MySQL数据库之间建立了连接吗?老实说,我只是在我的注册页面上尝试过,但我还没有在我的主页上尝试过。我有点不知道该把它放在哪里。顺便说一句,我使用的是API 23,所以我必须使用URLConnection。检查这个问题,关于如何设置WAMPServer以便与Android一起使用:谢谢:)先生,我如何从数据库中检索数据然后填充我的cardview?老实说,我需要大约30分钟的时间来解释,写下如何做的答案,但我认为这个链接涵盖了基本内容。检查OP的代码,尝试理解他的代码(客户端和服务器端)