学习Android有几天了,今天研究了下SQLite的简单操作,现在分享给奋斗在一线的苦逼程序员们,共勉吧。
Android系统提供了一个SQLiteOpenHelper的一个辅助类,使用此类可以完成对数据库的创建及更新,写了一个简单的类,代码如下:
package com.van.sqlite.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DBOpenHelper extends SQLiteOpenHelper{ /**数据库名称*/ private static final String DATABASE_NAME="MyAppDB"; /**数据库版本*/ private static final int DATABASE_VERSION=1; /** 创建数据表语句*/ private static final String DDL_CREATE_TABLE_APPINFO="CREATE TABLE IF NOT EXISTS AppInfo (appId integer primary key autoincrement,appName text,appDescription text, remark text)"; /** * 实例化数据库连接. * @param context */ public DBOpenHelper(Context context){ super(context, DATABASE_NAME, null, DATABASE_VERSION); /**初始化数据表*/ this.getWritableDatabase().execSQL(DDL_CREATE_TABLE_APPINFO); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } }
布局文件: main.xml,只添加了一个ListView用于显示数据
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ListView android:id="@+id/listView_appList" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout>
数据列表的项实现:list_item.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" > <TextView android:id="@+id/textView_appName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/textView_appDescription" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout>
SQLiteDemoActivity 代码:
package com.van.sqlite; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.widget.ListView; import android.widget.SimpleAdapter; import com.van.sqlite.db.DBOpenHelper; public class SQLiteDemoActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //initData(); //这个方法只是用来临时加载一下数据以备显示 ListView listView=(ListView)findViewById(R.id.listView_appList); //获取查询结果 ArrayList<HashMap<String, Object>> listData=fillList(); //获取适配器 SimpleAdapter adapter=fillAdapter(listData); //添加并且显示 listView.setAdapter(adapter); } /** * 插入数据操作 */ public void initData(){ DBOpenHelper helper=new DBOpenHelper(this); ContentValues values=new ContentValues(); values.put("appName", "手机QQ2212"); values.put("appDescription", "手机QQ2012是腾讯公司基于移动终端开发的一款应用软件。"); values.put("remark", "手机QQ2012是腾讯公司基于移动终端开发的一款应用软件。"); helper.getWritableDatabase().insert("AppInfo", null, values); } /** * 查询AppInfo返回Map集合 * @return */ public ArrayList<HashMap<String, Object>> fillList(){ //生成动态数组,并且转载数据 ArrayList<HashMap<String, Object>> dataList = new ArrayList<HashMap<String, Object>>(); DBOpenHelper helper=new DBOpenHelper(this); SQLiteDatabase db=helper.getReadableDatabase(); try{ Cursor cursor=db.rawQuery("SELECT * FROM AppInfo", null); cursor.moveToFirst(); if(cursor.moveToFirst()) { Integer appId = cursor.getInt(cursor.getColumnIndex("appId")); String appName = cursor.getString(cursor.getColumnIndex("appName")); String appDescription = cursor.getString(cursor.getColumnIndex("appDescription")); HashMap<String, Object> map = new HashMap<String, Object>(); map.put("appId",appId); map.put("appName", appName); map.put("appDescription", appDescription); dataList.add(map); } }catch(Exception ex){ ex.printStackTrace(); }finally{ if(db.isOpen()){ db.close(); } } return dataList; } /** * 填充数据,取得数据适配器. * @param listData * @return */ public SimpleAdapter fillAdapter(ArrayList<HashMap<String, Object>> listData){ //生成适配器,数组===》ListItem SimpleAdapter adapter = new SimpleAdapter(this, listData,//数据来源 R.layout.list_item,//ListItem的XML实现 //动态数组与ListItem对应的子项 new String[] {"appName", "appDescription"}, //ListItem的XML文件里面的两个TextView ID new int[] {R.id.textView_appName,R.id.textView_appDescription}); return adapter; } }
运行结果如下:
把工程目录结构也贴上:
相关推荐
Android Stdio开发的一个应用,运用Sqlite数据库和listview实现在前端进行对Sqlite的增删改查,数据库中的数据显示在Listview上,在Editetext上输入关键字会查询带有关键字的数据,点击Listview的每一行都可以对该行...
其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些数据),然后引入ListView控件,最后将数据和ListView绑定就好了。 一 获取SQLite数据库中的数据 SQLite是一个轻量级的数据库...
一个android读取sqlite数据库的数据并用listview显示demo,如有问题及时提醒。
Android基础 SQLite和ListView
Android SQLite ListView Demo 1.SQLite数据库的使用 2.ListView显示数据库数据 3.SQLite操作
本文主要参考博客完成,通过SQLite对Android数据库进行简单的操作,包括创建数据库、建表、更新数据、删除数据、插入数据,并通过适配器显示在ListView中。基础免费资源,仅供大家学习。希望对大家有所帮助,是...
平时练习时做的demo,sqlite的增删改,sharedPrefences用法,listView中组件事件的用法,初学者必看,感觉不错的下完记得顶个.
编写SQLite工具类,创建SQLite数据库,并添加数据;查询数据,展示到listview
主要介绍了android使用listview显示sqlite数据的方法,需要的朋友可以参考下
Android 绿豆通讯录( SQLite数据库 + ListView数据展示控件 ) https://blog.csdn.net/weixin_44949135/article/details/106029404 采用 SQLite数据库 + ListView数据展示控件,可将用户添加的所有信息,分条...
Android管理信息系统: 包括SQLite 数据库的增删改查,ListView的刷新,弹出对话框提示操作 ListView列表的优化 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间...
这是一个android listview分页查询显示的demo,使用sqlite数据库,然后每次显示10条,上拉加载更多数据,studio项目
Android+SQlite 简单的《学生信息管理系统》(实现基本增删改查) 此代码中还有与其相对应的apk文件(在SIMS/bin目录中),大家可先行放手机上看一下效果。 希望对初学者有一定的帮助。(本人自己编写)
主要介绍了Android SQLite事务处理结合Listview列表显示功能,较为详细的分析了Android使用sqlite数据库进行事务操作并结合Listview进行列表显示的相关操作技巧,需要的朋友可以参考下
ListView显示SQLite数据,EditText对数据检索。(全国城市名的显示和搜索) mData绑定Adapter用 QuName、ShiName、ShengName是将数据库里对应字段信息(省、市、区)按字符串输出 方便后头EditText里查找
Android中ListView,SQLite,BaseAdapter的结合源码
利用SQLite数据库 + ListView开发技术,实现了一个简易的通讯录系统,其功能模块包括通讯录信息的增加、删除、修改、查询等。
本文实例讲述了Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法。分享给大家供大家参考,具体如下: 由于刚接触android开发,故此想把学到的基础知识记录一下,以备查询,故此写的比较...
Android为了操作SQlite数据库,提供了SQLiteDatabase类,其内封装了insert 、delete、update 、query 、执行SQL命令等操作。同时又为SQLiteDatabase提供了一个辅助类,SQLiteOpenHelper。它提供了两个重要的方法,...