Android之SQLite+搜索框+模糊查询

本文介绍了在Android中如何使用SQLite数据库结合搜索框实现模糊查询功能,包括数据库的创建、历史记录辅助类的设计、兼容ScrollView的类以及Activity的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://www.jianshu.com/p/11f9f49bf26b
1、首先创建数据库,具体代码如下:(注意:这里创建的数据库,功能块较多,嫌多的可手动删除,不妨碍模糊查询)

package com.example.wos;


import android.content.*;
import android.database.*;
import android.database.sqlite.*;
import android.widget.BaseAdapter;


public class DBAdapterA {
   
    private static final String DB_NAME = "wos.db";
    private static final String DB_TABLE = "administrator";
    private static final int DB_VERSION = 102;

    public static final String KEY_ID = "_id";
    public static final String KEY_PHONE = "phone";
    public static final String KEY_RESTAURANT= "restaurant";
    public static final String KEY_PASSWORD = "password";

    private SQLiteDatabase db;
    private final Context context;
    private DBOpenHelper dbOpenHelper;
    private BaseAdapter adapter;

    /** 静态Helper类,用于建立、更新和打开数据库*/
    private static class DBOpenHelper extends SQLiteOpenHelper {
   

        public DBOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
   
            super(context, name, factory, version);
        }

        private static final String DB_CREATE = "create table " +
                DB_TABLE + " (" + KEY_ID + " integer primary key autoincrement, " +
                KEY_PHONE+ " text not null, "+KEY_RESTAURANT+ " text not null, "  + KEY_PASSWORD+ " integer);";

        @Override
        public void onCreate(SQLiteDatabase _db) {
   
            _db.execSQL(DB_CREATE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) {
   
            _db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);
            onCreate(_db);
        }

    }

    public DBAdapterA(Context _context) {
   
        context = _context;
    }

    /** Close the database */
    public void close() {
   
        if (db != null){
   
            db.close();
            db = null;
        }
    }

    /** Open the database */
    public void open() throws SQLiteException {
   
        dbOpenHelper = new DBOpenHelper(context, DB_NAME, null, DB_VERSION);
        try {
   
            db = dbOpenHelper.getWritableDatabase();
        }
        catch (SQLiteException ex) {
   
            db = dbOpenHelper.getReadableDatabase();
        }
    }

    public long insert(Administrator administrator) {
   
        ContentValues newValues = new ContentValues();

        newValues.put(KEY_PHONE, administrator.Phone);
        newValues.put(KEY_PASSWORD, administrator.Password);
        newValues.put(KEY_RESTAURANT, administrator.Restaurant);

        return db.insert(DB_TABLE, null, newValues);
    }

    public Administrator[] queryAllData() {
   
        Cursor results =  db.query(DB_TABLE, new String[] {
    KEY_ID, KEY_PHONE, KEY_RESTAURANT,KEY_PASSWORD},
                null, null, null, null, null);
        return ConvertToAdministrator(results);
    }

    Cursor queryData(String tempName) {
   
        Cursor cursor = dbOpenHelper.getReadableDatabase().rawQuery(
                "select _id,restaurant from administrator where restaurant like '%" + tempName + "%' order by _id desc ", null);
        return cursor;
    }

    public Administrator[] queryOneData(long id) {
   
        Cursor results =  db.query(DB_TABLE, new String[] {
    KEY_ID, KEY_PHONE,KEY_RESTAURANT, KEY_PASSWORD},
                KEY_ID + "=" + id, null, null, null, null);
        return ConvertToAdministrator(results)</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值