[
https://issues.apache.org/jira/browse/CB-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Samik R updated CB-1191:
------------------------
Description:
I would like to be able to access or create an SQLite database on SD card in
android/WP7 or in the persistent storage in iOS. Currently I am working in
Android, so I will limit the comments to Android for now.
Looking at the android code for openDatabase call in Storage.java, I see that
if the path of the DB is null, it is set to app-path. But there is no way to
set the path of the DB or pass it in the call. It seems like an easy fix: we
need a call to set the path to a string, or accept a FileEntry object as the
database in the same openDatabase call.
Here is the relevant part of the code:
(Accessed from https://github.com/apache/incubator-cordova-android
as file: apache-incubator-cordova-android-2.0.0-16-g81ab0a4.zip)
<<
public void openDatabase(String db, String version, String display_name,
long size) {
// If database is open, then close it
if (this.myDb != null) {
this.myDb.close();
}
// If no database path, generate from application package
if (this.path == null) {
this.path =
this.cordova.getActivity().getApplicationContext().getDir("database",
Context.MODE_PRIVATE).getPath();
}
this.dbName = this.path + File.pathSeparator + db + ".db";
this.myDb = SQLiteDatabase.openOrCreateDatabase(this.dbName, null);
}
>>
Please let me know if I am missing something. I am new to this stuff.
Thanks and regards.
was:
I would like to be able to access or create an SQLite database on SD card in
android/WP7 or in the persistent storage in iOS. Currently I am working in
Android, so I will limit the comments to Android for now.
Looking at the android code for openDatabase call in Storage.java, I see that
if the path of the DB is null, it is set to app-path. But there is no way to
set the path of the DB or pass it in the call. It seems like an easy fix: we
need a call to set the path to a string, or accept a FileEntry object as the
database in the same openDatabase call.
Here is the relevant part of the code:
<<
public void openDatabase(String db, String version, String display_name,
long size) {
// If database is open, then close it
if (this.myDb != null) {
this.myDb.close();
}
// If no database path, generate from application package
if (this.path == null) {
this.path =
this.cordova.getActivity().getApplicationContext().getDir("database",
Context.MODE_PRIVATE).getPath();
}
this.dbName = this.path + File.pathSeparator + db + ".db";
this.myDb = SQLiteDatabase.openOrCreateDatabase(this.dbName, null);
}
>>
Please let me know if I am missing something. I am new to this stuff.
Thanks and regards.
> Load/create a database in SD card
> ---------------------------------
>
> Key: CB-1191
> URL: https://issues.apache.org/jira/browse/CB-1191
> Project: Apache Cordova
> Issue Type: Improvement
> Reporter: Samik R
> Labels: android, ios, sqlite
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> I would like to be able to access or create an SQLite database on SD card in
> android/WP7 or in the persistent storage in iOS. Currently I am working in
> Android, so I will limit the comments to Android for now.
> Looking at the android code for openDatabase call in Storage.java, I see that
> if the path of the DB is null, it is set to app-path. But there is no way to
> set the path of the DB or pass it in the call. It seems like an easy fix: we
> need a call to set the path to a string, or accept a FileEntry object as the
> database in the same openDatabase call.
> Here is the relevant part of the code:
> (Accessed from https://github.com/apache/incubator-cordova-android
> as file: apache-incubator-cordova-android-2.0.0-16-g81ab0a4.zip)
> <<
> public void openDatabase(String db, String version, String display_name,
> long size) {
> // If database is open, then close it
> if (this.myDb != null) {
> this.myDb.close();
> }
> // If no database path, generate from application package
> if (this.path == null) {
> this.path =
> this.cordova.getActivity().getApplicationContext().getDir("database",
> Context.MODE_PRIVATE).getPath();
> }
> this.dbName = this.path + File.pathSeparator + db + ".db";
> this.myDb = SQLiteDatabase.openOrCreateDatabase(this.dbName, null);
> }
> >>
> Please let me know if I am missing something. I am new to this stuff.
> Thanks and regards.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira