sql >> データベース >  >> RDS >> SQLite

RecyclerViewでSQLiteデータを表示する

    Beanから始めて、情報を格納およびモデル化し、実装をより簡単にすることができます。

    public class DataBean{
        protected int id;
        protected String name;
        protected String card;
        protected String code;
        //Setter, Getters and constructor
        ...
    }
    

    DataBeanを作成したら、メソッドの戻りタイプをDataBeanまたはリストに変更して、すべてのフィールドを含む文字列を返す代わりに、各メソッド内に入力することができます。

    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;
    }
    

    これで、メソッドを呼び出すときにDataBeanオブジェクトができたので、RecyclerViewに情報を表示するようにアダプターを作成する必要があります。

    まず、リンクを作成して、アクティビティでRecyclerViewを設定する必要があります。

    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));
    

    必要に応じて、DataBeanAdapterと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);
            }
        }
    }
    

    RecyclerViewのアイテムごとに表示するユーザーに応じて、ViewHolderのID、レイアウト、および属性。




    1. postgresデータベースに単一のテーブルのバックアップを作成するにはどうすればよいですか?

    2. SQLite Node.js

    3. SQLServerでマスターデータベースを簡単に再構築する方法

    4. BaseColumnsで_COUNTを使用する方法