1,有没有能下载Android上运行的数据库管理工具类似Navicat那样在NavicatTM是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本 。它的设计符合资料库管理员、开发人员及中小企业的需求 。Navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯 。没有
2,有没有一款安卓系统手机上用上用的本地数据库管理软件类似软件的DB数据库吗??若是就用大名鼎鼎的RE管理器出品的SQLite Editor请你去查一下“金软office”看是不是你想要的,“办公套件”也行 。Android使用开源的、与操作系统无关的SQL数据库—SQLite你好!软件的DB数据库吗??若是就用大名鼎鼎的RE管理器出品的SQLite Editor如果对你有帮助,望采纳 。
3,请教有没有安卓手机能用的ORACLE数据库软件建用户和授权要用DBA最简单得建用户:create user 用户名 identified by 密码用户解锁 alter user 用户名 account unlock(不解锁无法登陆)授权用 grant建完用户首先要授权登陆权限grant create session to 用户名授权可以授权给角色和用户也可以把角色授权给角色和用户其他得类似 创建表得权限类似如下格式:grant create table to 用户不推荐安卓+oracle.oracle是大型数据库,设计稍微复杂,你是学校项目,还是选择sqlserver,或者mysql.看你是用的什么服务端语言了,你是安卓的客户端,那服务器是撒呢?java还是其他的,如果是java还是选sql server吧 , 创意是体现在软件上的,不是体现在数据库的选择 。【数据库管理工具安卓版,有没有能下载Android上运行的数据库管理工具类似Navicat那样在】
4,androiddatabasesqliteSQLiteException duplicate column name id应为在你建表的时候,你用了两个一样的字段 一个id 一个Id 数据库不区分大小写的mysql workbench是一款专为mysql设计的er/数据库建模工具 。它是著名的数据库设计工具dbdesigner4的继任者 。你可以用mysql workbench设计和创建新的数据库图示 , 建立数据库文档,以及进行复杂的mysql 迁移mysql workbench是下一代的可视化数据库设计、管理的工具,它同时有开源和商业化的两个版本 。该软件支持windows和linux系统 , 下面是一些该软件运行的界面截图:2、数据库管理工具 navicat litenavicattm是一套快速、可靠并价格相宜的资料库管理工具,大可使用来简化资料库的管理及降低系统管理成本 。它的设计符合资料库管理员、开发人员及中小企业的需求 。navicat是以直觉化的使用者图形介面所而建的,让你可以以安全且简单的方式建立、组织、存取并共用资讯 。界面如下图所示:navicat 提供商业版navicat premium 和免费的版本 navicat lite。免费版本的功能已经足够强大了 。navicat 支持的数据库包括mysql、oracle、sqlite、postgresql和sql server 等 。3、开源etl工具kettlekettle是一款国外开源的etl工具,纯java编写,绿色无需安装 , 数据抽取高效稳定(数据迁移工具) 。kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制 。5,android 怎么使用sqlcipherAndroid系统内置了SQLite数据库,并且提供了一整套的API用于对数据库进行增删改查操作 。数据库存储是我们经常会使用到的一种存储方式,相信大多数朋友对它的使用方法都已经比较熟悉了吧 。在Android中,我们既可以使用原生的SQL语句来对数据进行操作,也可以使用Android API提供的CRUD方法来对数据库进行操作,两种方式各有特点,选择使用哪一种就全凭个人喜好了 。不过,使用SQLite来存储数据却存在着一个问题 。因为大多数的Android手机都是Root过的 , 而Root过的手机都可以进入到/data/data//databases目录下面 , 在这里就可以查看到数据库中存储的所有数据 。如果是一般的数据还好,但是当涉及到一些账号密码,或者聊天内容的时候,我们的程序就会面临严重的安全漏洞隐患 。那么今天,就让我们一起研究一下如何借助SQLCipher来解决这个安全性问题 。SQLCipher是一个在SQLite基础之上进行扩展的开源数据库 , 它主要是在SQLite的基础之上增加了数据加密功能,如果我们在项目中使用它来存储数据的话,就可以大大提高程序的安全性 。SQLCipher支持很多种不同的平台,这里我们要学习的自然是Android中SQLCipher的用法了 。首先要把Android项目所依赖的SQLCipher工具包下载下来:接着解压这个工具包,会看到里面有assets和libs这两个目录 , 稍后需要将这两个目录中的内容添加到Android项目当中 。那么现在我们就来新建一个Android项目,项目名就叫SQLCipherTest 。观察SQLCipherTest的项目结构,发现里面也分别有一个assets目录和一个libs目录 , 那么现在就可以把SQLCipher工具包中这两个目录里的内容复制过来 。并不需要复制全部文件,选择必要的文件进行复制就可以到这里准备工作就全部完成了 , 接下来我们开始编写代码 。首先创建一个MyDatabaseHelper继承自SQLiteOpenHelper,注意这里使用的并不是Android API中的SQLiteOpenHelper,而是net.sqlcipher.database包下的SQLiteOpenHelper,代码如下所示: [java] view plaincopy import android.content.Context; import net.sqlcipher.database.SQLiteDatabase; import net.sqlcipher.database.SQLiteDatabase.CursorFactory; import net.sqlcipher.database.SQLiteOpenHelper; public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_TABLE = "create table Book(name text, pages integer)"; public MyDatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int arg1, int arg2) { } }除了引入的包不一样了,其它的用法和传统的SQLiteOpenHelper都是完全相同的 。可以看到,我们在onCreate()方法中创建了一张Book表,Book表里有name和pages这两个列 。接着 , 打开或新建activity_main.xml作为程序的主布局文件 , 代码如下所示: [html] view plaincopy android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > android:id="@+id/add_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="添加数据" /> android:id="@+id/query_data" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="查询数据" />这里只是简单地放置了两个按钮,分别用于添加和查询数据 。接下来打开或新建MainActivity作为程序主Activity,代码如下所示: [java] view plaincopy public class MainActivity extends Activity { private SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SQLiteDatabase.loadLibs(this); MyDatabaseHelper dbHelper = new MyDatabaseHelper(this, "demo.db", null, 1); db = dbHelper.getWritableDatabase("secret_key"); Button addData = http://www.lisdn.com/gkrj/shjy/(Button) findViewById(R.id.add_data); Button queryData = (Button) findViewById(R.id.query_data); addData.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ContentValues values = new ContentValues(); values.put("name", "达芬奇密码"); values.put("pages", 566); db.insert("Book", null, values); } }); queryData.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Cursor cursor = db.query("Book", null, null, null, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex("name")); int pages = cursor.getInt(cursor.getColumnIndex("pages")); Log.d("TAG", "book name is " + name); Log.d("TAG", "book pages is " + pages); } } cursor.close(); } }); } }可以看到,在onCreate()方法中首先调用了SQLiteDatabase的loadLibs()静态方法将SQLCipher所依赖的so库加载进来,注意这里使用的是net.sqlcipher.database包下的SQLiteDatabase 。然后我们创建了MyDatabaseHelper的实例 , 并调用getWritableDatabase()方法去获取SQLiteDatabase对象 。这里在调用getWritableDatabase()方法的时候传入了一个字符串参数,它就是SQLCipher所依赖的key,在对数据库进行加解密的时候SQLCipher都将使用这里指定的key 。在添加数据按钮的点击事件里面 , 我们通过ContentValues构建了一条数据,然后调用SQLiteDatabase的insert()方法将这条数据插入到Book表中 。在查询数据按钮的点击事件里面,我们调用SQLiteDatabase的query()方法来查询Book表中的数据,查询到的结果会存放在Cursor对象中,注意这里使用的是net.sqlcipher包下的Cursor 。然后对Cursor对象进行遍历,并将查询到的结果打印出来 。现在运行一下程序,先点击添加数据按钮 , 再点击查询数据按钮,刚刚添加的那条数据就应该在控制台里打印出来了 。有没有感觉到使用SQLCipher提供的API和使用Android原生的数据库API,操作起来几乎是一模一样的 。没错 , SQLCipher对Android SDK中所有与数据库相关的API都制作了一份镜像,使得开发者可以像操作普遍的数据库文件一样来操作SQLCipher,而所有的数据加解密操作 , SQLCipher都在背后帮我们处理好了 。
推荐阅读
- 手机编译器用什么好,50分求安卓编译系统软件的工具手机端的
- 2022年苹果平板最新款,谁知道QQ咋申诉呢 我的手机也丢了 密保也忘了咋能申诉回来栈乐涨
- iPhone锁屏地图,如何让高德地图出现在iphone6s的锁定屏幕上
- 仅剩两个国家不能用google,为什么在国外上不了google
- 自己做一个入库出库系统,如何用excel制作一个简易的库存管理系统
- 零基础计算机培训班成人的,成人计算机在哪学初中文凭
- 怎么关闭苹果震动提醒,iphone接通震动怎么去除啊
- c语言求m n之间的素数之和,C语言求素数和
- 程序员写代码图片,如何和美工合作将HTML转为aspnet页面