android开发系列之一—创建一个简单的webapp
来源:互联网 发布:金碟软件 编辑:程序博客网 时间:2024/05/16 07:56
怎么样把html5网站编译为一个app?做了以下尝试:
1.用wex5直接把一个html5网站网址如:http://115.28.89.67:8097/wap-interface/ 打包,之后发现问题:
(1).页面加载很慢
(2)无法回退页面(我们网站好多页面没有回退按钮),无法退出整个web app.
2.用android webview套壳,之后发现问题:
(1)个别js无法加载运行:
A.alert()
/** * 覆盖默认的window.confirm展示界面,避免title里显示为“:来自file:////” */ public boolean onJsConfirm(WebView view, String url, String message, final JsResult result) { final AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext()); builder.setTitle("提示:") .setMessage(message) .setPositiveButton("确定",new OnClickListener() { public void onClick(DialogInterface dialog,int which) { result.confirm(); } }) .setNeutralButton("取消", new OnClickListener() { public void onClick(DialogInterface dialog, int which) { result.cancel(); } }); builder.setOnCancelListener(new OnCancelListener() { @Override public void onCancel(DialogInterface dialog) { result.cancel(); } }); // 屏蔽keycode等于84之类的按键,避免按键后导致对话框消息而页面无法再弹出对话框的问题 builder.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(DialogInterface dialog, int keyCode,KeyEvent event) { // Log.v("onJsConfirm", "keyCode==" + keyCode + "event="+ event); return true; } }); // 禁止响应按back键的事件 // builder.setCancelable(false); AlertDialog dialog = builder.create(); dialog.show(); return true; // return super.onJsConfirm(view, url, message, result); } });
弹出框样式:
@Override public boolean onJsAlert(WebView view, String url, String message, JsResult result){ final AlertDialog.Builder builder = new AlertDialog.Builder(view.getContext()); builder.setTitle("提示:") .setMessage(message) .setPositiveButton("确定", null); // 不需要绑定按键事件 // 屏蔽keycode等于84之类的按键 builder.setOnKeyListener(new OnKeyListener() { public boolean onKey(DialogInterface dialog, int keyCode,KeyEvent event) { //Log.v("onJsAlert", "keyCode==" + keyCode + "event="+ event); return true; } }); // 禁止响应按back键的事件 builder.setCancelable(false); AlertDialog dialog = builder.create(); dialog.show(); result.confirm();// 因为没有绑定事件,需要强行confirm,否则页面会变黑显示不了内容。 return true; // return super.onJsAlert(view, url, message, result); }
放在webview内部:
myWebView.setWebChromeClient(new WebChromeClient()
{
});
B.history.go(-1)无法正确执行。
改为:history.go(1-history.length);
(2)启动app进入首页加载慢,中间有空白闪屏。
把首页放在本地
在文件中配置:
至此,一个android web app大功告成!
1 0
- android开发系列之一—创建一个简单的webapp
- 创建一个简单的webapp
- android开发实战系列(06)-- 创建一个简单的用户界面
- 【Java Servlet 开发系列之二】创建WebApp详细步骤,通过Servlet实现http简单交互
- webapp系列开发之一:在eclipse配置Phonegap框架
- 【转帖】驱动开发之一 --- 创建一个简单的设备驱动 【译文】
- 驱动开发之一 --- 创建一个简单的设备驱动 【译文】(精华)
- 驱动开发之一 --- 创建一个简单的设备驱动(续) 【译文】
- 驱动开发之一 --- 创建一个简单的设备驱动(续) 【译文】
- 使用bower+angular+express创建webapp(一)一个简单的demo
- idea开发系列教程(-)-创建maven webapp项目
- 【虫师--系列】JMeter基础之一 一个简单的性能测试
- 创建一个webApp
- 【spring教程之一】创建一个最简单的spring例子
- QuickPart应用系列之一——利用QuickPart制作一个简单的webpart
- Android开发系列笔记 之一
- Android 系列 6.32创建一个简单的应用程序小部件widget
- Android开发系列(九):创建数据库以及完成简单的CRUD操作
- 我们是驴还是主人
- XPath 教程
- Android - day three 四大组件之 广播(broadcast reciver)
- 博客迁移
- 人脸识别 cam
- android开发系列之一—创建一个简单的webapp
- 145. Binary Tree Postorder Traversal
- Glide 入门到精通之十三 ——用 animate() 自定义动画
- iOS 证书介绍
- Java虚拟机类加载机制
- 怎么运用PDF Transformer+实现文本到PDF的添加
- Web服务器错误代码
- 数据库:自己理解的“数据库事务隔离级别”
- 对象接口