Why does this limit exists?

If one wants to display html-code that has been fetched to view ONCE,
this html-code has to be written in a content provider?



On Aug 24, 12:49 pm, "[EMAIL PROTECTED]"
<[EMAIL PROTECTED]> wrote:
> So, creating a content provider, which returns the same content of the
> file, would be accessed by loadUrl from webview, without any "url
> filtering"?
> Such as, for example... content://my.mailclient/231
> Should retrieve the content of file "231.html": content provider acts
> as "webserver".
> Is it right?
>
> On 24 Ago, 00:07, "Megha Joshi" <[EMAIL PROTECTED]> wrote:
>
> > In that case you should use the content provider option mentioned
> > earlier...Using a content provider would allow images as the content
> > provider would be used for image loading too. Another alternative is to put
> > the image inline, using the data:// scheme.
>
> > On Fri, Aug 22, 2008 at 4:47 AM, [EMAIL PROTECTED] <
>
> > [EMAIL PROTECTED]> wrote:
>
> > > I already done that but there's another limit: data rendered via
> > > loadData arenotable to load remote resources (<img
> > > src="http://...";>).
>
> > > On 21 Ago, 22:21, "Megha Joshi" <[EMAIL PROTECTED]> wrote:
> > > > On Wed, Aug 20, 2008 at 4:46 PM, Megha Joshi <[EMAIL PROTECTED]> wrote:
> > > > > For security reasons, WebView doesnotallow "file:" access any more.
>
> > > > > If you want the link to be loaded in your activity, you should provide
> > > a
> > > > > WebViewClient and implement shouldOverrideUrlLoading with { return
> > > false; }
>
> > > > This option doesnotwork anymore, sorry for the confusion!
>
> > > > So the only way to load local file contents into WebView, is as Gil
> > > pointed
> > > > out ...by loading the contents with loadData()/
>
> > > > Sample code:
> > > >  static final int MAXFILESIZE = 8096;
> > > >  String path = uri.getPath();
> > > >         File f = new File(path);
> > > >         final long length = f.length();
> > > >         if (!f.exists() || length > MAXFILESIZE) {
> > > >             return;
> > > >         }
>
> > > >         // typecast to int is safe as long as MAXFILESIZE < MAXINT
> > > >         byte[] array = new byte[(int)length];
>
> > > >         try {
> > > >             InputStream is = new FileInputStream(f);
> > > >             is.read(array);
> > > >             is.close();
> > > >         } catch (FileNotFoundException ex) {
> > > >             // Checked for file existance already, so this shouldnot
> > > happen
> > > >             return;
> > > >         } catch (IOException ex) {
> > > >             // read or close failed
> > > >             Log.e(LOGTAG, "Failed to access file: " + path, ex);
> > > >             return;
> > > >         }
> > > >         mWebView.loadData(new String(array), mimeType, null);
>
> > > > There is a 8KB limit on the file size. So if your data is more that 8KB,
> > > you
> > > > should create a content provider
> > > > for your files and then the use the ContentResolver.openContentURI()...
>
> > > > > On Wed, Aug 20, 2008 at 4:34 PM, [EMAIL PROTECTED] <
> > > > > [EMAIL PROTECTED]> wrote:
>
> > > > >> I used WebView to display rich content emails (I'm writing a mail
> > > > >> client). It worked well loading URI such as
> > > > >> file://sdcard/filewhateveryouwant.xxx
> > > > >> ...
> > > > >> Now I upgraded to 0.9 and Android OS is displaying me apagewith "The
> > > > >> requested file wasnotfound."
>
> > > > >> Maybe a PERMISSION issue?
>
> > > > >> On 19 Ago, 20:36, "Megha Joshi" <[EMAIL PROTECTED]> wrote:
> > > > >> > Browser doesnotsupport viewing local files...
>
> > > > >> > On Tue, Aug 19, 2008 at 12:38 AM, Peli <[EMAIL PROTECTED]>
> > > wrote:
>
> > > > >> > > Is it possible to open a local file in the browser?
>
> > > > >> > > In the Android browser, I tried menu / go to:
> > > > >> > > file:///sdcard/test.html
>
> > > > >> > > I always receive the error message:
> > > > >> > > "Webpagenotavailable.
> > > > >> > > Thewebpageat file:///sdcard/test.html couldnotbe loaded as:
> > > > >> > > The requested file wasnotfound."
>
> > > > >> > > even though the files exist in /sdcard/test.html.
> > > > >> > > Do I have to use a different URL, or put files into a different
> > > > >> > > folder?
>
> > > > >> > > Peli
>
> > > > >> > > PS: From within an application, there seems to be a way to load
> > > local
> > > > >> > > files:
>
> > > > >> > > "The prefix "file:///android_asset/" will cause WebView to load
> > > > >> > > content from the current application's assets folder."
>
> > >http://code.google.com/android/reference/android/webkit/WebView.html
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new Android 0.9 SDK beta!
http://android-developers.blogspot.com/2008/08/announcing-beta-release-of-android-sdk.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to