I've got a question about updating an app after release. If I have a database that contains 10 columns and I add a feature that requires an 11th column after the app has been released, where would I put the sql code to add the new column so that when they install the app it keeps their current data, but adds that 11th column? Is that even possible or would I need to create another table that references the first with a foreign key?
I have an android app I am just experimenting things on and I cannot seem to figure out why my app force closes when I update a TextView via a while loop. When I comment out the updateText method it runs fine.
I update a value in my Database in a Listview using a Context Menu. The code so far seems to be ok. But everything i try to make the update visible in the View failed. Anyone can point me whats wrong there ? I use a ViewBinder to map the Layout for each row.Code...
Good morning everyone, I am new to programming with Java and Android, I'm trying to make an application to seek an xml in a web address and contains information that should be saved in my sql lite ... The doubt is as follows: I have to download and save the xml file on the device or can just work with it in memory, example: xml = xml.create (www.meusite.com.br / meuxml.xml); how would you do?
I have a main application, and a bunch of sub-applications (they are separate apps, which do not appear on the android home dashboard). I was planning on having a SQLite DB which the main app maintains, and get a list of available sub-apps from. Is there a way to update this main database as the user installs the sub-apps?
Two alternative I was thinking of include:
User installs the sub-apps via the main app, which would then update the DB. Rather than use the DB to find all installed sub-apps, have each sub-app declare a category, and use intents to query for all applications which match that query (is this even possible?
I don't exactly know how android updates the applications. As far as I've read around here it keeps the SQLite database. So, imagine this scenario: one application that uses SQLite database for persisting data. After a while I release v2 which contains some database changes and I need to update user data in database. How can I make this during the update process ?
I am implementing an android application and i can't figure out how to solve this problem : When user clicks to the update button , i want to connect to the my server and check if there is any update on the data , if there is , i want to get data from server and update the database.Should i use xml structure to check and get updates from server or is there any smarter ways to achieve this ?
I have an app which uses a large amount of data which has been compiled outside the app (on my main PC). The app is for my personal use so there are no complications with having to distribute data updates to other users. However, I am currently following a very convoluted and time-consuming procedure each time I want to update the data, and I wonder if anyone can suggest any ways to streamline it.
The procedure I follow whenever I want to add new data is as follows:
I enter the new data into a csv file which I maintain as the source of the relevant table in the database. I use SQLite Database Browser to import the data into an existing SQLite database. (This program does not seem to have the ability to append imported data into an existing table, so whenever a table needs updating I have to delete the existing table, then import data from the csv file into a new table, then manually edit the data types for all the fields in the table.)
I drag the icon for the database file onto the 'assets' folder of my project in Eclipse. I export the project from Eclipse as an apk file. I copy the apk file to my phone (using Astro File Manager) I uninstall the old version of the app and install the new apk. when the app is run, code based on the example set out here copies the data from the 'assets' folder into the app's data folder; this means that each byte of data takes up two bytes in the phone's internal memory; at present this is not a problem, but could be as the volume of data grows; I wonder if there is a more memory-efficient method?
I was rooted with unprovoked and have not experienced a single problem since the update. I clicked on unprovoked and then checked out the tether app. It starts up fine with no problems. Wasn't the update supposed to make unprovoked not work?
I currently facing problem where user have the choice to enter several working experience, where every working experience include several details (company name, duration, roles etc) I don't know how should I store it since users have the freedom to add as many working experience as they have.I have a table as below
My purpose behind this "a picture is worth 1000 words" thread is twofold:
1) For newbs that experience some trouble(s) getting the inital stages of "getting root" to happen correctly, it is helpful for them to know what things should look like when everything goes the way it should. That makes it much easier to recognize it when something goes wrong.
2) Make it very clear when to do the "battery pull" if you are interested in only installing the S-OFF bootloader (and nothing else) using Toastcfh's "battery pull trick".
In the first image below, the Eris has been restarted by simultaneously pressing the Vol-down and End (power) buttons, and a PB00IMG.ZIP file has been placed in the root folder of the SD card:
If the "PB00IMG.ZIP" file was not found on the SD card, the list of files shown above would flash across the screen and disappear very quickly - less than one second.
If this is what you experience, there are a couple of possible reasons why this might have occurred:
There is no file named PB00IMG.ZIP in the root folder of the SD card You put the file there, but misspelled the name The SD Card needs to be re-formatted ** The SD card is "questionable" - replace with a "beter" card **
** I never experienced these problems with the Verizon-supplied SD card, but other folks have reported that this solved a problem where they were sure the file was present in the root folder, but apparently was not recognized.
The important thing to point out here is that the PB00IMG.ZIP files are large - as much as 100 MB. Merely reading the file to compute a checksum or crypto signature from a flash device takes many tens of seconds: if the file is found by the phone, it will spend some time chewing on it. If you see the above list of files (in green) flash by and nothing happens, then it is absolutely clear that the phone did not "find" the file - for whatever reason.
In the image above, we see that the phone is reading the file, as indicated by the blue progress bar in the upper right-hand corner of the screen. This process takes a fair amount of time - perhaps as much as a full minute.
Note that the HTC crypto signature is over the whole zip file (excluding the first 256 bytes); at this point, the phone is simply checking that the .zip file has the correct crypto signature - it is not even unpacking the zip file (yet)
In the next image, the phone is beginning to unpack the zip file into separate components: the crypto sig check has succeeded, and the phone says nothing exceptional, other than "Checking"
In the next image below, the phone presents a list of images that are in the PB00IMG.ZIP file. The list shown only tells you what the function of the image file is, but does not display the exact file name in the .zip file. (Unpack the PB00IMG.ZIP yourself on your PC if you are curious).
The phone also asks you if you "Do you want to start update?".
NOTE: This point in time is extremely critical if you are going to do the battery pull method!
Note that the second item in the list, (#2) is listed as "BOOTLOADER". What will happen if you choose to perform the update, is that the new bootloader from the PB00IMG.ZIP file will be flashed right away. This sort of makes sense: it is the new bootloader that is responsible for installing all the other new images in the PB00IMG.ZIP file.
The bootloader is quite small - about 512k bytes - so it flashes onto the phone very quickly. As soon as this finishes (less than one second after you start the update), the phone screen will go dark, indicating that a reboot is in progress.
IF YOU INTEND TO USE THE BATTERY PULL METHOD, YOU NEED TO BE PREPARED FOR THIS MOMENT, WITH THE COVER ALREADY OFF THE PHONE - YOU'LL HAVE 3-4 SECONDS BEFORE THE PHONE REBOOTS AND BEGINS TO CONTINUE WITH THE REST OF THE ROM FLASHING. YOU CAN PULL THE BATTERY AS SOON AS YOU SEE THE SCREEN GO DARK. (The remaining steps shown below will not occur if you pull the battery.)
Toastcfh on XDA was the first to suggest this method; it is especially useful if you want to create a backup of your "factory" 1.5 system.
The photo images used for this documentation were taken from a manual upgrade of 1.16.605.1 to 1.17.605.1 (MR1 to MR2 update on Cupcake). Both of those updates use the exact same (S-ON) bootloader, so in the pictures which follow, we won't notice a difference in version numbers or appearance of "S-OFF" at the top of the screen. But if we were doing the "root" PB00IMG.ZIP upgrade, we would see the new version number and also "S-OFF", as the new bootloader would be "live" at this point.
In the image below, (following the reboot) we see what appears to be a complete repeat of what we saw at the beginning of the process: it appears as if the .zip file is being unpacked all over again, complete with the blue progress bar showing in the upper right hand corner of the screen:
Again, we see the "Checking" message (below). But rest assured, the update process has been launched, and will continue without prompting until the end. Don't let the fact that you are seeing a repeat of these same screens you saw earlier throw you - that is normal. And again, since the file involved is large - 100 MB - it takes a little while for the phone to chug through these steps.
Now the updater lists the (functional) contents of the PB00IMG.ZIP file, and starts the update process without stopping to ask permission. Note that the bootloader is no longer mentioned (in item #2, or anywhere): it was already installed!
When the flash memory is being written, the progress bar in the upper right hand corner of the screen will display in red (as shown below)
If the updater is merely unpacking an image file (within the .zip file), the progress bar will show up in a black color as shown below. (This will be most apparent for large images such as the "system" image)
When the update is complete, the system will pause and ask you if you want to reboot. (In the case of the root PBOOIMG.ZIP update, the new S-OFF bootloader is up and running at this point, so if you wanted to toggle it in to fastboot mode and flash Amon_RA's recovery image, you could do that.
My phone is currently rooted and it was done using unrEVOked. I did not apply any custom ROMS; the only change I made was moving the Amazon and VZ Navigator apps. I selected the option to reboot and install the update when I was prompted to do so, but it just became stuck at a screen that said "Rebooting..." and it never changed. I powered it off and then back on, but the update never applied. I have not been prompted to install the update since then. I would like to apply the November update using the easiest method. If I have to unroot it, I don't care because root access isn't that important to me. I have read these instructions, but they're incomplete as they don't show you how to actually perform the steps listed, specifically step #1
I have a database that gets updated by a background thread. Is is possible for the UI ouput(using a listview) to change when a database entry is added/deleted? I've seen examples of using SimpleCursorAdapter and listViewAdapters and I'm not sure which to use and if it would even work.
I found an "efficient" listViewAdapter which would work great for me since it doesn't call findViewById often and I can change the data structure to hold exactly what I need, but I don't know how to hook it into my database adapter so it dynamically updates the output when there is a database change. Example: http://www.androidsnippets.org/snippets/125/
I did the 2.1 droid Eris update, and found a few issues.
One might just be me, but I had my droid set the way I wanted it to be before the update, and now I have no clue how to get back to my original settings. So, trying not to sound like a dumbass here.
1. When I turn the phone off and then back on, my messages widgets goes away from the screen I have it on. All that shows up is a little folder that I have NOTHING IN. And it's really starting to bug me, 'cause I love that little widget where I can just cycle through the messages. Do I have to lock just that screen? It's the only widget affected when the phone goes on and off.
2. None of my contacts got erased; however, I noticed that my one primary is set to text, but when I go to edit the profile, it's set to call. This one I might just leave alone, but none of the ringtones that I have set for them are working. I saw a thread earlier about the People thing, but I'm not sure if I fixed this. And how would I go about changing the primary method of contact (text/call) or is set permanently like that?
How can i call the onUpgrade Method of the database? Background of my question: I do a backup on the sdcard of the full database. And the user can restore this database. But if in the meantime (between backup and restore) an app update has made changes to the database i get a problem on restoring. The new columns are not there after restoring. So i want to call the onUpgrade method to add all new/changed columns. Or is there a better way for this?
I want to know when a close method of a sqlite database should be called in a life cycle, since the NotePad sample in the sdk (http://developer.android.com/resources/tutorials/notepad/index.html) doesn't call NotesDbAdapter.close(), it implements that method though.
My application accesses the db not so frequently, but some, it depends on user requests. I think I should open the db at the onCreate, and close it at the onDestroy. Is that a good practice?
After I updated to 2.1 i cant see the phonebook any longer in my car (BMW 1 serie with IDRIVE and bluetooth). With 1.6 I could chose a contact and then dial directly, or import the phone number (however it was not as great as the old symbian OS where you even could navigate directly to a contact). Is it someone that has any idea of a good app or something that makes this possible (maybe a Symbian simulator :-)).
I have also realized that the connection (dB) has decreased with the new OS. I even loos connection on the E4, with this phone (Xperia X10 mini Pro).
Just got a new Android phone, my second after a brief stint with the G1 a year or so ago..
Today I noticed that I received notifications that I have apps with updates available. When I click on the notification it takes me to my downloads in the Marketplace, but it doesn't show me which app has an update. They all just say Installed.
Is there no way to tell what application needs updating?
I published an application that stores data in a local database.
Now I have to publish an update to this application to fix some little bugs, but I am afraid that downloading and installing the update will delate the local database associated with the previous version.
I would like to know how the update system works. Will installing an update completely delete all the apk, files, databases associeted with the previous version?
I'm not sure if this has been discussed already but can someone please tell me if Android 2.1 OS for SE x10 is available in South Africa?I'm wanting to purchase this phone but I'm hesitant as I'm not sure if this update is available.
After installing the 2.1 update onto a SE X10 mini the Android Market will not function. It opens, I can browse and select apps but when attempting to download it states 'starting Download', with a barber-pole bar, but the download goes no further. I have re-installed the update which seemed to work at first with one download working but then the same problem re-occurred. Based on info in other feedback on this blog I reviewed the app settings but there is no update to uninstall. how to get the Market to work?
I need to update my ui for an android app and I'm trying to use the Handler class to do it, using http://developer.android.com/resources/articles/timed-ui-updates.html and the android developer resources "Common Task" for using Handlers as guides.
Basically, I need something between the two - a timed update of the user interface, but without a button. So here is the relevent code that I am working on.
My ContentValues object has string keys, and I would like to get a String result having all the keys in it?How do I iterate a ContentValues object?After getting two responses I came up with this, do you see problems with it?
The version of the software that is most current is version 6 (the phone shipped with version 3).
To ascertain version: Go to Dialer/Hit Star/#9999#
You will see the PDA; Phone; and Software Version numbers in this section The T939xxxx6 for PDA AND PHONE and then Software Version - ending in .006 on the last line.
I was told that the reason that I keep seeing the "No update file exists" message when I check "update firmware" is because I have the latest version.
At some point my phone was updated without giving me a message. I did notice the red and blue arrows yesterday. But there was no message. My SD card mounted and dismounted on its own and gave an error message, and then all references to the error and SD card disappeared.
If your phone is/has exhibited this sort of behavior, you may already have the update.