Android Question Solved:Encryption Initialization Creation

Shelby

Well-Known Member
Licensed User
Longtime User
My problem is that my project will no longer compile now that I have attempted to use SQLCipher invented by Zetetic.net.

On a tutorial by Erel,(https://www.b4x.com/android/forum/t...ryption-with-sqlcipher-library.14965/#content), Erel tells me to use the following line to initialize the SQLCipher method.

SQL1.Initialize(File.DirRootExternal, "1.db", True, DB_PASSWORD, ""):

Unfortunately, the IDE slips me the note; Undeclared variable 'SQL1' is used before it was assigned any value.

In actuality I don't have a variable SQL1 anyway, so how shall I change the wording to make it work for my project. I'll attach a screenshot of when the compilation goes haywire.... Whoops, the image was too large. Here's the wetransfer.com link:
https://we.tl/t-vXVH78nqBw

Of course my project is an SQLite one. It has 712 records
 
Solution
Your Additional Libraries path is this (see red border)
微信图片_20240630020631.png

but you put android-database-sqlcipher-4.5.4.aar into project folder not Additional folder
微信图片_20240630020722.png

You should put the android-database-sqlcipher-4.5.4.aar into folder C:\Users\HP\Desktop\Projects\Additional Libraries\B4A

微信图片_20240630021452.png

Shelby

Well-Known Member
Licensed User
Longtime User
On compiling, I'm getting the following error message in part:
B4X:
    Logger connected to:  samsung SM-S911U
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
 
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
On compiling, I'm getting the following error message in part:
B4X:
    Logger connected to:  samsung SM-S911U
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
All those java references are beyond my understanding. I successfully entered my sqlcipher password when checking the working of the db browser, but after the seemingly successful compilation while communicating with my S23 Samsung, the above large error report is written in my logs in the IDE.
Hopefully some clarity can be given to me by someone here in the forum.
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
All those java references are beyond my understanding. I successfully entered my sqlcipher password when checking the working of the db browser, but after the seemingly successful compilation while communicating with my S23 Samsung, the above large error report is written in my logs in the IDE.
Hopefully some clarity can be given to me by someone here in the forum.
It's better if you can provide code and the database sample.
 
Upvote 0

teddybear

Well-Known Member
Licensed User
On compiling, I'm getting the following error message in part:
B4X:
    Logger connected to:  samsung SM-S911U
--------- beginning of main
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create (first time) **
b4xmainpage_initialize (java line: 492)
android.database.sqlite.SQLiteException: error code 14: Could not open database
    at net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.openDatabaseInternal(SQLiteDatabase.java:2600)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1250)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1217)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1189)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1138)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1092)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:52)
    at b4a.example.b4xmainpage._initialize(b4xmainpage.java:492)
    at b4a.example.b4xpagesmanager._initialize(b4xpagesmanager.java:706)
    at b4a.example.main._activity_create(main.java:365)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
    at b4a.example.main.afterFirstLayout(main.java:105)
    at b4a.example.main.access$000(main.java:17)
    at b4a.example.main$WaitForLayout.run(main.java:83)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8919)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
This is a runtime error. where is your database?
 
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
When my project is too large for this file attachment, how do I place it here? In other words, I made a zip file with the project and now this attach files box says: Too large
I'll try we transfer.com
 
Upvote 0

teddybear

Well-Known Member
Licensed User

Attachments

  • B4XMainPage.bas
    8.3 KB · Views: 180
  • 微信图片_20240629234607.png
    微信图片_20240629234607.png
    21.2 KB · Views: 70
Last edited:
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
It looks somewhat like it should. I don't know how to isolate and post my db.
 
Upvote 0

teddybear

Well-Known Member
Licensed User
It looks somewhat like it should. I don't know how to isolate and post my db.
You can copy the B4xMainPages.bas I posted at #68 to your project at #67, then replace the "test3 db.db" with yours
 
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
That's a little confusing. I have a project with a full sized 722 records in my dbBrowser which works fine compiling until the phone won't display the app. I guess you know that but maybe you're saying something different. I'll try what you just said and let you know.
The project at 67 is just a fake test project.
OK, I put your bas file with my regular SQLCipher project. now i'll try to compile
 
Last edited:
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
Voila! it compiled and displayed; however there are no records. I guess I'm getting close. I guess the .bas file has the records? I'll check the name of the db Browser records, etc.
Thanks again for your time spent.
 
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
Still no records displayed although the main structure is displaying; meaning just like the image in post 68. Now I'll try again with my removed .bas file instead of yours and see what displays. Nope, now it's back to no display on phone. I'll keep trying. Now I'm trying adding files to the files tab; maybe that's a step I skipped. Nope; it didn't help
 
Last edited:
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
Any chance there's a special B4A Bridge when using sqlcipher? I've been continuing using the standard B4A Bridge.
 
Upvote 0

teddybear

Well-Known Member
Licensed User
I guess it is what you want。
微信图片_20240629234607.png
1.png

I have attached the project using SQLCipher. it works.
you need to adapt it to your requiement
There is no problem to use SqlCipher. as Erel said."
B4A SQLCipher is a special subtype of SQL object. There is almost no need to change any code in order to switch from regular SQL to SQLCipher.
The only difference between SQL API and SQLCipher API is the Initialize method.
"
if you have any other questions, you'd better start a new thread for ask
 

Attachments

  • ShelbyCipher.zip
    99.4 KB · Views: 68
Last edited:
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
I have attached the project using SQLCipher. it works.
you need to adapt it to your requiement
There is no problem to use SqlCipher. as Erel said."
B4A SQLCipher is a special subtype of SQL object. There is almost no need to change any code in order to switch from regular SQL to SQLCipher.
The only difference between SQL API and SQLCipher API is the Initialize method.
"
if you have any other questions, you'd better start a new thread for ask
Thanks, I'll give it a try again in the morning. Unfortunately I think I have two separate db files with the same name "dbircv11.db". Each is in a separate folder which allows them to be named the same.
Thanks again,
Off to bed
 
Upvote 0

Shelby

Well-Known Member
Licensed User
Longtime User
I still have no display of the app although the compilation occurs without a hitch. Perhaps I'll start over with a working non encrypted working project and covert it to sqlcipher like I did just before I started this thread.
Again, thanks to Aeric and Teddybear for your generous efforts.
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
I still have no display of the app although the compilation occurs without a hitch. Perhaps I'll start over with a working non encrypted working project and covert it to sqlcipher like I did just before I started this thread.
Again, thanks to Aeric and Teddybear for your generous efforts.
Yes, this is the method suggested by Erel.
 
Upvote 0
Top