在Android 中调用sqlite数据库

1在Android studio 工程中gradle文件夹右击新建assets文件夹。将建好的sqlite数据库导入其中。 

2在主activity中判断app是否是第一次启动调用如下方法:

/**检查APP是否为第一次启动*/private int CheckFirstActivate(){    /*设定数据库转移状态*/    int SetSQLiteDatabase_state = 0;    /*检查APP是否为第一次启动&转移数据库*/    SharedPreferences sharedPreferences = getSharedPreferences("Activate_State", Context.MODE_PRIVATE);    Boolean User_first_activate_state = sharedPreferences.getBoolean("FIRST",true);    if(User_first_activate_state){        sharedPreferences.edit().putBoolean("FIRST",false).apply();        AppDatabase appDatabase = new AppDatabase();        SetSQLiteDatabase_state = appDatabase.SetSQLiteDatabase(getApplicationContext());        return SetSQLiteDatabase_state;    }else{        return SetSQLiteDatabase_state;    }}

----------------------

public class AppDatabase {    public int SetSQLiteDatabase(Context context){

String DB_PATH = "/data/data/com.example.administrator.search/databases/";        String DB_NAME = "testdb.db";        try{            /*检查路径是否存在,不存在就构成路径*/            File file = new File(DB_PATH);            if(!file.exists()){                file.mkdir();            }

/*以asset文件夹下的db文件作为输入流*/            InputStream inputStream = context.getAssets().open(DB_NAME);

/*生成程序根目录下的数据库放置路径*/            String outFileName = DB_PATH + DB_NAME;

/*产生输出流*/            OutputStream outputStream = new FileOutputStream(outFileName);

/*设置byte并进行转换*/            byte[] buffer = new byte[8192];            int lenhth;            while((lenhth = inputStream.read(buffer))>0){                outputStream.write(buffer,0,lenhth);            }

/*关闭IO流*/            outputStream.flush();            outputStream.close();            inputStream.close();        }catch (IOException e){            e.printStackTrace();            return 0;        }        return 1;    }

}----------------3写一个自定义工具类,用来调用数据库利用sql语句找到要获取的数据
public class GetTreeObject {    public GetTreeObject() {    }  //静态类用于调用数据库并返回TreeKePu表对象。    public static TreeKePu treeKePu(String s) {        String sql_statement = s;        String DB_PATH = "/data/data/com.example.administrator.search/databases/";        String DB_NAME = "testdb.db";        String DB_URL = DB_PATH + DB_NAME;        SQLiteDatabase sqLiteDatabase = SQLiteDatabase.openOrCreateDatabase(DB_URL, null);

Cursor cursor = sqLiteDatabase.rawQuery(sql_statement, null);        TreeKePu treeKePu = new TreeKePu();        if (cursor.moveToFirst()) {

try {                treeKePu.setTid(cursor.getInt(cursor.getColumnIndex("Tid")));                treeKePu.setTstyle(cursor.getString(cursor.getColumnIndex("Tstyle")));                treeKePu.setTtype(cursor.getString(cursor.getColumnIndex("Ttype")));                treeKePu.setTname(cursor.getString(cursor.getColumnIndex("Tname")));                treeKePu.setTMoral(cursor.getString(cursor.getColumnIndex("TMoral")));                treeKePu.setThabit(cursor.getString(cursor.getColumnIndex("Thabit")));                treeKePu.setTlooktype(cursor.getString(cursor.getColumnIndex("Tlooktype")));                treeKePu.setTdiscribe(cursor.getString(cursor.getColumnIndex("Tdiscribe")));                treeKePu.setTalias(cursor.getString(cursor.getColumnIndex("Talias")));            } catch (Exception e) {                e.printStackTrace();            }        }        cursor.close();        sqLiteDatabase.close();

return treeKePu;    }
------
public class TreeKePu {

public int getTid(){        return Tid;    }    public String getTtype(){return Ttype;}

public String getTname() {        return Tname;    }

public String getTalias() {        return Talias;    }

public String getTstyle() {        return Tstyle;    }

public String getTMoral() {        return TMoral;    }

public String getThabit() {        return Thabit;    }

public String getTlooktype() {        return Tlooktype;    }

public String getTdiscribe() {        return Tdiscribe;    }

public void setTid(int tid) {        Tid = tid;    }

public void setTdiscribe(String tdiscribe) {        Tdiscribe = tdiscribe;    }

public void setTlooktype(String tlooktype) {        Tlooktype = tlooktype;    }

public void setThabit(String thabit) {        Thabit = thabit;    }

public void setTMoral(String TMoral) {        this.TMoral = TMoral;    }

public void setTstyle(String tstyle) {        Tstyle = tstyle;    }

public void setTalias(String talias) {        Talias = talias;    }

public void setTname(String tname) {        Tname = tname;    }

public void setTtype(String ttype) {        Ttype = ttype;    }    private int Tid;    private String Ttype;    private String Tname;    private String Talias;    private String Tstyle;    private String TMoral;    private String Thabit;    private String Tlooktype;    private String Tdiscribe;    {        Ttype=" ";        Talias=" ";        TMoral=" ";    }}
时间: 2024-12-28 22:45:53

在Android 中调用sqlite数据库的相关文章

Android中使用Sqlite数据库 (一) 建表

一.实现一个类,继承SQLiteOpenHelper类,并实现构造函数,onCreate()  onUpgrade() import android.content.Context; import android.database.DatabaseErrorHandler; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; impo

在android中使用SQLite数据库

SQLite数据库以其轻量.体积小等特点,使其在开发中运用的非常广泛,在前面的博客中我也介绍过在Cocos2d-x中使用SQLite数据库,这篇博客是介绍在Android中使用SQLite数据库,Android中直接集成了SQLite数据库,使用起来非常方便,不需要向Cocos2d-x中那样添加外部文件 我将使用SQLite数据库实现一个下图所示的效果,打开app后会弹出下图所示的界面 单击createDatabase按钮后,在logcat中可以看到打印了一条提示信息,表示数据库创建成功,当再次

详解Android中的SQLite数据库存储

前言 在Android中存储数据的方式有很多种,其中使用SQLite数据库是存储结构化数据的最佳选择.幸运的是,Android中默认提供了对SQLite的支持,这就使得在Android中使用SQLite数据库变得格外方便. 支持的数据类型 SQLite是一款轻量级的数据库,其支持的数据类型也很简单,主要有以下几种: text:字符类型 real:浮点类型 integer:整数类型 blob:二进制数据类型 创建数据库 SQLite数据库的使用始于SQLiteOpenHelper这个抽象类.我们需

Android中使用Sqlite数据库 (二) 增删改查

定义接口 package com.example.android_db.service; import java.util.List; import java.util.Map; public interface PersonService { public boolean addPerson(Object[] params); public boolean deletePerson(Object[] params); public boolean updatePerson(Object[] p

android中有关SQLite数据库的特性和概念加使用方法详解!

2. 数据库的操作流程 [使用条件] 准备数据库系统(MySQL) --> 创建数据库(DATABASE) --> 创建/设计数据表(TABLE) --> 数据操作 [数据操作] 连接数据库(Connection) --> 准备SQL语句(String sql) --> 执行SQL语句(Statement/PreparedStatement) --> 处理结果(int/ResultSet) 3. 使用SQLite 1) 创建数据库 openOrCreateDatabas

Android性能优化-SQLite数据库

本系列博文我想围绕在Android中的一些优化细节和大家进行分享.Android中的优化可谓又是一重任,Android不足以像PC端具有很高的内存执行空间给我们用来重量级使用开销.有限的内存资源限制了我们的扩展方向.所以,在Android中的内存优化以及性能优化成为了一个攻城狮不可忽略的重点所在.本系列博文关于性能优化我会分为一下4个模块来和大家分享: (1)Android性能优化 一 SQLite数据库 (2)Android性能优化 一 布局优化 (3)Android性能优化 一 数据优化 (

在 Android 应用程序中使用 SQLite 数据库以及怎么用

part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开源的,不论什么人都能够使用它.很多开源项目((Mozilla, PHP, Python)都使用了 SQLite. SQLite 由下面几个组件组成:SQL 编译器.内核.后端以及附件.SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE).使调试.改动和扩展 SQLite 的内核变得更加方便. 图

在Android中利用SQLite实现对数据的增删查改

停更了一天,I'm back again~~当我们需要操作大量的数据时,我们首先想到的当然是数据库,因为可以通过简单的语句实现数据的增删改查,在Android中,我们不使用SQL或者ORACLE,我们使用SQLite,因为它占用资源更少,而语句格式与SQL语句一样. 首先,我们来在Android中实现数据库的创建与增删改查,引用数据库的类时,不再继承常用的Activity类,而是继承Android中的SQLiteOpenHelper,创建一个构造方法,四个参数分别是(Context contex

Android开发之SQLite数据库详解

Android开发之SQLite数据库详解 请尊重他人的劳动成果,转载请注明出处:Android开发之SQLite数据库详解 http://blog.csdn.net/fengyuzhengfan/article/details/40194393 Android系统集成了一个轻量级的数据库:SQLite, SQLite并不想成为像Oracle.MySQL那样的专业数据库.SQLite只是一个嵌入式的数据库引擎,专门适用于资源有限的设备上(如手机.PDA等)适量数据存取. 虽然SQLite支持绝大