网站首页 编程语言 正文
目录
简单ListView实例
数据库读取数据存入ListView
一、具体思路
1、创建Listview控件
2、创建子布局
创建数据库
主方法调用数据库继承类且初始化数据库,写入数据
MyDatabaseHelper databaseHelper = new MyDatabaseHelper(this,"Co.db",null,1);
SQLiteDatabase db = databaseHelper.getWritableDatabase();
SQLiteDatabase db2 = databaseHelper.getReadableDatabase();
3、写入
ContentValues values = new ContentValues(); values.put("Code","1"); values.put("Name","Admin"); values.put("Post","32"); values.put("Tel","123456789"); db.insert("employee",null,values); values.clear(); values.put("Code","2"); values.put("Name","Admin1"); values.put("Post","22"); values.put("Tel","23342e"); db.insert("employee",null,values);
4、读取
Cursor cursor = db2.query("Employee",null,null,null,null,null,null); arrayList = new ArrayList<>(); if (cursor.moveToFirst()) { do { name = cursor.getString(cursor.getColumnIndex("Name")); code = cursor.getString(cursor.getColumnIndex("Code")); post = cursor.getString(cursor.getColumnIndex("Post")); tel = cursor.getString(cursor.getColumnIndex("Tel")); System.out.println("查找到的值:"+ name +"---"+ code +"---"+ post +"---"+ tel); Employee employee=new Employee(name, tel, post, code); arrayList.add(employee); }while (cursor.moveToNext()); }
5、创建对象,构造器,GETSET方法
6、创建Adapter
二、具体实施
1、适配器
lv.setAdapter(new BaseAdapter() { @Override public int getCount() { return arrayList.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view; if (convertView==null){ view=View.inflate(getBaseContext(),R.layout.listitem,null); }else{ view=convertView; } Employee ee=(Employee) arrayList.get(position); TextView eename=view.findViewById(R.id.name); TextView eedianhua=view.findViewById(R.id.dianhua); TextView eezhiwei=view.findViewById(R.id.zhiwei); TextView eekahao=view.findViewById(R.id.kahao); eename.setText(ee.getName()); eedianhua.setText(ee.getTel()); eezhiwei.setText(ee.getPost()); eekahao.setText(ee.getCode()); return view; } });
2、数据库
public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_Employees = "create table employee (" + "Code text, " + "Name text unique, " + "Post text, " + "Tel text)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_Employees); Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
3、对象
package com.example.a4_7_1_lv; public class Employee { private String name; private String tel; private String post; private String code; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getPost() { return post; } public void setPost(String post) { this.post = post; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public Employee(String name, String tel, String post, String code) { this.name = name; this.tel = tel; this.post = post; this.code = code; } public Employee() { } }
4、等等等等
三、案例分享
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent"/> </RelativeLayout>
listitem.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="姓名" android:textSize="30dp"/> <TextView android:layout_marginLeft="30dp" android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="30dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="电话" android:layout_marginLeft="100dp" android:textSize="30dp"/> <TextView android:layout_marginLeft="30dp" android:id="@+id/dianhua" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="30dp"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="职位" android:textSize="30dp"/> <TextView android:layout_marginLeft="30dp" android:id="@+id/zhiwei" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="30dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="卡号" android:layout_marginLeft="100dp" android:textSize="30dp"/> <TextView android:layout_marginLeft="30dp" android:id="@+id/kahao" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textSize="30dp"/> </LinearLayout> </LinearLayout>
MyDatabaseHelper.java
package com.example.a4_7_1_lv; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.widget.Toast; public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_Employees = "create table employee (" + "Code text, " + "Name text unique, " + "Post text, " + "Tel text)"; private Context mContext; public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); mContext = context; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_Employees); Toast.makeText(mContext, "Create succeeded", Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
MainActivity.java
package com.example.a4_7_1_lv; import androidx.appcompat.app.AppCompatActivity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private ListView lv; private MyDatabaseHelper databaseHelper; private SQLiteDatabase db; private SQLiteDatabase db2; private ArrayList arrayList; private String name; private String code; private String post; private String tel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = findViewById(R.id.list); } @Override protected void onStart() { super.onStart(); MyDatabaseHelper databaseHelper = new MyDatabaseHelper(this,"Co.db",null,1); db = databaseHelper.getWritableDatabase(); db2 = databaseHelper.getReadableDatabase(); DBInsert(); Cursor cursor = db2.query("Employee",null,null,null,null,null,null); arrayList = new ArrayList<>(); if (cursor.moveToFirst()) { do { name = cursor.getString(cursor.getColumnIndex("Name")); code = cursor.getString(cursor.getColumnIndex("Code")); post = cursor.getString(cursor.getColumnIndex("Post")); tel = cursor.getString(cursor.getColumnIndex("Tel")); System.out.println("查找到的值:"+ name +"---"+ code +"---"+ post +"---"+ tel); Employee employee=new Employee(name, tel, post, code); arrayList.add(employee); }while (cursor.moveToNext()); } lv.setAdapter(new BaseAdapter() { @Override public int getCount() { return arrayList.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view; if (convertView==null){ view=View.inflate(getBaseContext(),R.layout.listitem,null); }else{ view=convertView; } Employee ee=(Employee) arrayList.get(position); TextView eename=view.findViewById(R.id.name); TextView eedianhua=view.findViewById(R.id.dianhua); TextView eezhiwei=view.findViewById(R.id.zhiwei); TextView eekahao=view.findViewById(R.id.kahao); eename.setText(ee.getName()); eedianhua.setText(ee.getTel()); eezhiwei.setText(ee.getPost()); eekahao.setText(ee.getCode()); return view; } }); } private void DBInsert() { ContentValues values = new ContentValues(); values.put("Code","1"); values.put("Name","Admin"); values.put("Post","32"); values.put("Tel","123456789"); db.insert("employee",null,values); values.clear(); values.put("Code","2"); values.put("Name","Admin1"); values.put("Post","22"); values.put("Tel","23342e"); db.insert("employee",null,values); values.clear(); values.put("Code","4"); values.put("Name","Admin13"); values.put("Post","2sda2"); values.put("Tel","233asd42e"); db.insert("employee",null,values); values.clear(); values.put("Code","Code"); values.put("Name","Name"); values.put("Post","Post"); values.put("Tel","Tel"); db.insert("employee",null,values); } }
Employee.java
package com.example.a4_7_1_lv; import androidx.appcompat.app.AppCompatActivity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private ListView lv; private MyDatabaseHelper databaseHelper; private SQLiteDatabase db; private SQLiteDatabase db2; private ArrayList arrayList; private String name; private String code; private String post; private String tel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = findViewById(R.id.list); } @Override protected void onStart() { super.onStart(); MyDatabaseHelper databaseHelper = new MyDatabaseHelper(this,"Co.db",null,1); db = databaseHelper.getWritableDatabase(); db2 = databaseHelper.getReadableDatabase(); DBInsert(); Cursor cursor = db2.query("Employee",null,null,null,null,null,null); arrayList = new ArrayList<>(); if (cursor.moveToFirst()) { do { name = cursor.getString(cursor.getColumnIndex("Name")); code = cursor.getString(cursor.getColumnIndex("Code")); post = cursor.getString(cursor.getColumnIndex("Post")); tel = cursor.getString(cursor.getColumnIndex("Tel")); System.out.println("查找到的值:"+ name +"---"+ code +"---"+ post +"---"+ tel); Employee employee=new Employee(name, tel, post, code); arrayList.add(employee); }while (cursor.moveToNext()); } lv.setAdapter(new BaseAdapter() { @Override public int getCount() { return arrayList.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view; if (convertView==null){ view=View.inflate(getBaseContext(),R.layout.listitem,null); }else{ view=convertView; } Employee ee=(Employee) arrayList.get(position); TextView eename=view.findViewById(R.id.name); TextView eedianhua=view.findViewById(R.id.dianhua); TextView eezhiwei=view.findViewById(R.id.zhiwei); TextView eekahao=view.findViewById(R.id.kahao); eename.setText(ee.getName()); eedianhua.setText(ee.getTel()); eezhiwei.setText(ee.getPost()); eekahao.setText(ee.getCode()); return view; } }); } private void DBInsert() { ContentValues values = new ContentValues(); values.put("Code","1"); values.put("Name","Admin"); values.put("Post","32"); values.put("Tel","123456789"); db.insert("employee",null,values); values.clear(); values.put("Code","2"); values.put("Name","Admin1"); values.put("Post","22"); values.put("Tel","23342e"); db.insert("employee",null,values); values.clear(); values.put("Code","4"); values.put("Name","Admin13"); values.put("Post","2sda2"); values.put("Tel","233asd42e"); db.insert("employee",null,values); values.clear(); values.put("Code","Code"); values.put("Name","Name"); values.put("Post","Post"); values.put("Tel","Tel"); db.insert("employee",null,values); } }
原文链接:https://blog.csdn.net/w_Eternal/article/details/122265523
- 上一篇:C++类的定义与实现_C 语言
- 下一篇:C++实现简易选课系统代码分享_C 语言
相关推荐
- 2022-05-10 错误解决 删除同名Maven Module,重新建立显示ignored pom.xml问题
- 2023-11-11 flask python 设置定时任务 flask 周期性执行任务方案
- 2022-04-19 C#中IntPtr类型的具体使用_C#教程
- 2023-06-21 python __add__()的具体使用_python
- 2022-06-04 python对文档中元素删除,替换操作_python
- 2022-07-19 Linux:配置本地yum源仓库
- 2022-04-08 从头学习C语言之if语句的使用_C 语言
- 2022-03-17 .NET 6开发TodoList应用实现系列背景_实用技巧
- 最近更新
-
- window11 系统安装 yarn
- 超详细win安装深度学习环境2025年最新版(
- Linux 中运行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存储小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基础操作-- 运算符,流程控制 Flo
- 1. Int 和Integer 的区别,Jav
- spring @retryable不生效的一种
- Spring Security之认证信息的处理
- Spring Security之认证过滤器
- Spring Security概述快速入门
- Spring Security之配置体系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置权
- redisson分布式锁中waittime的设
- maven:解决release错误:Artif
- restTemplate使用总结
- Spring Security之安全异常处理
- MybatisPlus优雅实现加密?
- Spring ioc容器与Bean的生命周期。
- 【探索SpringCloud】服务发现-Nac
- Spring Security之基于HttpR
- Redis 底层数据结构-简单动态字符串(SD
- arthas操作spring被代理目标对象命令
- Spring中的单例模式应用详解
- 聊聊消息队列,发送消息的4种方式
- bootspring第三方资源配置管理
- GIT同步修改后的远程分支