当前位置:首页 » 安卓系统 » android生成库

android生成库

发布时间: 2023-12-01 07:36:53

① 如何在android自带的sqlite3中创建一个数据库文件,请大虾门详细指导

Android中提供4种数据存储的方法:(1)SharedPreferences,用键值对的方式来存储数据,是一种轻量级的存储机制,可以存储一些属性等。(2)Files:文件输入输出流的方式存储数据,FileInputStream和FileOutputStream。在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。写入SD卡除外。(3)SQLite(4)网络(这个不算吧~~~--!)。
SQLite:
(1)创建和打开数据库可以使用方法openOrCreateDatabase,它会自动去检测是否存在数据库,如果存在则打开,如果不存在则创建一个数据库;成功返回一个SQliteDatabase对象。(2)创建一张表通过SQL语句实现,调用sqliteDatabase对象的execSQL方法,执行创建表的SQL语句。
(3)向数据表中添加一条记录可以直接通过SQL语句实现,也可以使用ContentValue对象,ContentValue对象是一个Map,Key是字段名,Value是值。Cv.put(key,value);然后调用sqliteDatabase对象的
insert(tableName,null,cv)方法插入数据。
(4)删除数据可以直接执行SQL,也可以执行sqliteDatabase的delete方法。
(5)同理修改数据也是执行SQL或调用update方法,需要传入ContenValue的对象表示修改的内容。
(6)关闭数据库sqliteDatabase.close();
(7)删除指定表调用SQL语句即可。
(8)查询:在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor对象指向的是每条数据。例如cur.moveToFirst();cur.moveToNext();等。在实际开发中,为了能够更好地管理和维护数据库,我们会封装一个继承自SQLiteOpenHelper类的数据库操作类。SQLiteOpenHelper的构造方法中分别需要传入Context、数据库名称、CursorFactory(一般默认null)、数据库版本号。在SQLiteOpenHelper中首先执行的是onCreate方法(当数据库第一次被创建时)。在构造函数中并没有真正创建数据库,而是调用getWriteableDatabase或者getReadableDatabase方法时才真正去创建数据库,并且返回一个SQLiteDatabase对象。

② 安卓端TOTP动态密码生成库

TOTP(Time-base One-Time Password)译为基于时间的一次性密码,也称时间同步的动态密码。应用范围:对安全性要求比较高的场合,可以进行密码的二次认证,例如:游戏,银行等业务。
该库的加密工具类主要参考google-authenticator 加密原理:使用HMAC算法,利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。 这里的密钥参数:base32生成,消息参数:时间戳(秒单位)/时间间隔(TimeStep) (tips: 例如 TimeStep=30 30内生成密码一样,就是误差30s)
效果图

TOTP的要求

使用方法

③ 如何在Android Studio中导入JNI生成的.so库

(1)老版本,方法如下:
task NativeLibs(type: Copy) {
from(new File(project(':MyProject').buildDir, 'native-libs')) { include '**/*.so' }
into new File(buildDir, 'native-libs')
}

tasks.withType(Compile) { compileTask -> compileTask.dependsOn NativeLibs }

clean.dependsOn 'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.PackageApplicationTask) { pkgTask ->
pkgTask.jniDir new File(buildDir, 'native-libs')
}

(2)新版本三种方法:
(2.1)打包前先生成.Jar文件后自动解包到apk文件

task nativeLibsToJar(type: Zip, description: 'create a jar archive of the native libs') {
destinationDir file("$buildDir/native-libs")
baseName 'native-libs'
extension 'jar'
from fileTree(dir: 'libs', include: '**/*.so')
into 'lib/'
}

tasks.withType(Compile) {
compileTask -> compileTask.dependsOn(nativeLibsToJar)
}

下面一句话就是打包生成目录(build\native-libs)中的.jar文件

compile fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')

(2.2)手动生成.Jar文件后自动解包到apk文件

这个方式需要自己手动进行.SO文件压缩,具体步骤为:将所有需要使用的.so文件压缩为.zip文件(zip中的文件目录结构为: lib/armeabi/*.so)然后把zip文件后缀改为.Jar然后放到libs生成apk就ok

④ android创建数据库的途径有哪些

创建数据库的方法有两种,使用向导创建数据库,使用菜单创建数据库和创建空数据库;使用向导创建数据库是一种简单便捷的方法。

在物理上,数据库的建设要遵循实际情况。即在逻辑上建立一个整体的空间数据车、框架统一设计的同时,各级比例尺和不同数据源的数据分别建成子库,由开发的平台管理软件来统一协调与调度。

热点内容
java的对象池 发布:2025-08-29 10:02:22 浏览:496
中国标准数据库 发布:2025-08-29 09:52:57 浏览:999
QTH编译 发布:2025-08-29 09:26:44 浏览:155
枪林弹雨王者的密码是多少 发布:2025-08-29 09:02:31 浏览:348
linux打包命令 发布:2025-08-29 08:49:48 浏览:558
安卓qq曜在哪个战区市标战力最低 发布:2025-08-29 08:48:31 浏览:831
如何删掉手机图案密码 发布:2025-08-29 08:48:31 浏览:900
什么格式的文件好压缩包 发布:2025-08-29 08:34:11 浏览:9
安卓手机怎么拍出卡通人像视频 发布:2025-08-29 08:02:35 浏览:787
apacheip无法访问 发布:2025-08-29 07:58:06 浏览:837