`

Android学习之SQLite分页查询

阅读更多

MySQLiteDemo.java:

import android.app.Activity;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;

public class MySQLiteDemo extends Activity {
	private SQLiteOpenHelper helper = null ;						// 数据库操作
	private Button findBut = null ;									// 定义按钮
	private LinearLayout mylayout = null ;							// 定义布局管理器
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);							// 父类onCreate()
        super.setContentView(R.layout.main);						// 默认布局管理器
        this.findBut = (Button) super.findViewById(R.id.findBut) ;	// 取得组件
        System.out.println("**" + super.findViewById(R.id.mylayout).getClass()) ;
        this.mylayout = (LinearLayout) super.findViewById(R.id.mylayout) ;	// 取得组件
        this.helper = new MyDatabaseHelper(this) ;					// 定义数据库辅助类
        this.findBut.setOnClickListener(new OnClickListenerImpl()) ;	// 设置监听 
    }

	private class OnClickListenerImpl implements OnClickListener {
		@Override
		public void onClick(View view) {
			MySQLiteDemo.this.helper = new MyDatabaseHelper(MySQLiteDemo.this) ;
			ListView listView = new ListView(MySQLiteDemo.this) ;	// 定义ListView
			listView.setAdapter(new ArrayAdapter<String>(MySQLiteDemo.this, // 将数据包装
					android.R.layout.simple_list_item_1, 			// 每行显示一条数据
					new MytabCursor(MySQLiteDemo.this.helper
							.getReadableDatabase()).find())); 		// 设置显示数据
			MySQLiteDemo.this.mylayout.addView(listView) ;			// 追加组件
		}
	}

}

 

 

MytabCursor.java:

import java.util.ArrayList;
import java.util.List;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class MytabCursor {
	private static final String TABLENAME = "mytab" ;			// 数据表名称 
	private SQLiteDatabase db = null ;							// SQLiteDatabase
	public MytabCursor(SQLiteDatabase db) { 					// 构造方法
		this.db = db ;											// 接收SQLiteDatabase
	}
	public List<String> find() {								// 查询数据表
		List<String> all = new ArrayList<String>() ;			// 定义List集合
		int currentPage = 1 ;									// 当前页
		int lineSize = 5 ;										// 没页显示5条
		String keyWord = "中国" ;									// 查询关键字
		String sql = "SELECT id,name,birthday FROM " + TABLENAME
				+ " WHERE (name LIKE ? OR birthday LIKE ?)" 
				+ " LIMIT ?,? " ;								// 查询SQL
		String selectionArgs[] = new String[] { "%" + keyWord + "%",
				"%" + keyWord + "%",
				String.valueOf((currentPage - 1) * lineSize),
				String.valueOf(lineSize) }; 					// 查询参数
		Cursor result = db.rawQuery(sql, selectionArgs);		// 查询
		for (result.moveToFirst(); !result.isAfterLast(); result.moveToNext()) {
			all.add("【" + result.getInt(0) + "】" + " " + result.getString(1)
					+ "," + result.getString(2));				// 设置集合数据
		}
		this.db.close() ;										// 关闭数据库连接
		return all ;  
	}
}

 

分享到:
评论

相关推荐

    Android开发之数据库的分页查询代码

    三、Android SQLite分页查询步骤 1. **创建数据库和表** 首先,你需要创建一个SQLiteOpenHelper子类,用于管理数据库的创建和版本升级。在onCreate()方法中,编写SQL语句创建表,例如: ```java @Override public ...

    android滑动SQLite分页加载

    在Android开发中,SQLite数据库是应用中存储数据的常用方式,尤其在处理大量数据时,分页加载技术显得尤为重要。分页加载不仅可以提高用户体验,减少内存消耗,还能避免一次性加载过多数据导致应用卡顿。本篇文章将...

    android listview scroll滑屏显示sqlite分页,类似聊天记录,listview动态添加sqlite分页数据

    前言:最近做基于openfire聊天(仿QQ、微信)翻页查看聊天记录,为此做了根据时间倒序查看聊天记录,先声明这demo是根据id来倒序(原理和时间倒序一样) 文章地址:...

    Android提高之SQLite分页读取实现方法

    总之,Android的SQLite分页读取通过合理使用`LIMIT`和`OFFSET`,结合自定义的适配器和用户交互,可以有效地管理和显示大量数据。在实际项目中,还需要根据具体需求进行相应的错误处理和性能优化。

    android listview分页查询显示

    综上所述,这个"android listview分页查询显示"的Demo涵盖了Android开发中的几个核心知识点,包括ListView的使用、SQLite数据库操作、分页查询和滚动监听,以及用户体验的优化。通过学习和实践这个Demo,开发者可以...

    Android分页获取sqlite数据

    适合初学者 知识点: 1、listView分页加载 2、利用SparseArray实现ViewHolder的缓存 3、java反射机制读取sqlite查询结果 4、sqlite数据库分页读取 5、文件拷贝操作

    查询Sqlite分页显示在ListView里

    本教程将围绕“查询SQLite数据并分页显示在ListView”这一主题展开,帮助初学者理解如何实现这一功能,并提供一些高级优化建议。 首先,我们需要创建一个SQLite数据库。在Android中,这通常通过实现`...

    gridView实现SQLite分页表格

    总之,这个"gridView实现SQLite分页表格"的示例涵盖了Android开发中的多个重要知识点,包括SQLite数据库操作、自定义Adapter、GridView的使用以及分页加载策略,对提升Android开发能力非常有帮助。通过深入学习和...

    Android提高第九篇之SQLite分页表格.doc

    通过阅读和分析源码,开发者可以学习到如何创建自定义Adapter,如何结合SQLite查询数据,以及如何在GridView中实现分页和事件处理等功能。 总之,这个文档提供了一个实用的教程,帮助Android开发者提升SQLite数据...

    Android提高第九篇之SQLite分页表格

    在之前的教程中,可能只实现了简单的SQLite分页读取,即通过查询语句限制返回结果的数量,然后在UI上用文本框显示这些数据。然而,这样的方式并不直观,用户无法像在Excel或网页表格中那样浏览和操作数据。 本次...

    Android提高第八篇之SQLite分页读取.doc

    总的来说,Android的SQLite数据库提供了一种高效且灵活的方式来存储和检索数据,而分页查询则能帮助优化性能,提高用户体验。理解如何创建、查询数据库以及在界面中展示分页数据是Android开发中的关键技能。通过熟练...

    SQLite分页加载

    本文将深入探讨SQLite数据库在Android或iOS等平台上的分页加载实现。 首先,理解分页加载的基本概念至关重要。分页加载是将大数据集分成多个小部分(页)来加载,每次只加载用户当前需要的部分,而不是一次性加载...

    Android提高之SQLite分页表格实现方法

    在前一篇文章中,我们可能已经学习了如何进行基本的SQLite分页读取,即通过查询限制返回的数据量来实现。然而,为了更直观地展示数据,我们可以进一步封装一个分页表格控件。这个控件由两部分组成:表格区和分页栏。...

    21天学习android开发教程之SQLite分页读取

    本文将深入探讨如何在Android应用中使用SQLite进行分页读取数据,以提高用户体验和性能。 首先,要创建一个SQLite数据库,你需要创建一个继承自SQLiteOpenHelper的类。在这个类中,你需要重写`onCreate()`方法来...

    android sqlite操作源码(含滑动分页)

    本项目"android sqlite操作源码(含滑动分页)"旨在提供一套完整的SQLite数据库操作示例,涵盖了基本的增删改查功能,并且结合了滑动分页技术,这对于处理大量数据的Android应用来说是必不可少的。 首先,我们需要...

    android开发Sqlite学生管理系统

    本项目"android开发Sqlite学生管理系统"旨在利用SQLite数据库来实现对学生信息的有效管理,包括添加、编辑、删除和查询等基本操作。下面将详细阐述相关知识点。 1. SQLite基础知识: SQLite是一个开源的、嵌入式的...

Global site tag (gtag.js) - Google Analytics