Quiero enumerar todos mis datos almacenados en la base de datos y mostrarlos usando una vista / adaptador de reciclador. ¿Alguien puede ayudarme con esto?

-Tengo una clase de getter y setter (PWClass)

Estos son algunos de mis códigos:

Este es el momento en que estoy almacenando algunos datos en la clase y los agrego a la lista, pero es solo una muestra.

PWClass pwc = new PWClass("Facebook", "Action & Adventure", "2015");
    pwList.add(pwc);

    pwc = new PWClass("Instagram", "Action & Adventure", "2015");
    pwList.add(pwc);

    mAdapter.notifyDataSetChanged();

Mi problema es cómo puedo combinar el código anterior y llamar a una consulta en la base de datos para mostrar datos como:

//i declare on top
private List<PWClass> pwList = new ArrayList<>();
private RecyclerView recyclerView;
private PWAdapter mAdapter;
Database controller;

//and from a method below
pwList.add(controller.add_pw());//adding on list array by calling my db method

¿Debo usar algunos para / while bucles / arrays? Estoy pensando en el código anterior pero sé que está mal. ¿Entiendes mi punto?

Por favor ayuda para que pueda entender más, agradezco tus sugerencias gracias!

0
APX 6 mar. 2017 a las 11:25

2 respuestas

La mejor respuesta

Lea esta publicación, obtendrá una idea clara sobre la base de datos Sqlite. mira esto

0
xbadal 6 mar. 2017 a las 08:45
public List<userData> getAlluser() {
    List<userData> usersdetail = new ArrayList<>();
    curser = dbs.query("data_table", null, null, null, null, null, null);
    try {
        if (curser.moveToFirst()) {
            do {
                userData muser = new userData();
                muser.appname = curser.getString(curser.getColumnIndex("appname"));
                muser.user = curser.getString(curser.getColumnIndex("email"));
                muser.passwordss = curser.getString(curser.getColumnIndex("password"));
                usersdetail.add(muser);
            } while (curser.moveToNext());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return usersdetail;
}
public class RecyclerViewAdopterMy extends RecyclerView.Adapter<RecyclerViewAdopterMy.MyViewHolder> implements View.OnClickListener {
    List<userData> user = new ArrayList<>();
    Context context;

    public RecyclerViewAdopterMy(List<userData> user, Context context) {
        this.user = user;
        this.context = context;
    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_view, null);
        MyViewHolder myViewHolder = new MyViewHolder(view);
        return myViewHolder;
    }

    @Override
    public void onBindViewHolder(final MyViewHolder holder, final int position) {
        holder.appR.setText(user.get(position).appname);
        holder.nameR.setText(user.get(position).user);
        holder.passR.setText(user.get(position).passwordss);
        holder.cardR.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                AlertDialog.Builder alertbox = new AlertDialog.Builder(view.getRootView().getContext());
                alertbox.setMessage("Do you want delete this item");
                alertbox.setTitle("Delete");
                alertbox.setIcon(R.drawable.delete);
                alertbox.setPositiveButton("OK",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface arg0, int arg1) {
                            int pos = holder.getAdapterPosition();
                            user.remove(user.get(position));
                            notifyItemRemoved(position);
                            notifyItemRangeChanged(position, getItemCount());
                            notifyItemChanged(position);
                        }
                    });
                alertbox.show();
                return true;
            }
        });
    }

    @Override
    public int getItemCount() {
        return user.size();
    }

    @Override
    public void onClick(View view) {
    }

    public static class MyViewHolder extends RecyclerView.ViewHolder {
        private final TextView appR;
        private final TextView nameR;
        private final TextView passR;
        private final CardView cardR;

        public MyViewHolder(View view) {
            super(view);
            appR = (TextView) view.findViewById(R.id.Appstore);
            nameR = (TextView) view.findViewById(R.id.userStore);
            passR = (TextView) view.findViewById(R.id.passstore);
            cardR = (CardView) view.findViewById(R.id.card);
        }
    }
}
0
Podushkoved 19 may. 2020 a las 20:20