Help with paths in Android and SimpleSqlite

Hello guys, so now I found all the problems related to download the DB in ASD and it works with AI2 + Companion, AI2 apk and also in both configurations using AI2Offline. So, for reasons not needed to explain, my DB called lang2.db is downloaded in ASD/lang2 so it full path is ASD/lang2/lang2.db. The point is the correct string to open the DB using SimpleSqlite. Seems that SimpleSqlite likes only file names in these 2 forms: //lang2.db and /lang.db if I write a full path it does not find the file containing the DB. I mean that if I write: /storage/emulated/0/Android/data/edu.mit.appinventor.aicompanion3/files/lang2e/lang2e.db
What is equivalent to /lang2.db and //lang2.db ?

SimpleSqlite

From the documentation:

What do these blocks return with your file path ?

It works, seems that only ImportDatabase does not accept full path. The docs are not totally clear about ImportDatabase and ExportDatabase. But I can live checking if the DB file exists anthe open it or returning an error. And use a simple query to check if the DB is ok. I did not need before to use a DB to update data so before this app I put the DB in the assets, in read only mode is perfect but to update it has to be in ASD so the code I used before it is not good for DB stored in ASD.

from your example

/storage/emulated/0/Android/data/edu.mit.appinventor.aicompanion3/files/lang2e/lang2e.db

the path for importDatabase (as per the documentation)

should be (for your example)

/lang2e/lang2e.db

It may not be obvious, the image above shows an import from assets, and an export to ASD. Import and Export use code that identifies ASD and Assets as per the File component.

in my example the folder lang2e is the result to unzip lang2e.zip containing lang2.zip, it was a test to verify a couple of python libraries able to make the zip filse protected with a AES256 password. Now I found what works better so I can rename the zip to lang2.zip and everything will be as you described.

It may help you in future, and save everyone some time and effort, to properly read the documentation and test as per the documentation, instead of trying to do several other unrelated things at the same time.

:+1: