Issue
Hi i am loading local html file after handling some javascript alerts on webchromeclient, But after i call webview's loadUrl method my local html page loads very slowly it waits about 20 seconds to load.
Here is my code below:
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
// TODO Auto-generated method stub
result.confirm();
if (message.contains(GeneralConstants.ALERT_LOGIN_TIMUSER)) {
String s[] = message.split(";");
//Set ldap user
view.loadUrl("file:///android_asset/mainMenu.html");
return true;
}
Thanks for any advice.
Solution
try this piece of code for a better performance
AssetManager mgr = getContext().getAssets();
try {
InputStream in = mgr.open(FileName,AssetManager.ACCESS_BUFFER);
String sHTML = streamToString(in);
in.close();
//display this html in the browser
WebView w = (WebView) findViewById(R.id.webview);
w.getSettings().setDefaultZoom(ZoomDensity.FAR);
w.loadDataWithBaseURL("file:///android_asset/", sHTML, "text/html", "utf-8", null);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
public static String StreamToString(InputStream in) throws IOException {
if(in == null) {
return "";
}
Writer writer = new StringWriter();
char[] buffer = new char[1024];
try {
Reader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} finally {
}
return writer.toString();
}
Answered By - vipin
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.