Android :: Why Isn't SQLiteOpenHelper Called Just SQLiteHelper
Jun 11, 2010
The documentation describes the class as a helper object to create, open, and/or manage a database. Having that in mind wouldn't you say that the name is a little misleading?
View 2 Replies
Jul 21, 2010
Do I need an instance of my SQLiteOpenHelper class for each Activity I have? I have 1 currently that all activities access, but started getting an exception
"illegal state exception SQLiteDatabase created and never closed "
on simple a simple query and I can't seem to figure out why this is happening. I read online about this, and wanted to try to understand why the SQLiteOpenHelper was dependent on an Activity.
Is there a way to just have open SQLiteDatabase object without the Helper and have it just exist within all activities?
View 10 Replies
View Related
Sep 10, 2009
I get a SQLiteException if I try to issue an alter statement in the onUpgrade method of SQLiteOpenHelper subclass:
Can't upgrade read-only database from version X to Y: /path/to/db
That makes no sense at all! Where did I go wrong?
View 5 Replies
View Related
Feb 11, 2010
I would like to know if it is possible to have several DbOpenHelper in the same app Android but to use them to write and read in the same database? because I'm trying to create tables from 2 different OpenHelper (with different names) and only the first one seems to create. when I try to run the 2nd one, i get an error...
View 1 Replies
View Related
Jun 9, 2010
I have a SQLite database, and several tables within that datbase. I am developing a DBAdapter for each table within the database. (reference Reto Meier's Professional Android 2 Application Development, Listing 7.1).
I am using the adb shell to interface with the database from the command line and see that the database is being populated as I expect. Occasionally, I want to drop a table so that I can ensure it's being built properly, from scratch.
The problem is that SQLiteOpenHelper only checks to see if the database exists. Is there a typical solution to writing a helper to also see that the table(s) exists? Basically once I drop a table, the helper checks to see that the database exists and assumes all is well.
Also, the CREATE_DATABASE string used in the reference above only creates the one table. Should I consider using the DBAdapter for an adapter to ALL of my tables? That doesn't seem as clean to me.
View 1 Replies
View Related
Aug 17, 2010
I am doing my first app with a database and I am having a little trouble understanding the onUpgrade function. My database has a table with an items and a favorite column so that the user can favorite an item. Most implementations I see simply drop the table and reconstruct it but I don't want to do this. I want to be able to add more items to the table.
When the app is upgraded through the android marketplace does the database know its version number? So could I increment the version number in the code and then export it to the marketplace and when the user boots up the upgraded version for the first time then onUpgrade will be called?
If this is the case my onUpgrade would simply pull from a file and add the database items in. Is this a standard way of doing things or is there a better way of handling this in Android. I am trying to stay as standard as possible.
View 1 Replies
View Related
Jul 9, 2010
The documentation does not make the interation between onUpgrade() and onCreate() clear.
When implementing onCreate() should this create the database at version 1, assuming that onUpgrade will apply all of the patches to bring it up to version x (lets say version 5 for example)? Or should onCreate build the latest version of the database, and onUpgrade is only used to upgrade legacy clients.
I kind of prefer the first, because it effectively means that the same SQL is executed for everybody. Whereas the second options means that there is a potential for onCreate to build something slightly different to the succession of patches built by onUpgrade.
I can always make onCreate call into onUpgrade, however, this is the kind of implementation detail that should go into the javadocs...
View 3 Replies
View Related
May 21, 2010
If you extend SQLiteOpenHelper, for the Constructor you have to use a Context. I am wondering if there is a way to leave this out, and be able to work with database tables without a Context.
Or at least be least restrictive, I mean a way of project/class structure that will make history the several context passings I have to do now.
As it is my application has several level of classes, chained in each other, and there are a few that connects to the database, but have no whatsoever influence on the interface, so they don't actually need the Context.
Are you creating your classes in the way that you pass each time a Context to them?
If not, how you do, how you reuse a Context in a short class?
View 1 Replies
View Related
Sep 13, 2010
Every time i increase my database version and push the upgraded app to the users, something weird happens.. For some it works perfectly fine, and some report crashes (including through the Market's reporting system) caused by the lack of table columns i just added in onUpgrade.
If you want to see the method:
http://code.google.com/p/tag-todo-list/source/browse/trunk/Donut/src/com/android/todo/data/ToDoDB.java#136
I can't spot any exceptions that appear in onUpgrade. What i'm currently doing to bypass these problems is intercepting the exceptions where the new fields are invoked for the first time and then calling onUpgrade 'manually', which is kind of dirty.
Also, the app sometimes generates a 'no such table' SQLiteException when accessing the main table (again, only for some users) which is incredibly strange... Does someone know why these things happen? Or can you spot something wrong in my code?
View 1 Replies
View Related
Jun 9, 2010
I have an existing SQLite database file from another project.
Where do I include the database file into my Eclipse project to have it deploy with the app.
Do I need to indicate that the database file is writable? (In the iPhone world you need to copy the database file from the app's bundle to a writable folder on the iPhone proper before first use.)
Once I have the database file on the phone, how do I tell SQLiteOpenHelper to use it? (I extend SQLiteOpenHelper in a custom class.
View 1 Replies
View Related
Oct 17, 2010
How can I emulate an onUpgrade call for my SQLiteOpenHelper class? I have tried changing the version number in my SQLiteOpenHelper class and versionCode in manifest but onUpgrade is not called. Any idea? I need to check my onUpgrade code before upload it to the market, I don't want my app's users get a buggy upgrade.
View 10 Replies
View Related
Aug 24, 2010
I'm trying to implement a database in my application. I'm following a tutorial about writing my own ContentProvider, but I'm confused about SQLiteOpenHelper::getType. We're supposed to write it and, essentially, write a switch that returns the MIME type corresponding to the type of data we're dealing with.
I don't fully understand it. I'm not sure, even though I have an example, what is precisely supposed to be conveyed here. How do I determine the MIME type of my different tables of data?
View 1 Replies
View Related
Feb 27, 2010
I have two classes, one MainClass and one DataBaseHelper class, which extends SQLiteOpenHelper.
From my MainClass I call a method in the DataBaseHelper class to open a data base. Before opening the data base I want to check the users data base version (this is important as soon as I want to update the data base and push it to the Android market). So from the DataBaseHelper class I call the following method, which is in the MainClass.
CODE:..........
I call the checkCurrentDbVersion() method from the DataBaseHelper class like so:
CODE:.....................
As soon as the debugger runs the following line, it stops.
CODE:...........
I have no constructor defined. Could that be the failure?
View 2 Replies
View Related
Nov 16, 2009
I've had fine luck using SQLite with straight, direct SQL in Android, but this is the first time I'm wrapping a DB in a ContentProvider. I keep getting a null pointer exception when calling getWritableDatabase() or getReadableDatabase().
Is this just a stupid mistake I've made with initializations in my code or is there a bigger issue?
CODE:.........
But here's LogCat showing the exception:
View 2 Replies
View Related
Oct 26, 2010
I am running into an issue with the way my asynctasks are executed. Here's the problem code:
firstTask = new background().new FirstTask(context);
if(firstTask.execute().get().toString().equals("1"))
secondTask = new background().new SecondTask(context);
What I'm doing here is creating a new asynctask object, assigning it to firstTask and then executing it. I then want to fire off a separate asynctask when the first one is done and making sure it returns a success value (1 in this case). This works perfectly on Android 2.0 and up. However, I am testing with Android 1.5 and problems start popping up. The code above will run the first asynctask but doInBackground() is never called despite onPreExecute() being called. If I am to execute the first task without the get() method, doInBackground() is called and everything works as expected. Except now I do not have a way to determine if the first task completed successfully so that I can tell the second task to execute. Is it safe to assume that this is a bug with asynctask on Android 1.5? Especially since the API says that the get method has been implemented since API 3. Is there any way to fix this? Or another way to determine that the first task has finished?
View 2 Replies
View Related
Nov 20, 2010
My app uses two databases (separate files). To handle these databases I have created two Helper classes which extend SQLiteOpenHelper, one for each database.
I am now going to add a third database and wonder whether I need to create yet another Helper class (and if I used a 4th and a 5th database would I need even more Helper classes), or can I use the same Helper class for multiple databases?
The problem that I see with trying to use just one Helper class is that I can't see how to pass the name of the individual database files to the Helper. At present the name of the database is hard-coded as a Static field of each of the Helper classes, but if I had only one Helper class I would need to be able to pass the different names in to the Constructor when creating the separate Helper objects; the problem is that the SQLiteOpenHelper Constructor seems to be called by Android with just one parameter: the Context.
View 2 Replies
View Related
Jun 4, 2010
I was reading through app suggestions and someone mentioned an app called mp3 Download that basically functions like limewire, letting you search and download mp3's to your phone. Does anyone know anything about this app and whether it is good or not? Or have suggestions for a similiar app? It had mixed reviews at appbrain and when I searched here it came up with a bunch of other threads.
View 4 Replies
View Related
Sep 22, 2010
I was told by a few friends that the iphone has an app that allows you to hold your phone up to a song that you dont know and it tells you the name.Does android have anything like that?
View 6 Replies
View Related
Oct 20, 2009
I've created a simple android game, based on the Lunar Lander sample, and I'm having a problem with handling key events.When the activity starts, the only keys that onKeyDown or onKeyUp get called for are the dpad up/down/left/right keys.Neither the menu, back, or dpad_center keys trigger onKey methods. However, once I've pushed one of the dpad up/down/left/right buttons, pressing the menu, back, or dpad_center keys do trigger these methods. I'm not getting any errors, or any indication of what's going wrong.It's possible that the focus is set wrong - the activity is started from a button on screen, so it could be in touchscreen mode. If that's the case, shouldn't touching the back button get me in to the right focus mode so that I can catch the event?I'm using the emulator from SDK-1.5r3.I have not been able to try this on a real phone yet.
View 4 Replies
View Related
Aug 27, 2010
I saw it on the market but forgot to install it. It displays the number of remaining minutes, texts and data left for the month if your on a monthly mobile phone plan.
View 2 Replies
View Related
Apr 6, 2010
I'm working on an application which allocates lot of memory and hence I'm bound to get OutOfMemory. I want a way to get notified when system is running short of memory so that I can stop processing further, notify user and release as much memory as possible.
According to official Android documentation there is a callback onLowMemory from the system. I have a class which extends android.app.Application and I have overridden onLowMemory() method. This class has entry in the in the application tag of AndroidManifest. However it never gets called in my case. Do I need to register for this event using AndroidManifest or any other means?
View 9 Replies
View Related
Jan 1, 2010
In one of my applications I programmatically open the context menu when something is clicked in my MapActivity overlay. This works perfectly under 1.x as well as on my 2.0 Milestone. I've used showContextMenuForChild() historically, but openContextMenu() does that same thing.
As expected onCreateContextMenu() is called to build the menu and then onContextItemSelected() is called when something is selected. So far all is well.
The odd thing is that under 1.x the onContextMenuClosed() method is called when I press the back key, but not so under 2.0. This confuses states for my app since I need to know whether menu is shown or not - or maybe there is a way to know this that I have not (yet) figured out...
Is this a deliberate change or should I file it as a bug? Googling comes up pretty dry (stuff that is over a year old).
Anyone with a 2.0.1 Droid that would care to test whether this has already been fixed? (The ETA for Milestone 2.0.1 seems hazy still, but it appears that at least one of my reported bugs has been fixed in 2.0.1 event though it isn't flagged as such.)
View 4 Replies
View Related
Oct 27, 2010
Is there a way to make sure onSurfaceCreated is called only once during startup.
Currently in my app it gets called once with say 800x480 then it gets called a second time with 480x800. I guess this is probably due to a call to setRequestedOrientation in onCreate. Is there any way to make sure the app starts in a particular orientation, to prevent orientation changes, and to have onSurfaceCreated get called only once during start up?
View 3 Replies
View Related
Mar 3, 2009
I have over-loaded the onFocusChanged() in my classes which inherits from LinearLayout.
CODE:...........................
View 4 Replies
View Related
Apr 16, 2010
i use a ScheduledThreadPoolExecutor combined with a ThreadFactory, their all combined should cause an unchaught Exception to be logged so that i can see what happening if any thread is dying in the ThreadPool:
threadPool = new ScheduledThreadPoolExecutor(poolSize, new ThreadFactory());
My ThreadFactory, also sets a UncaughtExceptionHandler :
public Thread newThread(final Runnable r) { final Thread thread = new Thread(r); thread.setUncaughtExceptionHandler(new ThreadLogger()); final int counter = count.getAndIncrement(); final String name = threadName + counter; thread.setName(threadName + counter); if (Logging.isLoggingEnabled()) { Log.d(LOG_TAG, "Thread created :" + name); } return thread; }
The ThreadLogger :................
View 2 Replies
View Related
Mar 7, 2009
I have been struggling to get onLocationChanged called, but I'm not sure it does not. Here're my code
criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setPowerRequirement(Criteria.POWER_LOW); criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setSpeedRequired(false); criteria.setCostAllowed(true);
String locationContext = Context.LOCATION_SERVICE; locationManager = (LocationManager)context.getSystemService (locationContext);
String provider = locationManager.getBestProvider(criteria, true);.................
View 2 Replies
View Related
Jul 5, 2009
Am I right to assume that onSaveInstanceState() is not normally called (which my logging indicates) - but only when the system is forced to kill an Activity. If so, since onPause() does not receive a bundle, what is the best way to save state that should be restored the next time the Activity is created?
View 8 Replies
View Related
Jul 6, 2010
I have a problem with the method "onActivityResult".
I create a new Activity from my main activity:
CODE:.........
The new Activity is ended like this:
CODE:.............
But the Method onActivityResult seem to be not called
CODE:................
View 1 Replies
View Related
Aug 4, 2010
I'm trying to start activity by sweeping across the screen, it works fine for all the other screens, just this screen that doesn't fire the onTouch at all? Would you mind helping me? I've tried debugging it and still have no idea at all. Below are the codes, sorry for not putting snippets only as I thought I might did something wrong elsewhere
I'm also looking for advice on implementing sweeping to change screen. I've read about ViewFlipper and I know it will work very well, but I've around 8 screens with different backend coding needed.
CODE:.....................
View 1 Replies
View Related
Sep 12, 2010
I defined an EditText-field and I want to be informed when the user edits that fields.
So I thought: simple - I add an OnKeyListener and so I did. But even though the text field gets edited (and even displays the entered/modified text) I don't get any callback, i.e. the LOG-output doesn't show up.
CODE:......
why that callback is never called?
Android is really full of oddities! It seems that almost nothing I touched so far worked immediatly as one would expect. And - believe it or not - I have LOTS of experience with GUIs, esp. in Java (AWT, Swing, SWT, you name it...) But Android is a really tough beast!
View 2 Replies
View Related