I thought it might be interesting to some developers. Here's a complete working example of ContentProvider for this purpose: http://blog.tourizo.com/2009/02/how-to-display-local-file-in-android. I also found a topic here: http://groups.google.com/group/android-developers/browse_thread/threa. Looks like the topic was closed and I couldn't reply there, so I created new one.
I am developing a small application in Android. I come across a problem, and not sure whether it is possible in Android platform. I have some local html files. There is an Activity contains a webview, which is used to display these local html files. In some cases, I want to display a picture selected from phone into one of these local html files. Is it possible? Has anyone resolved such problem? I appreciate any of your replies.
We have a large HTML which contents 1000's of lines. But we want to show content of the HTML file that fits a single screen. We want provide a '>' kind of to show the next contents of the same HTML file. Our objective is to only display the HTML contents that fits the screen.Similar to reader application For user, it seems there are several pages. Is there any way in which we can achieve this functionality. Whether WebView has any function related to full fill the requirement.
We have a large HTML which contents 1000's of lines. But we want to show content of the HTML file that fits a single screen. We want provide a '>' kind of to show the next contents of the same HTML file. Our objective is to only display the HTML contents that fits the screen.Similar to reader application For user, it seems there are several pages.
I am trying to create a hybrid Android app which pulls HTML content from a web server and renders it in a WebView. However, I also want the external HTML to be able to reference images that are packaged within the android app. I realize that currently it is not possible to do something like <img src="file:///my_image.jpg" /> in the HTML. I have seen discussions of using the ContentProvider to create name spaces in the html, however all of these examples seem to assume that the actual html page is also on the device and tend to use WebView.loadData(). So, is there someway that it is possible to do this? The main goal is to package all the application images/css in the android app, but put the bulk of the application on an external server that returns the actual markup.
I have a WebView that I'm using to open some files stored in the assets/ directory of my project. It works fine for most of the files, but there's one in particular (and I'm sure others I haven't found) that it just will not open.Code...
I'm trying without success to shape a simple screen composed of a webview and a closebutton on the bottom. When i run it i see the button close at bottom but when the loadURL of the webview is done the webview takes all the screen size and hide the close button.
I'm trying to read some local files, and ive been reading a lot of stuff about it, but i still don't know where to store the files on my phone and how to get the right path. Some say, it should be stored on /data/data/your.package.here/files but where is that, i mean i can get there when using the emulator but i have no clue how to put files in this on a real device.
All of the android examples for XmlPullParser pull from a local resource file, and all of the SAX examples pull the XML from a URL. I've been told SAX is faster, so I'm trying to use that to pull data from a local resource file (res/xml/thefile.xml)
The example code I'm working off of is here. So in that example, the code I want to change is:
URL url = new URL("http://example.com/example.xml"); ... xr.parse(new InputSource(url.openStream()));
Instead of using URL, I want to use getXml(R.xml.thefile) Is that possible, or does SAX need to get data from a URL?
Using Local XML file as a database for a android app?
I am trying to build a app with flash using a xml file as database, to read the xml from a external file from the local directory isn't a problem, the problem is how to write data from flash to the xml file.
I don't want to store said file on the sdcard in this case. The file also cannot be storage directly in the apps local files directory. It needs to be in a subdirectory, so it cannot write the file using openFileOutput() and MODE_WORLD_READABLE.
The app may download files small files like pdfs and store them locally in a subdirectory. I would like to be able to have the user open these files if they have an app that can open them.
For example here is an intent for sending a pdf:
path being something like: /data/data/packagename/files/subdir/example.pdf
That intent will open a pdf viewer, but the viewer is unable to open the file. I assume this is a permissions issue. I tried Mark Murphy's suggestion here: http://groups.google.com/group/android-developers/browse_thread/thread/4e55d869213483a9/b7270078ac1a2744?lnk=raot of using Runtime.getRuntime().exec("chmod 755 " + fileName); but it didn't make any difference. He also suggested a Content Provider but I would like to avoid it if I can because it seems like a lot just to get this file over to another app.
If the content provider is the only option, do I have to save the file to the content provider or can I just use the content provider as a pass through to get it to the other app when I need to?
When I started to display an image from the SDCARD in WebView, I got errors like: " Not allowed to load local resource: file://". I�ve found a solution for this, and you don�t even have to care about ContentProviders� Here�s an example: /* Using WebView to display the full-screen image */ WebView full = (WebView)findViewById(R.id.webview); /* Set up the Zoom controls */ FrameLayout mContentView = (FrameLayout) get Window(). getDecorView().findViewById(android.R.id.content); final View zoom = this.full.getZoomControls(); mContentView.addView(zoom, ZOOM_PARAMS); zoom.setVisibility(View.VISIBLE); /* Create a new Html that contains the full-screen image */ String html = new String(); html = ("<html><center><img src=""+fileName+""></html>" ); /* Finally, display the content using WebView */ full.loadDataWithBaseURL("file:///sdcard/data/data/com.youproject.example "utf-8", ""); Hope you found it useful, let me know how it works for you!
I tried WebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); but view crashed in 1.6 OS. I calculate scale(webview.capturePicture()) but I cannot set it after page loaded. Is it any working solution for fitting webview content to display (1.6 OS)?
I'm receiving XML which contains elements of HTML and I want to display these to the users. Therefore, I have to set the content programmatically, rather than extract the strings from an android xml resource. I'm using a WebView to display the content, rather than TextView, as it handles some of the HTML markup - bold text for example, and links. However WebView does appear to be rather limited.
I have a webview I'd like to display as a dialog. I'd like the webview to fill the entire screen, except for a button below it that I'd like to stay at the bottom of the dialog regardless of how much content is in the webview. Currently my webview fills up the dialog just enough to push the button off the screen. I'm sure this is something pretty easy but for the life of me, I haven't been able to find the magical combination of layouts, views and attribute values to get it to play nice. Just to be clear, I've gotten it so the button floats over the webview but I'd like the webview to stop just above the button and scroll, if that makes sense.
This should be very simple, but I can't find the answer anywhere. How do I load an html file (which I assume I keep in res/raw folder) into a webview? neither mWebView.loadUrl("file:///raw/about"); or mWebView.loadUrl("file:///raw/about.htmal"); works. What's the correct syntax or arrangement.
I am trying to get googlemaps to accept a local KML file. final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=file://" + Environment.getExternalStorageDirectory() + "/locate.kml")); startActivity(myIntent);
The file is on the SD card, and is a valid KML file. Google Maps loads up, but says it cannot find the file. final Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("geo:0,0?q=http://www.website.com/locate.kml")); startActivity(myIntent);
Works fine. geo: 0,0? q= seems to be very under documented, how to use it to refer to a local file?