有没有办法让Android用户在他/她的手机上浏览SQLite数据库并查看数据库中的数据?
我经常使用SoftTrace beta程序.它很棒,但我无法找到将其跟踪的数据下载到PC.
我正在尝试将我的第一个应用程序部署到Heroku.我正在使用SQLite作为数据库.据我所知,Heroku不使用SQLite - 它在后端切换到Postgres.
当我正在部署时,我收到以下错误:
/usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/runtime.rb:64:in`requirement':没有要加载的文件--sqlite3(LoadError)
我Gemfile(这是我假设导致此问题)如下所示:
source 'http://rubygems.org'
gem 'rails', '3.0.0'
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我应该在哪里调用代码上的close()?
LogCat返回此错误:
从未在数据库android.database.sqlite.DatabaseObjectNotClosedException上显式调用close():应用程序未关闭此处打开的游标或数据库对象
错误是这样的:
> 12-16 17:24:50.886: ERROR/Database(10982): close() was never explicitly called on database '/data/data/com.psyhclo/databases/calls.db'
12-16 17:24:50.886: ERROR/Database(10982): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
12-16 17:24:50.886: ERROR/Database(10982): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1827)
12-16 17:24:50.886: ERROR/Database(10982): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:820)
12-16 17:24:50.886: ERROR/Database(10982): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:854)
12-16 17:24:50.886: ERROR/Database(10982): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:847)
12-16 17:24:50.886: ERROR/Database(10982): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:541)
12-16 17:24:50.886: ERROR/Database(10982): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
12-16 17:24:50.886: ERROR/Database(10982): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118)
12-16 17:24:50.886: ERROR/Database(10982): at com.psyhclo.CallDataHelper.<init>(CallDataHelper.java:27)
12-16 17:24:50.886: ERROR/Database(10982): at com.psyhclo.RatedCalls.fillList(RatedCalls.java:66)
12-16 17:24:50.886: …Run Code Online (Sandbox Code Playgroud) 我很难找到在Android设备上加密我的sqlite数据库的可能性,但我找不到令人满意的解决方案.
我需要像libary这样的东西来引用,以便在使用正常的sqlite函数时对我的数据库进行"动态"加密/解密.
我不希望在存储之前加密数据.
我不想加密整个数据库文件,以便在使用之前解密它.
我知道以下项目:
但我找不到任何有关此事的实例.
顺便说一句,我绝对愿意购买商业版本,但我必须在花费几百美元之前测试它.
有没有人为他自己解决这个问题?
编辑:问题由commonsWare解决,如果您按照他的链接:
SQLCypher端口到Android
您将能够下载必要的文件,并且必须将它们添加到您的项目.这可能如下所示:

将单个SQLiteOpenHelper实例作为子类应用程序的成员,并且所有需要SQLiteDatabase实例的活动从一个帮助程序获取它是否可以?
我正在开发应用程序node.js.在那我愿意SQLite用作嵌入式数据库.我在网上搜索了SQLitenpm模块.我找到了各种模块:
从文档和其他来源,我明白(1)同步操作,而(2)和(3)异步工作.所以,我放弃了使用计划(1).
现在,我想知道(2)和(3)之间有什么区别,哪一个应该是首选?我google了很多,但找不到多少帮助.
我已经开始使用Visual Studio的Xamarin插件来创建一个Android应用程序.
我有一个本地SQL数据库,我想调用它来显示数据.我不明白我怎么做到这一点.可能吗?
我有一个类别表:
ID Category
"1","Baking"
"3","Family"
"4","Entertaining"
"5","Children"
"6","Desserts"
Run Code Online (Sandbox Code Playgroud)
现在我想订购select语句的结果
ID Category
"4","Entertaining"
"3","Family"
"1","Baking"
"5","Children"
"6","Desserts"
Run Code Online (Sandbox Code Playgroud)
例如.在MySQL中,你会这样做:
SELECT * FROM CATEGORIES ORDER BY FIELD (ID, 4,3,1,5,6);
Run Code Online (Sandbox Code Playgroud)
你会怎么在SQLite中做到这一点?我没有"order by"字段.
我有2个表,喜欢用另一个表中的值更新其中一个表.
software
---------
id ,
purchprice
softwarecost
------------
id ,
purchprice
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这些查询,但是,SQLite不支持JOIN和UPDATE.anybody,可以为此提出查询.谢谢你的帮助.
UPDATE software
SET software.purchprice=softwarecost.purchprice
WHERE software.id=softwarecost.id
UPDATE software
INNER JOIN softwarecost on software.id=softwarecost.id
SET software.purchprice=softwarecost.purchprice
Run Code Online (Sandbox Code Playgroud) No Such table当我使用Sugar ORM和GPU图像Android库时,我得到了例外.我正在使用Gradle和Android Studio.一旦我删除GPU图像这个问题就解决了.所以我不知道什么导致这个例外.关于这个例外的细节也在这个git问题中讨论,
似乎很多人仍然面临着这个问题.
我的崩溃日志发布在下面
> 10-09 11:30:21.511 4326-4831/com.example.app E/SQLiteLog: (10) Failed
> to do file read, got: 0, amt: 100, last Errno: 2 10-09 11:30:26.506
> 4326-4831/com.example.app E/SQLiteLog: (1) no such table: IMAGE 10-09
> 11:30:26.516 4326-4831/com.example.app E/AndroidRuntime: FATAL
> EXCEPTION: AsyncTask #1 10-09 11:30:26.516 4326-4831/com.example.app
> E/AndroidRuntime: java.lang.RuntimeException: An error occured while
> executing doInBackground() 10-09 11:30:26.516
> 4326-4831/com.example.app E/AndroidRuntime: at
> android.os.AsyncTask$3.done(AsyncTask.java:299) 10-09 11:30:26.516
> 4326-4831/com.example.app E/AndroidRuntime: at …Run Code Online (Sandbox Code Playgroud) sqlite ×10
android ×6
database ×1
deployment ×1
encryption ×1
gpuimage ×1
heroku ×1
java ×1
mysql ×1
node.js ×1
sql ×1
sql-order-by ×1
sugarorm ×1
xamarin ×1