Android :: Best Practices For SQLite DB And Content Provider
Nov 12, 2009
My Android app is reading and writing to a local SQLite DB from a few different Activities and a Service. Pretty standard. But I'm not happy with the way I've got all the DB details stored as constants that I then use anywhere I access the DB. I've been advised to wrap the DB in a ContentProvider. Sounds good to me. While I'm refactoring my code, I figured I'd ask: What are your best practices for local DB data storage in Android?
Where and how do you store "CREATE TABLE" statements, column names, other SQL? Would you mind sharing a list of the classes you instantiate and what goes into each (ContentProvider, DatabaseProvider, DatabaseHelper...)? How do you coordinate the structure of your local Android DB with a server-side DB available through a REST interface? I realize I'm getting at the perennial "where's the Android object-relation-mapping framework?" question. For now, I'm mainly curious to hear how you structure your Android apps with what's available in the standard SDK.
View 4 Replies
May 3, 2010
I have made an app that makes extensive use of an internal sqlite db to save news feeds. Those feeds are parsed from an URL and then cached in the DB so that I'm able to re-add them to a ListView after a onPause()/onResume() pair. It's all quite nice but it takes about 2 or 3 seconds to restore the feed and showup the filled ListView. Apart from 1 ListView it's actually a TabHost with 3 ListActivities and in each of their ListView's I got about 50 items. So I can not not hold all 150 items at once in memory. That's the reason I cache them to a DB so I'm able to clear them out in their onPause() call. Why is it so slow? Would it be better to implement a ContentProvider? And, would it really speed the app up?
View 6 Replies
View Related
Jul 28, 2010
i have done SQLite database programming for Android, but i dont know anything about Content-Provider except this: "As i have referred Android Developer page , Android SDK explained about "Content-provider" as it is used to store and retrieve data." What is the exact difference between "Content-Provider" and "SQLite Database"?Which is best to store data, when ?
View 3 Replies
View Related
May 28, 2009
I looked into some examples of sharing data to other apps using content Provider. All these examples talks about sharing sqlite dbs. I need to share data under shared Preferences of my app to other apps using content Provider. Can I use content Provider to do that ?. Please let me know some pointers or sample code to share data other than sqlite db using content provider.
View 3 Replies
View Related
Mar 1, 2010
I am having a hard time understanding content providers. In the notepad example and others, the content provider never even declares its CONTENT_URI anywhere inside itself, yet the docs say to publicly declare this. It's declared in a different class. So when an activity queries a content provider with a CONTENT_URI, how does Android know which one I want. I see no link between a content provider and its CONTENT_URI declared in another class.
I also don't how to think about intents and content providers. I know that you don't call an intent on a content provider. But an activity queries a content provider without an intent, and an activity has a mimetype attribute in the manifest that would seem to tie it to a content provider.
View 2 Replies
View Related
Mar 11, 2010
how can i create a custom content provider like contact content provider? i know how to create custom content providers but i want to integarte to device such a way that it canbe accessed by all application installed in that device.
View 3 Replies
View Related
May 8, 2010
I have an application with several tables, each being updated by AsyncTask fired by different Activities and used by UI with SimpleCursorAdapter. Though i am not developping a game, I would like to avoid to interrupt the user as mush as possible. Has SQLite is not multiaccess proof, what is the best way of handling such situation?
- I consider adding lock from each DB open and to each close sequence but this seems quite subject to bugs - The solution i am using now is that each DB access (read/write) is done in UI thread (when AsyncTask completes, DB write is done typically in onPostExecute), but that means user is blocked for several seconds during the DB write.
Is there any better solution for that? Should i use a ContentProvider? when i read "Content providers store and retrieve data and make it accessible to all applications", this does not seems to be what i need. Any idea?
View 4 Replies
View Related
Dec 29, 2009
I'd like to be able to read the system's SMS content provider. Basically I wanted to make an SMS messaging app, but it would only be useful if I could see past threads etc.It seems like there's a content provider for this, but I can't find documentation for it - anyone know where that is?
View 6 Replies
View Related
Jun 4, 2010
my android application is handling a large database of bus passage time and we would like to allow others application to be able to display certains bus passage time. We would like to use a content provider to do that. Most example seems to be about using an SQL database, but we use some custom text file. I was wondering what would be the best way to do that. I was thinking I could use a Content Provider and implement the Cursor interface on a custom object that I would manually fill with my text data. Would this be possible ? Anyone have a better idea (excluding changing to SQL lite of course)?
View 1 Replies
View Related
May 26, 2009
Can i pro-grammatically get a list of content providers extant on the system?
View 7 Replies
View Related
Sep 2, 2009
What content providers in the cupcake android build do apps have access to?
View 2 Replies
View Related
Jan 21, 2009
1. How do i use the content provider defined to interact with an application. I mean the database defined is for use in the program only, then how can i use this content provider from another program.
2. Is there an example depicting using of content providers. How are the content providers accessed else where so tht he databases defined in it be created at run time.
View 3 Replies
View Related
Jul 1, 2010
Im having problems with the content provider. Im trying to create a content provider.Is my URI parse been parse correctly?this leads to my database as I want to extract data from it and show it in the list view.after which, i have to edit the manifest inserting the provider if I extend my class to ContentProvider, my database file will be kinda screwed up, is there an easier way?however, it shows the error of not having the one.two.databases to exist.
View 1 Replies
View Related
Sep 10, 2009
I would like to know the exact difference between Content provider and SQLiteDatabase. If we have to share our data among applications then we use Content provider, otherwise SQLiteDatabase. Is this is the ONLY difference, OR using Content Provider has something to do with performence?
View 7 Replies
View Related
Feb 2, 2009
I am performing hundreds of calls to a single content provider to perform various insertions, updates and deletions. After profiling my application, I have noticed that the ContentResolver class takes approx. 30ms to retrieve the corresponding content provider object for each call. Is there anyway to retrieve a reference to the content provider rather then going through the ContentResolver every time?
View 4 Replies
View Related
Dec 21, 2009
I have written the following content provider, but when I try to pull information from it into an array,I presume its something to do with my naming of the CONTENT_URI or something? I'm not quite sure how it works so could anyone explain a bit and spot what I have done wrong?
View 3 Replies
View Related
Jul 14, 2009
I want to delete Downloads provider data. And I have added permission in AndroidManifest. xml,But it doesn't work, the log gave me a pid and an uid, I guess the problem is caused by these two ids.If it's true, what can I do to solve this problem.
View 2 Replies
View Related
Mar 31, 2010
I'm making a media player, but my code doesn't show all my playlists and for many others it does not show any.Why doesn't the code below work completely?
View 2 Replies
View Related
Oct 21, 2009
The Content Provider starts when the first applicable URI is resolved. This will make the ContentProvider run forever and there doesn't seem to be a way to stop it (such as due to inactivity etc).It would be nice if Content Provider would stop after some time so that the memory usage is reduced (An enclosing process, doesn't need to be alive if the Content Provider is not needed anymore).
View 4 Replies
View Related
Mar 21, 2010
Does anyone know if there is documentation explaining the SMS content provider?
View 3 Replies
View Related
Jan 21, 2010
I was wondering if anyone has any information on accessing the Gmail content provider. It doesn't seem to be officially supported in the API but it looks like people are able to do this regardless. See the SlideScreen app which notifies you of new e-mail and even shows you info (sender, title).It would be great to know how this is accomplished, for example we could create a home screen widget that shows you your last few e- mails, etc.
View 2 Replies
View Related
Aug 9, 2010
I have a doubt about content provider. Why we use content provider? can't we use database of a application? If we talk about other application also. can't we use database of that application directly wihout content provider?
View 6 Replies
View Related
Jun 8, 2010
How can I make a custom content provider in android?
View 1 Replies
View Related
Aug 13, 2010
I created SQLite base with 3 tables and custom ContentProvider. I had a crash on first call method query. I tried to get cursor from base via db.query(table, columns,...) it worked correctly.
The exception is android.database.sqlite.SQLiteException: no such column: modified: , while compiling: SELECT items._id, items.name FROM items ORDER BY modified ASC
The method is below:
CODE:..............
The Log is 08-13 11:49:59.471: ERROR/AndroidRuntime(5237): Caused by: android.database.sqlite.SQLiteException: no such column: modified: , while compiling: SELECT items._id, items.name FROM items ORDER BY modified ASC
View 2 Replies
View Related
Jul 22, 2010
When I send an SMS on my Android emulator, it goes to the content provider:
content://sms/sent
right?
So I wanted to get the last sent SMS from the content provider. So I used this Uri as you can see above, and, I used the method query, with the Content Resolver Object. And I got the cursor, and used the movetofirst() method, so I would have the last sent SMS. Check the code below. I hope it helps.
package com.sys;
CODE:...................
View 1 Replies
View Related
Sep 28, 2010
I am developing an application that involves some sensitive user information. I retrieve this information via a private web API. I am trying to determine the best way to get this data into my app. Right now I'm exploring creating a content provider that can do so; my hesitation is in making it secure. I want this data to be usable only by my application. Ideally, no other apps would even know it exists.
Do you have any pointers or advice on how to do this effectively and securely? Any info on content providers who's data source is a remote OAuth'd API?
I say content provider, but if that isn't the best way to do what I need, by all means let me know what else to look into.
View 2 Replies
View Related
Nov 2, 2010
What are advantages of using custom content provider? Why such content provider is superior of plain class that wraps SQL queries?
View 2 Replies
View Related
Nov 22, 2010
Since I've seen a presentation from Google IO I'm a bit confused in the question, if it's better to use content providers or databases. Or it makes no difference if I don't want to share any data with other applications.
If I've understood it right, content providers based on SQLite DBs and it's also possible that content of them is only accessable for my application.
View 2 Replies
View Related
Dec 15, 2009
In my application, I have created a ContentProvider. Is there a way for me to instantiate this ContentProvider when my apk is started? RIght now, the ContentProvider only instantiates when someone does a query.
View 1 Replies
View Related
Jun 30, 2010
when writing a ContentProvider I have to implement the onCreate()-method, in which I establish my database connection. But to write the changes I made to the database I have to close the database on some point. Does something like a onDestroy()-method exist for ContentProviders or is there some intent I have to listen to, which is fired before killing my process?
View 5 Replies
View Related