Android-使用ListView把SQLite中的数据显示至屏幕
来源:互联网 发布:数据结构与算法的关系 编辑:程序博客网 时间:2024/06/05 04:44
结果图:
步骤:
1.向数据库中插入数据
2.从数据库中取出数据放在ArrayList中;
3.将ArrayList中的数据显示在ListView中;
布局文件:
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.android04.MainActivity" > <ListView android:id="@+id/listView" android:layout_width="wrap_content" android:layout_height="wrap_content" > </ListView></RelativeLayout>listitem_layout.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="名字" android:textSize="25sp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:orientation="vertical" > <TextView android:id="@+id/tv_phone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="号码" /> <TextView android:id="@+id/tv_salary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="工资" /> </LinearLayout></RelativeLayout>
Java文件:
Person.java
package com.example.cn;public class Person {private String _id;private String name;private String phone;private String salary;public String get_id() {return _id;}public void set_id(String _id) {this._id = _id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getSalary() {return salary;}public void setSalary(String salary) {this.salary = salary;}@Overridepublic String toString() {return name + ", " + phone + ", " + salary;}public Person(String _id, String name, String phone, String salary) {super();this._id = _id;this.name = name;this.phone = phone;this.salary = salary;}}MyOpenHelper.java
package com.example.android04;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class MyOpenHelper extends SQLiteOpenHelper {public MyOpenHelper(Context context) {//创建数据库super(context, "person.db", null, 1);// TODO Auto-generated constructor stubSystem.out.println("MyOpenHelper");}@Overridepublic void onCreate(SQLiteDatabase db) {// TODO Auto-generated method stub//创建表db.execSQL("create table person(_id integer primary key autoincrement, name char(10), salary char(20), phone integer(20) )");}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stub}}
MainActivity.java
package com.example.android04;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.graphics.drawable.LayerDrawable;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;import com.example.cn.Person;public class MainActivity extends Activity {List<Person> personList;MyOpenHelper mOpenHelper;SQLiteDatabase db;MyAdapter myAdapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView lv = (ListView) findViewById(R.id.listView);personList = new ArrayList<Person>();// 创建MyOpenHelper实例mOpenHelper = new MyOpenHelper(this);// 得到数据库db = mOpenHelper.getWritableDatabase();// 插入数据Insert();// 查询数据Query();// 创建MyAdapter实例myAdapter = new MyAdapter(this);// 向listview中添加Adapterlv.setAdapter(myAdapter);}// 创建MyAdapter继承BaseAdapterclass MyAdapter extends BaseAdapter {private Context context;private LayoutInflater inflater;public MyAdapter(Context context) {this.context = context;inflater = LayoutInflater.from(context);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn personList.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// 从personList取出PersonPerson p = personList.get(position);ViewHolder viewHolder = null;if (convertView == null) {viewHolder = new ViewHolder();convertView = inflater.inflate(R.layout.listitem_layout, null);viewHolder.txt_name = (TextView) convertView.findViewById(R.id.tv_name);viewHolder.txt_phone = (TextView) convertView.findViewById(R.id.tv_phone);viewHolder.txt_salary = (TextView) convertView.findViewById(R.id.tv_salary);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}//向TextView中插入数据viewHolder.txt_name.setText(p.getName());viewHolder.txt_phone.setText(p.getPhone());viewHolder.txt_salary.setText(p.getSalary());return convertView;}}class ViewHolder {private TextView txt_name;private TextView txt_phone;private TextView txt_salary;}// 插入数据public void Insert() {for (int i = 0; i < 100; i++) {ContentValues values = new ContentValues();values.put("name", "张三" + i);values.put("salary", "123" + i + i);values.put("phone", "151" + i + i);db.insert("person", null, values);}}// 查询数据public void Query() {Cursor cursor = db.query("person", null, null, null, null, null, null);while (cursor.moveToNext()) {String _id = cursor.getString(0);String name = cursor.getString(1);String salary = cursor.getString(2);String phone = cursor.getString(3);Person person = new Person(_id, name, phone, salary);personList.add(person);}}}
0 1
- Android-使用ListView把SQLite中的数据显示至屏幕
- Android-使用ListView把SQLite中的数据显示至屏幕
- android 使用SimpleCursorAdapter将SQLite数据显示到ListView
- Android SQLite数据显示于ListView
- 使用listview绑定sqlite中的数据
- Android listView显示SQlite
- Android之怎么使用SQLite数据库(增、删、改、查、分页等)以及ListView显示数据
- Android之怎么使用SQLite数据库(增、删、改、查、分页等)以及ListView显示数据
- Android之怎么使用SQLite数据库(增、删、改、查、分页等)以及ListView显示数据
- Android整理:SQlite数据库的使用以及通过listView显示数据
- android listview scroll滑屏显示sqlite分页,类似聊天记录,listview动态添加sqlite分页数据
- Android中更改SQLite数据库中的数据后,刷新ListView。
- Android:SQLite数据绑定ListView
- <学习笔记>Android使用Loader加载sqlite数据到ListView
- Day07-Android中SQLite数据存储,ListView的基本使用
- android ListView数据显示
- Android ListView数据显示
- Android Listview数据显示
- 算法导论 10.2-6 带哨兵的双向链表合并两个不相交的集合
- startActivityForResult与startActivity
- 华为OJ(尼科彻斯定理)
- Lucas定理(C(n,m)mod p)
- Python初学教程
- Android-使用ListView把SQLite中的数据显示至屏幕
- LeetCode 题解(173): Pow(x, n)
- 异常
- iOS面试题1
- asp.net网站图表制作
- PAT 1035. Password (20)
- Android Alarm自上而下 调试浅析
- JAVAWEB电影售票
- java基础--正则表达式