Unity3D游戏引擎实现在Android中打开WebView的实例

本文讲述了如何在Unity中调用Android中的WebView组件,实现内部浏览器样式的页面切换。首先打开Eclipse创建一个Android的工程:
UnityTestActivity.java 入口Activity ,Unity中会调用这个Activity中的方法从而打开网页。

package com.xys; import android.content.Context; import android.content.Intent; import android.os.Bundle; import com.unity3d.player.UnityPlayerActivity; public class UnityTestActivity extends UnityPlayerActivity { Context mContext = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; } //Unity中会调用这个方法,从而开打WebView public void StartWebView(String str) { Intent intent = new Intent(mContext,WebViewActivity.class); this.startActivity(intent); } }

WebViewActivity.java Unity中发出通知打开这个Activity 继而打开WebView,没有什么难点大家看看就应当能掌握。

package com.xys; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebView; import android.widget.Button; public class WebViewActivity extends Activity { private WebView webView; private Button close; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView) findViewById(R.id.webView); webView.loadUrl("http://www.baidu.com/"); webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient()); close = (Button) findViewById(R.id.button); close.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { WebViewActivity.this.finish(); } }); } private class WebViewClient extends android.webkit.WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { //这里实现的目标是在网页中继续点开一个新链接,还是停留在当前程序中 view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } } }

然后是main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <WebView android:id="@+id/webView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" /> <Button android:id="@+id/button" android:text="关闭网页" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

最后是AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xys" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".UnityTestActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".WebViewActivity"> </activity> </application> <!-- 连接互联网的权限 --> <uses-permission android:name="android.permission.INTERNET" /> </manifest>

OK 到这里JAVA代码已经完全写完,然后把所有.JAVA文件打包变成.class文件,具体转换的方法大家可以参照相关的文章,这里就不再重复介绍了。

时间: 2024-10-09 07:42:11

Unity3D游戏引擎实现在Android中打开WebView的实例的相关文章

Unity3D游戏引擎实现在Android中打开WebView的实例_Android

本文讲述了如何在Unity中调用Android中的WebView组件,实现内部浏览器样式的页面切换.首先打开Eclipse创建一个Android的工程: UnityTestActivity.java 入口Activity ,Unity中会调用这个Activity中的方法从而打开网页. package com.xys; import android.content.Context; import android.content.Intent; import android.os.Bundle; i

IOS开发:Unity3D游戏引擎之构建框架与导出项目

  首先先去Unity3D官网 http://unity3d.com/,我们可以看到很多关于Unity3D的消息.点击DownLoad开始下载Unity,下载的时候建议不要使用Safari自带的下载工具,因为不支持断点续传,国外网站不稳定.建议使用迅雷去下载.目前最新的版本是Unity 3.4.1 ,完美支持Xcode 4 . 开发:Unity3D游戏引擎之构建框架与导出项目-"> 下载完成后,进入Unity.首次须要走注册流程,这里说一下Unity 3D的购买许可为1500美刀,如果要部

Unity3D游戏引擎技术研讨会将在中国上海召开

(编译/小熙)最近PC.MAC.iPhone.ipad.PS和Xbox360等众多平台的引擎效能成为了业界关心的焦点问题,而Unity3D游戏引擎技术研讨会在中国的召开,无疑吸引了各家厂商的目光. 在上海举行的本届研讨会,由韩国国民大学游戏教育学院和中国东华大学联合举办.大会不仅是对Unity3D游戏引擎技术的介绍,更通过此次会议提升中国先进游戏技术的开发能力,培养后备研发人员. Unity3D游戏引擎技术研讨会最早于今年5月在韩国举行.据悉,现在十种以上的新引擎开发,都是采用了Unity3D游

隐藏-Android中的webview加载完成前后如何用一个图片来进行遮挡加载延迟的闪烁

问题描述 Android中的webview加载完成前后如何用一个图片来进行遮挡加载延迟的闪烁 用webview加载一个链接,但因为网速或者网页内容等问题,出现延迟,但是如果直接打开APP就开始加载的话,如果用户没有网络的情况下打开APP就什么都看不到了.所以想整个LOGO之类的全屏图片,等加载完成了之后再隐藏这个图片.该怎么实现,着急,在线等..... 解决方案 做个全屏的layout,等webview加载完就隐藏掉,在onPageFinished里处理 加载前可以先判断网络是不连通,不通就显示

Android中mvp模式使用实例详解

MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负 责显示.作为一种新的模式,MVP与MVC有着一个重大的区别:在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的,所有的交互都发生在Presenter内部,而在MVC中View会从直接Model中读取数据而不是通过 Controller. 在MVC里,View是可以直接访问

Android中new Notification创建实例的最佳方法_Android

目前 Android 已经不推荐使用下列方式创建 Notification实例: Notification notification = new Notification(R.drawable.ic_launcher,"This is ticker text",System.currentTimeMillis()); 最好采用下列方式: Notification notification = new Notification.Builder(this) .setContentTitle

android中的webview不能正常显示获取到的网页的图片轮播效果

问题描述 android中的webview不能正常显示获取到的网页的图片轮播效果 写了一个Android客户端软件,里边有个webview控件,获取到服务端的网页时出问题了. 网页上有个类似于HeadView的图片轮播效果,但是在客户端webview中不能正常显示. 解决方案 那你能将代码贴出来吗,这样猜不好猜的http://www.codesky.net/showhtml/26836.htm 上面的链接是一个关于webview显示获取到的网页图片轮播效果的源代码,你可以下载下来看看,然后找出自

在android中使用webview加载完一个网页后,如何知道一共加载了多少资源?

问题描述 在android中使用webview加载完一个网页后,如何知道一共加载了多少资源? RT,现在有一个需求要知道用webview加载完任意一个网页后一共有多少个资源,现在问题是不知道什么时候网页完全加载完,因为当webclient回调onPageFinished()之后,还是会继续回调onLoadResource()来加载资源,求给个思路 解决方案 用抓包工具(wireshark)即可查看 解决方案二: 可以在底层抓包实现哦... 解决方案三: 多少资源? 包括多少个图片js 吗 ? 分

Android中回调接口使用实例

MainActivity如下: package cc.cn; import cc.cn.ThreadSubclass.YourListener; import android.app.Activity; import android.os.Bundle; /** * Demo描述: * Android中回调接口使用实例 */ public class MainActivity extends Activity { private ThreadSubclass mThreadSubclass; @