Você pode começar com um Bean para conter e modelar as informações e torná-las mais fáceis de implementar.
public class DataBean{
protected int id;
protected String name;
protected String card;
protected String code;
//Setter, Getters and constructor
...
}
Com o DataBean criado, você pode alterar os tipos de retorno dos seus métodos para DataBean ou List e preenchido dentro de cada método ao invés de retornar uma String com todos os campos.
public DataBean getData(String name){
...
DataBean bean = null;
if (cursor.moveToFirst()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int id = cursor.getInt(index);
String personName = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
bean = new DataBean(id, name, card, code);
}
return bean;
}
public List<DataBean> getAllData() {
List<DataBean> list = new ArrayList<>();
...
while (cursor.moveToNext()) {
int index = cursor.getColumnIndex(DataBaseHelper.UID);
int index2 = cursor.getColumnIndex(DataBaseHelper.NAME);
int index3 = cursor.getColumnIndex(DataBaseHelper.CARD);
int index4 = cursor.getColumnIndex(DataBaseHelper.CODE);
int cid = cursor.getInt(index);
String name = cursor.getString(index2);
String card = cursor.getString(index3);
String code = cursor.getString(index4);
DataBean bean = new DataBean(cid, name, card, code);
list.add(bean);
}
return list;
}
Agora, quando você chama seus métodos, você tem um objeto DataBean, agora você precisa escrever seu Adapter para mostrar as informações no RecyclerView.
Primeiro precisa de link e configurar o RecyclerView em sua Activity.
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setAdapter(new DataBeanAdapter(dbAdapter.getAllData(), R.layout.item));
Depois você precisa criar o DataBeanAdapter e o ViewHolder.
public class DataBeanAdapter extends RecyclerView.Adapter<DataBeanAdapter.ViewHolder>{
private List<DataBean> items;
private int itemLayout;
public DataBeanAdapter(List<DataBean> items, int itemLayout){
this.items = items;
this.itemLayout = itemLayout;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
DataBean item = items.get(position);
holder.name.setText(item.getName());
holder.card.setText(item.getCard());
//All the thing you gonna show in the item
}
@Override
public int getItemCount() {
return items.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView name;
public TextView card;
public ViewHolder(View itemView) {
super(itemView);
name = (TextView) itemView.findViewById(R.id.name);
card = (TextView) itemView.findViewById(R.id.card);
}
}
}
Os id's, layout e os atributos do ViewHolder dependendo de quem você vai mostrar por item no RecyclerView.