- 浏览: 198561 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xyyx_nk:
在demo中没有下载的示例,能详细说一下怎么监听下载过程吗?比 ...
DhNet 网络http工具(带缓存功能哦) -dhroid文档 -
zhaoguowei998:
dhroid ioc模块对 加密混淆问题 -
zhaoguowei998:
你太牛了,佩服佩服,以后要多想你请教了
dhroid ioc模块对 加密混淆问题 -
白色蜻蜓:
转载下您的文章,已注明出处。
IOS开发之百度地图API应用 -
wenjiefeng:
你好,在andrioidpn-client客户端源码里,Not ...
Android 推送之原理与初触Androidpn(Android Push Notification)
在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件。
什么是webkit
WebKit 是Mac OS X v10.3及以上版本所包含的软件框架(对v10.2.7及以上版本也可通过软件更新获取)。 同时,WebKit也是Mac OS X的Safari网页浏览器的基础。WebKit是一个开源项目,主要由KDE的KHTML修改而来并且包含了一些来自苹果公司的一些组件。
传 统上,WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS。不过, 随着JavaScript引擎的独立性越来越强,现在WebKit和WebCore已经基本上混用不分(例如Google Chrome和Maxthon 3采用V8引擎,却仍然宣称自己是WebKit内核)。
这里我们初步体验一下在android是使用webview浏览网页,在SDK的Dev Guide中有一个WebView的简单例子 。
在开发过程中应该注意几点:
1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。
2.如果访问的页面中有Javascript,则webview必须设置支持Javascript。
webview.getSettings().setJavaScriptEnabled(true);
3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。
- mWebView.setWebViewClient( new WebViewClient(){
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- return true ;
- }
- });
4.如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网 页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。
- public boolean onKeyDown( int keyCode, KeyEvent event) {
- if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
- mWebView.goBack();
- return true ;
- }
- return super .onKeyDown(keyCode, event);
- }
下一步让我们来了解一下android中webview是如何支持javascripte自定义对象的,在w3c标准中js有 window,history,document等标准对象,同样我们可以在开发浏览器时自己定义我们的对象调用手机系统功能来处理,这样使用js就可以 为所欲为了。
看一个实例:
- public class WebViewDemo extends Activity {
- private WebView mWebView;
- private Handler mHandler = new Handler();
- public void onCreate(Bundle icicle) {
- super .onCreate(icicle);
- setContentView(R.layout.webviewdemo);
- mWebView = (WebView) findViewById(R.id.webview);
- WebSettings webSettings = mWebView.getSettings();
- webSettings.setJavaScriptEnabled(true );
- mWebView.addJavascriptInterface(new Object() {
- public void clickOnAndroid() {
- mHandler.post(new Runnable() {
- public void run() {
- mWebView.loadUrl("javascript:wave()" );
- }
- });
- }
- }, "demo" );
- mWebView.loadUrl("file:///android_asset/demo.html" );
- }
- }
我们看addJavascriptInterface(Object obj,String interfaceName)这个方法,该方法将一个java对象绑定到一个javascript对象中,javascript对象名就是 interfaceName(demo),作用域是Global。这样初始化webview后,在webview加载的页面中就可以直接通过 javascript:window.demo访问到绑定的java对象了。来看看在html中是怎样调用的。
- < html >
- < mce:script language = "javascript" > <!--
- function wave() {
- document.getElementById("droid").src = "android_waving.png" ;
- }
- // --> </ mce:script >
- < body >
- < a onClick = "window.demo.clickOnAndroid()" >
- < img id = "droid" src = "android_normal.png" mce_src = "android_normal.png" /> < br >
- Click me!
- </ a >
- </ body >
- </ html >
这样在javascript中就可以调用java对象的clickOnAndroid()方法了,同样我们可以在此对象中定义很多方法(比 如发短信,调用联系人列表等手机系统功能。),这里wave()方法是java中调用javascript的例子。
这里还有几个知识点:
1)为了让WebView从apk文件中加载 assets,Android SDK提供了一个schema,前缀为"file:///android_asset/"。WebView遇到这样的schema,就去当前包中的 assets目录中找内容。如上面的"file:///android_asset/demo.html"
2)addJavascriptInterface方法中要绑定的Java对象及方法要运行另外的线程中,不能运行在构造他的线程中,这也是使用 Handler的目的。
发表评论
-
Dhdb 简化sqlite数据库操作--dhroid文档
2014-04-15 12:30 1308android数据库其实使用的不多,dhroid框架中的 ... -
dhroid ioc模块对 加密混淆问题
2014-04-14 12:52 921大家应该已经看过ioc ... -
NetJSONAdapter 网络化的adapter(高效) -dhroid文档
2014-04-04 12:15 843关于adapter 我想对于大家来说已经不陌生了,基本应用 ... -
DhNet 网络http工具(带缓存功能哦) -dhroid文档
2014-03-24 13:36 1401网络请求是大多数应用不可获取的一部分,曾经和一个其他公司的 ... -
eventbus 事件总线-dhroid文档
2014-03-23 11:47 1212你听过onClick 事件,onItemClick 事件, ... -
ioc基础(视图,资源,assert注入)-dhroid文档
2014-03-21 12:59 820上一节 Android 极速开发框架 dhroid来了 ... -
ioc高级(接口,对象注入)-dhroid文档
2014-03-21 13:04 1084前一章 ioc基础( ... -
IOC容器详解(想晋升的进来)---dhroid框架教教程(一)
2014-03-20 10:30 942控制反转(Inversion of Control,英文缩写 ... -
Android 极速开发框架 dhroid来了(提供demo)
2014-03-19 17:24 1338我们公司内部使用的商业级android开发框架dhr ... -
HttpClient的3种超时说明
2013-03-14 11:05 851/* 从连接池中取连接的超时时间 */ConnManag ... -
MeasureSpec介绍及使用详解
2013-01-24 21:21 728一个MeasureSpec封装了父 ... -
Android学习——TextView 设置中划线 下划线
2012-10-31 14:42 3430android:textAppearance ... -
ListView与其中的Button,EditText,RatingBar等widget的click事件
2012-10-26 14:48 811在<RelativeLayout>中 an ... -
在线词典API
2012-09-09 19:34 687QQ词典 http://dict.qq.com/dic ... -
关于android WebViewClient的方法解释
2012-09-09 17:12 7381、public boolean shouldOverride ... -
android Uri获取真实路径转换成File的方法
2012-08-23 12:40 3026data.getData()返回的 ... -
Java之WeakReference与SoftReference使用讲解
2012-08-22 09:46 648如果你想写一个 Java 程序,观察某对象什么时候会被垃圾收集 ... -
Android自定义捕获Application全局异常
2012-08-21 17:24 1146package qianlong.qlmobile ... -
android 缩放图片与内存溢出
2012-08-03 09:43 1156常用的Android版缩放图片代码: ContentRes ... -
获取手机设备方向
2012-08-03 09:33 1435@Override public void onS ...
相关推荐
哈尔滨工程大学考研初试大纲
基于ASP酒店房间预约系统(源代码+论文)【ASP】
毕业设计基于机器学习的DDoS入侵检测python源码(高分项目).zip个人经导师指导并认可通过的高分毕业设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
NewNormal
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
哈尔滨工程大学考研复试大纲
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
哈尔滨工程大学考研复试大纲
头 microSWIFT V2 固件,基于 STM32 U575 芯片组。作为项目导入到STM32CubeIDE中
bailando 网络 smpl pkl 数据+ blendershape csv数据集训练代码
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
Arthas测试使用
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能: (1) 系统具有简洁大方的页面,使用简便,友好的错误操作提示 (2) 管理员用户具有系统信息管理、班级信息管理、教师信息管理、学生信息管理、公告管理、留言管理、资料管理、点播视频管理等功能。 (3) 具有较强的安全性,避免用户的恶意操作 本基于Web技术的B/S结构的系统采用jsp技术进行开发设计,开发环境是MyEclipse,服务器采用tomcat,通过jdbc驱动和数据库进行无缝连接,具有较高的完整性,一致性和安全性。
基于Python+PyQt5的网上书店管理系统源码+项目说明(含登录功能+课设报告).zip 基于Python+PyQt5的网上书店管理系统源码+项目说明(含登录功能+课设报告).zip 基于Python+PyQt5的网上书店管理系统源码+项目说明(含登录功能+课设报告).zip 【优质项目推荐】 1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 2.项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、项目初期立项演示等用途。 4.如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能。 基于Python+PyQt5的网上书店管理系统源码+项目说明(含登录功能+课设报告).zip 功能 - 智能检查:检查书店存在此图书以及电话号码是否合法 - 采用下拉框智能补全,通过出售书名来补全,作者信息栏,通过出售书名来补全出版社,以确保书名,作者,出版社一一对应;通过买方手机号来补全默认配送地址,配送地址可随改 - 智能提示:提示书名与电话号码填写问题 - 第二遍确认 ### 修改图书页 ![](https://gowi-picgo.oss-cn-shenzhen.aliyuncs.com/picgo/20200607204627.png) 功能: - 修改图书信息(按下修改,使其一行可以修改,其余行不可修改,且不同行按钮处于冻结状态,按下完成按钮修改内容同步至数据库) - 翻页 - 返回上一级 - 查询 ### 查看会员信息 ![](https://gowi-picgo.oss-cn-shenzhen.aliyuncs.com/picgo/20200607205033.png) 功能: - 不可编辑 - 分页 - 查询 - 返回主页 ### 查看购买记录 ![](https://gowi-picgo.oss-cn-shenzhen.aliyuncs.com/picgo/20200607205146.png) 功能 - 查询 - 分页 - 按时间排序 - 不可编辑
2024版华为OD机试题库,包含C、D卷所有真题,粉丝可领取体验卡免费看题,包含面试手撕代码等等内容
铁路工程管理平台通过测量手簿批量转外业记录表,生成之后通过wps js宏批量应用样式
- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
基于C语言+stm32和esp8266通过点灯科技实现的智能台灯设计系统+源码+设计思维导图+PCB设计,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C语言+stm32和esp8266通过点灯科技实现的智能台灯设计系统+源码+设计思维导图+PCB设计,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于C语言+stm32和esp8266通过点灯科技实现的智能台灯设计系统+源码+设计思维导图+PCB设计,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 使用stm32和esp8266通过点灯科技实现的智能台灯设计。 硬件平台:STM32 + ESP8266 + BH1750 + OLED12864 + W25Q64 ; 使用STM32接收esp8266的串口数据。 ESP8266接入BLINKER平台,控制数据传输。 通过PWM控制RGB 和白光,黄光的亮度开关等数据。
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。