Android ListView使用
吃橘子的季节呢 人气:0简单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); } }
加载全部内容