Android :: Way To Persist Graphics On A Canvas (map Overlay)?
Feb 16, 2009
I've been searching around and can't seem to find a way to do this properly. I am doing some tracking where I want to draw dots on a map overlay recording previous positions. When onDraw of the overlay is called it seems the canvas is cleared so I have to redraw all of the history on every invocation. This could result in several thousands of dots being draw over time which seems to not be very efficient. Is there some flag somewhere that I have not found which tells a map overlay to be persistent? Or is there some way I can save and restore the canvas so I'm only maintaining/drawing the current point on each onDraw?
I like tu use the MapActivity to display some pins. When a pin is pressed i like to open a description. This can I obtain following the tutorial: http://developer.android.com /resources /tutorials/views/hello-mapview. But now I like to put a button on the overlay window. That button should open a detail activity. How can I make this? How is possible to personalize the overlay "info window"?
My loadMap() method generate a canvas.throwIfRecycled exception when i try to load a new map. When i start the game, the initial map loads and work fine though, its only when i try to load a new map that i get the exception ..
How can i "reset" canvas and the bitmap i use to draw into, so i can startover fresh with them ? here's what i use to create and draw my maps:
So basicaly once i created and used picDest and canvas, i cannot figure how to reset it all for when i want to load a new map..
I'm well aware of onSaveInstanceState(Bundle b) and the corresponding onCreate and onRestore. What I want to do is persist the bundle somewhere simple where I'll only ever have one at a time. The functionality is to be able to resume a game from its previously stored state - not to be confused with restoring the activity during its lifecycle. I want to restore it AFTER it's been destroyed (think of turning the phone on and having a button on the game that says, "resume last game". My thoughts are that if I can just persist the bundle that I normally use for the instance state, then I should be able to reload it later upon user request. I don't want to use a provider because they seem way too over the top for what I'm doing.
My app schedules an alarm,with the alarm scheduled, what happens if I release a new version of my app, and the user upgrades the app? Will this alarm be removed? Or will it be left untouched, and fired as expected?
I am building an app which uses a WebView. This app runs at startup. Is there a way to maintain the app running(persists) even if the user presses the 'Home' or 'Back' button? In other words,pressing the 'Home', 'Back' or the other buttons shouldn't close the activity.
I have a WebView. I'm not quite sure how caching works for it. Ideally I'd like to load a web page from the network once (images included), then from then on only ever load it from the local cache. I'm not sure if we have this level of control over webview. Will it at some point just auto-clear the cache? How could I tell? I need to be sure that it's really keeping the page cached between different runs of my application.http://developer.android.com/reference/android/webkit/WebSettings.html.
How do I make the "new email" flashing green LED continue to flash forever or until I mess with the phone? It works fine, but stops flashing after a while so if I'm not staring at my phone, I could miss the LED indicator and not realize I got a new email. Using the Gmail application (not the HTC email program).
What causes the LED to stop flashing after a while? Is it because the phone is going into a deeper sleep mode that I could configure, or is it because the flashing LED indications stop and there is nothing you can do about it? I checked under notifications and didn't see any setting for "duration" of the flashing LED indicator for emails.
In the description of how to add a list of options to an AlertDialog the official Android documentation alludes to saving a users preferences with one of the "data storage techniques." The examples assume the AlertDialog has been spawned within an Activity class.
In my case I've created a class that extends ItemizedOverlay. This class overrides the onTap method and uses an AlertDialog to prompt the user to make a multi-choice selection. I would like to capture and persist the selections for each OverlayItem they tap on.
The below code is the onTap method I've written. It functions as written but doesn't yet do what I'd hope. I'd like to capture and persist each selection made by the user to be used later. How do I do that? Is using an AlertDialog in this manner a good idea? Are there better options?
I'm developing an application that would need to persist data locally in Android devices. I'm aware that Android provides two packages for database persistence, the normal "java.sql" and the "android.database.sqlite"? Which one is used more for persistence? I suppose that "android.database.sqlite" is the implementation of "java.sql",
I have rectangle white box. on cliking the rectangle I will draw a toolbar beneath the box and also call relayout to accomodate the toolbar ( size+100) ( i used surfaceview and in secondary thread i draw the toolbar) on click again on rectangle box it will disappear the toolbar and also has to resize the layout to original size (ie size-100) this is where I get stuck. I can disappear the toolbar however I cant call relayout either from secondary thread (says cant call from secondary thread). So I created a while loop in onlayout( this is where i create a thread to draw the toolbar) if i call requestlayout after while loop ends it doesnt do anything it doesnt call onmeasure etc.
I created a 2d game in java that runs as an applet, and i am now trying to translate this over to the android. As the android doesnt used paint() methods, i am thinking that i will have to import images of the game instead of drawing it, but i cannot find out how to do this. Anybody know how to add images to the folder and call them in the app? Also, how can i call a screen repaint() in the android?
Is there any way to add the x-graphics in the android Editbox like the of iPhone.So that by clicking on that x graphic it can clear all the values in the Editbox.Is there any way to listen weather i touch a specific part of an edit text
I'd like to build an activity that is mixing layouts with 2D graphics. So for example, would like to introduce an edittext with an integer value and based on that value the size of a circle is dynamically adjusted and drawn. Any idea how to do this?
For plain graphics I am using this approach here - but how can it be expanded to cover Android layouts (buttons, editboxes, textviews, radiobuttons, etc.)?
I have doubts while doing some 2D Graphics and animation. Here is what i have done and what i want to do further: An application starts with a 2D object [ball] rotating and execising in a particular fashion, and after a particular point in time the object [ball] scrolls out of vision. After this point i want to invoke a new activity with a different UI. I m stuck up while trying to transit from this View to a new activity.
How can I know the length of the each character of word. Actually, I am trying some thing like this:I will show some set of lines on the screen. Later after some time, I would like to set the color to each character in the line at a frequent interval. Now I want to set the color to each and every character of the drawn string.
In my application, I will get a instance of android.graphics.picture which is populated by user. Then I use writeToStream to save. After save, I have to check the file size. If the size is too large, then I should delete this file.
I think this save-check-delete operation is not reasonable. I prefer to check the size of android.graphics.picture. If the size is too large, I should not save to local. But I checked android.graphics.picture, it only have getHeight and getWidth member functions.
I have some transparent graphics in my game. Up through 2.0.0 they have looked fined. Since Android 2.0.1 though, some parts of the fully transparent regions of the graphics are instead slightly opaque (e.g. a circular gradient that goes to 100% transparency will have a faint halo around it).
I have tried putting my graphics in ../raw/ but that did not help (as described at http://developer.android.com/guide/topics/graphics/2d-graphics.html#d...)
I have also tried exporting the Adobe Illustrator graphics at 16-bit pngs (instead of 8bit), but that did not help either.
I have much experience with Java, and am quickly getting to grips with Android. But I have very little experience with graphics... most of my work has been logical, back end web development. The last time I did any proper screen drawing was in the good old days of Applets (years ago).
I can see that Android has a very complex graphical interface, but I don't know where to start. I've looked at some of the sample apps that come with the SDK, but it's slow progress.
For example, I'm trying to learn by developing a simple rolling ball. Currently I'm using onDraw(Canvas canvas), a paint object, and path.addCircle() to draw a circle, which I then update frequently. However the result is jerky, and slow - I want to see it flying around the screen! Clearly this isn't the right way to go about it.
So two questions I suppose: 1) What graphics tools would you recommend to implement my example? 2) Where can I learn more about the graphics capabilities of android?
I was disappointed to discover that OpenGL ES, the flavor of OpenGL implemented in Adroid, doesn't appear to support the usual techniques for drawing graphics involving curves. I'd be happy with either OpenGL's low-level Bezier evaluators, or the more advanced NURBS approach, but AFAICS neither is supported - only straight-line graphics are possible. Does anyone know, am I missing something basic here? Is there a way to generate curves of any sort in Android's OpenGL implementation? I am still fairly new to Android development, so that's certainly possible. Note that I'm not talking about functions related to Canvas - I know about drawOval, for example - but I specifically need 3D.
When you turn on the phone, after the G1 screen, there's a black screen with the word Android in blue, and a glossy shine running across it. Can you tell me how imitate that effect? Maybe point me in the right direction, like what classes to look at?
Does the current API support scalable vector graphics? If so which file formats? If not, will it be added in the future? I ask because I'd like my animations to based off of SVGs - in order to better support different screen resolutions while reducing file size.
I've been working on an Android app in Eclipse, and so far, my program hasn't really grown past midget size. However I've already run into an issue with an Out of Memory error. You see, I've been using graphics comprised solely of bitmaps and PNGs in this program, and recently, when I tried to add a little bit more functionality to the program (mainly including a few more bitmaps and causing an extra sprite to be created), it started crashing in the graphics thread's constructor -> sprite's constructor. When I tracked the problem down, it turned out to be an Out of Memory error that is seemingly caused by adding too many picture files to the program and creating Drawables out of them.
This would be a problem, as I really don't have that many picture resources worked into that program...maybe 20 or so. I haven't even started to include sound yet. These images aren't all that fancy. My questions are this:
1) Are programs for the Android phone really that limited on how much memory they can employ, or is it probably something other than the 20-30 resource pictures causing that error?
2) If the memory for Android apps is so awful it can't even handle 20-30 picture resources being loaded into Drawables that exist at the same time, then how in the world are you supposed to make decent graphics and sound for that thing?