概述
简单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); } }
到此这篇关于Android中ListView使用示例介绍的文章就介绍到这了,更多相关Android ListView使用内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!
最后
以上就是乐观机器猫为你收集整理的Android中ListView使用示例介绍的全部内容,希望文章能够帮你解决Android中ListView使用示例介绍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复