incubator-callback-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Samik R (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CB-1191) Load/create a database in SD card
Date Fri, 03 Aug 2012 18:47:03 GMT

     [ 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

        

Mime
View raw message