导图社区 WEBView、VedioVIew开发框架思路模板
“客户端和服务端交互(注册用户) 使用nodejs编写服务端代码,前端通过jquery发起post请求,后端得到数据后向数据库中添加用户信息 客户端(通过jquery发起请求) 1、定义input框用来输入用户名和密码 用户名:<input type="text" id="username"> 密码:<input type="text" id="pa.
编辑于2022-11-14 14:01:52 广东WEBView、VedioVIew开发框架思路模板
webView
用途
浏览网页,浏览器
加载数据
方法
canGoBack()
该网页返回上一个打开的网页
getTitle()
获得当前网页的标题
getUrl()
loadUrl()
互联网
webView.loadUrl("http://www.google.com");
本地
webView.loadUrl("file:///android_asset/XX.html")
WebSettings
设置WebView的属性和状态
(1)setAllowFileAccess(boolean allow)
设置启用或禁止访问文件数据
(2)setBuiltInZoomControls(boolean enabled);
//设置是否支持缩放
(3)setDefaultFontSize(int size);
设置默认的字体大小
(4)setJavaScriptEnabled(boolean flag);
设置是否支持JavaScript
3.WebViewClient
辅助WebView处理各种通知、请求等事件
this.webView.setWebViewClient(new WebViewClient());
方法
(1)doUpdateVisitedHistory
(WebView view, String url, boolean isReload);
更新历史记录
(2)onFormResubmission
(WebView view, Message dontResend, Message resend
重新请求网页数据
(3)onLoadResource
(WebView view, String url);
加载指定网址提供的资源
(4)shouldOverrideUrlLoading()
让新打开的网页在当前的WebView中进行显示
onPageFinished
onPageStarted
代码
4.WebChromeClient
用来辅助WebView处理Javascript
对话框、网站图标、网站标题以及网页加载进度
方法
setWebChromeClient()
onProgressChanged
onReceivedIcon
onReceivedTitle
用户端与服务器登陆交互
用户端:login.html
代码
交互核心代码,上传登陆得到反应码
注册权限INTERNET
原理
1.得到WebView的设置对象
this.webView.getSettings();
2、启用WebView的缩放功能
webSettings.setBuiltInZoomControls(true);
3.启用WebView对象javaScript语言的支持
webSettings.setJavaScriptEnabled(true);
4、注册服务器端回调接口对象
webView.setWebChromeClient(new WebChromeClient(){
public boolean onJsAlert
(WebView view, String url, String message,final JsResult result) {
Builder builder=new Builder(MainActivity.this);
builder.setTitle("提示信息");
builder.setMessage(message);
builder.setPositiveButton("确定",new OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
result.confirm();//弹出javascript确认对话框
builder.create().show();
return true;
/注册Java对象和javascript进行沟通的对象和别名
this.webView.addJavascriptInterface(new JSObject(), "jsObject");
this.webView.loadUrl(url);
5、自定义服务器端回调客户端的数据result
public final class JSObject{
public String getMessage(String userName,String pwd){
代码
Main
服务器端回调客户端的代码
VedioView
class MediaController
extends FrameLayout
一个包含媒体播放器(MediaPlayer)控件的视图
常用方法
hide ()
从屏幕中移除控制器
boolean isShowing ()
是否处于可见状态
onFinishInflate ()
XML文件加载视图完成
onTouchEvent
处理触摸屏幕引发的事件
onTrackballEvent
处理轨迹球的动作事件
show (int timeout)
闲置’超时 (timeout)’毫秒到达后自动消失
setPrevNextListeners (View.OnClickListener next, View.OnClickListener prev)
设置"previous"和 "next"按钮的监听器函数
网址
http://www.cnblogs.com/over140/archive/2011/01/21/1940811.html
layout
添加vedioView
mainActivity
获得多媒体管理者
MediaController mediaController=new MediaController(this);
获得vedioView控件
this.videoView=(VideoView) this.findViewById(R.id.videoView);
绑定多媒体控制器
this.videoView.setMediaController( mediaController)
指定视频播放器播放的文件路径
this.videoView.setVideoPath(path);
启动
this.videoView.start();
NetworkInfo
网络信息对象
ConnectivityManager
连接管理器对象
获得
连接管理器对象
(ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
网络信息对象
networkInfo = this.connectivityManager.getActiveNetworkInfo();
相关判断
网络是否可用
boolean isAvailable = this.networkInfo.isAvailable();
if (isAvailable) {
Toast.makeText(this, "testConnection.当前有网络!", Toast.LENGTH_LONG)
.show();
} else {
Toast.makeText(this, "testConnection.当前无网络!", Toast.LENGTH_LONG)
.show();
是wifi网络还是3G网络
State state_wifi = this.connectivityManager.getNetworkInfo(
ConnectivityManager.TYPE_WIFI).getState();
State state_mobile = this.connectivityManager.getNetworkInfo(
ConnectivityManager.TYPE_MOBILE).getState();
wifi
if (state_wifi == State.CONNECTED) {
跳转到WIFI网络连接界面
this.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
3G等流量网络
if (state_mobile == State.CONNECTED) {
this.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
wifi是否打开
GPS
介绍
http://www.linuxidc.com/Linux/2012-02/55379.htm
jar包导入
引用工程
右键pro..
islibary取消可以运行
意外错误