结果:
1W 数据 658 MS
10W 数据 3482 MS
import android.app.Activity; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteStatement; import android.os.Bundle; import android.util.Log; import java.util.ArrayList; import java.util.List; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //------------- long start = System.currentTimeMillis(); List<RemoteAppInfo> l1 = new ArrayList<RemoteAppInfo>(); RemoteAppInfo r1 = new RemoteAppInfo(); r1.setParam1("ppp1"); r1.setParam2("pppp2"); l1.add(r1); for (int x =0;x<100000;x++){ l1.add(r1); } MySQLiteHelper sqlHelper = new MySQLiteHelper(this, "test.db", null, 1); insertBySql(sqlHelper,l1); long end = System.currentTimeMillis(); Log.d("mft", "插入完了, 执行时间 : " + (end - start)); } public static boolean insertBySql(SQLiteOpenHelper openHelper, List<RemoteAppInfo> list) { if (null == openHelper || null == list || list.size() <= 0) { return false; } SQLiteDatabase db = null; try { db = openHelper.getWritableDatabase(); String sql = "insert into " + "person" + "(" + "name" + ","// 包名 + "age" + ") " + "values(?,?)"; SQLiteStatement stat = db.compileStatement(sql); db.beginTransaction(); for (RemoteAppInfo remoteAppInfo : list) { stat.bindString(1, remoteAppInfo.getParam1()); stat.bindString(2, remoteAppInfo.getParam2()); long result = stat.executeInsert(); if (result < 0) { return false; } } db.setTransactionSuccessful(); } catch (Exception e) { e.printStackTrace(); return false; } finally { try { if (null != db) { db.endTransaction(); db.close(); } } catch (Exception e) { e.printStackTrace(); } } return true; } } class MySQLiteHelper extends SQLiteOpenHelper{ //调用父类构造器 public MySQLiteHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } /** * 当数据库首次创建时执行该方法,一般将创建表等初始化操作放在该方法中执行. * 重写onCreate方法,调用execSQL方法创建表 * */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS person (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)"); } //当打开数据库时传入的版本号与当前的版本号不同时会调用该方法 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } } class RemoteAppInfo { private String param1; private String param2; public String getParam1() { return param1; } public void setParam1(String param1) { this.param1 = param1; } public String getParam2() { return param2; } public void setParam2(String param2) { this.param2 = param2; } }
相关推荐
android-database-sqlcipher-4.4.0、sqlite-2.1.0
1. **易于使用**:`sqlite-android`提供了简洁的API,使得开发者能够快速地创建、读取、更新和删除数据库中的记录,无需编写大量的SQL语句。 2. **对象映射**:它自动将Java对象与数据库表进行映射,开发者只需要...
react-native-sqlite-storage SQLite3 Native Plugin for React Native for both Android (Classic and Native) and iOS Inspired by fantastic work done by Chris Brody I did not want to re-invent the wheel. ...
android-database-sqlcipher-4.4.0和sqlite-2.1.0 官网下载太慢了,还总是下不下来,终于下载下来就分享出来。 安装清参考博客:https://blog.csdn.net/zdwcmy/article/details/106990422
"android-sqlite-encrypt"正是为了解决这一问题而设计的SDK,它为Android开发者提供了一个强大的SQLite数据库加密解决方案。 "android-sqlite-encrypt"库的核心功能在于对SQLite数据库进行透明的加密,这意味着...
SQLite.Interop.dll for sqlite expert ...2.重新打开SQLite Expert,Tools --> Options --> Data --> SQLite Library中选择“SQLite.Interop.dll *****”那一项,点击 OK; 3.不好使,就重启下sqlite expert
Android-嵌入式SQLite数据库.doc
重新打开SQLite Expert,Tools --> Options --> Data --> SQLite Library中选择“SQLite.Interop.dll *****”那一项,点击 OK;3.数据库右键“Enter Encryption Key” 和 “Set Default Encryption Key” 菜单项就...
在学习的过程中遇到了配置问题是主要的,能得找bug找了大半天,但是还是坚持的心态把问题给解决了,比如需要哪几个文件,...工程属性->链接器->输入->附加依赖项->输入sqlite3.lib,然后再向工程加入头文件和源文件。
在Android开发中,SQLite是一个至关重要的组件,它是一个轻量级的、自包含的、开源的SQL数据库引擎,被广泛用于存储和管理应用程序中的结构化数据。本文将深入探讨`sqlite3`命令行工具在Android环境下的应用,尤其是...
而gwc-sqlite-plugin则是将这种缓存能力扩展到了SQLite数据库,这是一种轻量级、文件式的数据库,无需独立的服务器进程,适合于移动设备或资源有限的环境。 在提供的压缩包中,有四个重要的文件: 1. **sqlite-...
基于Linux开发环境设计的SqLite员工管理系统数据库,涉及客户端,...管理员登录->指令选项界面->增删改查员工信息->服务器->数据库 员 工: 注册->登录->指令选项界面->查询(索引条件: 姓名+员工号) ->服务器->数据库。
支持sqlite 数据块加密解密插件。解压文件,将里面的SQLite.Interop.dll拷贝到SQLiteExpert的安装目录然后启动SQLiteExpert,Tools->Options->SQLite library,选择带SQLite.Interop.dll的项即可。
SQLite 是一个轻量级的关系数据库管理系统,它可以在 Android 中使用。Android 提供了一个名为 SQLiteOpenHelper 的抽象类,用于帮助开发者创建和管理 SQLite 数据库。 要使用 SQLiteDatabase,需要继承 ...
官方版本,亲测可用
在Android平台上,SQLite是一个常用的轻量级关系型数据库,它被集成到系统中,用于存储应用程序的数据。在Android应用开发中,SQLite数据库是通过Java API进行操作的,但有时为了性能提升或者特定功能的实现,开发者...
SQLite是一个轻量级的、关系型的数据库管理系统,它被嵌入到Android系统中,为应用程序提供数据存储功能,无需额外安装服务器。本教程将深入讲解如何在Android中使用SQLite数据库进行基本的增删改查操作。 首先,...
在Android开发中,SQLite是一个非常重要的组成部分,它是一个轻量级的数据库系统,适用于移动设备。SQLite被集成到Android操作系统中,允许开发者在应用程序中存储和管理数据。本实例将详细探讨如何在Android中使用...
在Android应用开发中,SQLite是一个重要的组成部分,它是一款轻量级的数据库系统,用于存储、管理应用程序中的结构化数据。本教程聚焦于Android中SQLite编程的一个关键操作——数据的插入,这对于任何涉及到本地数据...