精华内容
下载资源
问答
  • 原生安卓播放器

    2012-12-12 14:20:50
    原生安卓播放器
  • 原生安卓交互

    2020-12-09 00:17:25
    我试了一下调用原生安卓的实例,能跑起来,但是我自己按照教程写的就会一直报错,请问一下你在与原生安卓通信的时候,还需要配置一些额外的东西吗?</p><p>该提问来源于开源项目ÿ...
  • 一键刷回原生安卓系统
  • 2021 年包更原生安卓影视 app苹果 CMS 对接,原生 JAVA 影视 APP 源码支持 PC+WAP+APP 网上分享的都是去年老版本了,有需要的下载研究。
  • 原生安卓和jquery--原生安卓和jquery.mobile组合做的tab选项卡
  • unity3d调用原生安卓插件工具。支持多种android 原生方法调用。和多种平台接入
  • JsAndroid Js与原生安卓进行交互案列
  • PC实现Win10/原生安卓双系统-附件资源
  • 原生安卓包镜像地址

    2020-07-28 16:03:44
    原生安卓包: https://developers.google.cn/android/images?h1=zh=cn#angler

    原生安卓包:

    https://developers.google.cn/android/images?h1=zh=cn#angler

    展开全文
  • 【Unity调用原生安卓】入门参考 工具集 Unity基础方法:UnityActivity、UnityAppContext、PackageManager、RunOnUIThread  Toast、Log、java与C#string互转 此外还从网上找了一些方法、自己还封装了一些方法 ...
  • 2、在自己的页面添加以下内容,注意js位置别引错了 功能 {{title}} 点击调用android原生方法 三、打包后复制到安卓端需集成位置重新启动,触发该页面点击事件即可弹出自己传入的参数'args1','args2','args3','args4...

    一、后端准备

    1、创建一个MainVideoActivity.java类继承StandardFeature(这是demo中的,这里仅仅是换了包名和方法名)

    /**
     * 前端调用后端接口
     * 5+ SDK 扩展插件示例
     * 5+ 扩扎插件在使用时需要以下两个地方进行配置
     * 		1  WebApp的mainfest.json文件的permissions节点下添加JS标识
     * 		2  assets/data/properties.xml文件添加JS标识和原生类的对应关系
     * 本插件对应的JS文件在 assets/apps/H5Plugin/js/test.js
     * 本插件对应的使用的HTML assest/apps/H5plugin/index.html
     * 
     * 更详细说明请参考文档http://ask.dcloud.net.cn/article/66
     * **/
    public class MainVideoActivity extends StandardFeature
    {   
    
        public void onStart(Context pContext, Bundle pSavedInstanceState, String[] pRuntimeArgs) {
            
            /**
             * 如果需要在应用启动时进行初始化,可以继承这个方法,并在properties.xml文件的service节点添加扩展插件的注册即可触发onStart方法
             * */
        }
    
        public void pluginTestFunction(IWebview pWebview, JSONArray array)
        {
        	// 原生代码中获取JS层传递的参数,
        	// 参数的获取顺序与JS层传递的顺序一致
            //  获取回调ID
            String CallBackID = array.optString(0);
            //  构建回传参数
            JSONArray newArray = new JSONArray();
            newArray.put(array.optString(1));
            newArray.put(array.optString(2));
            newArray.put(array.optString(3));
            newArray.put(array.optString(4));
            // 调用方法将原生代码的执行结果返回给js层并触发相应的JS层回调函数
            // 第一个参数是当前函数的入参,直接传入, 第二个是根据入参获取的回调id,第三个是回调的数据,是一个json数组 第三个回调code值 如:OK、ERROR 第四个js层回调function是否要保存
            JSUtil.execCallback(pWebview, CallBackID, newArray, JSUtil.OK, false);
    
        }
    
        public void pluginTestFunctionArrayArgu(IWebview pWebview, JSONArray array)
        {
            String ReturnString = null;
            String CallBackID =  array.optString(0);
            JSONArray newArray = null;
            try {
    
                newArray = new JSONArray( array.optString(1));          
                String inValue1 = newArray.getString(0);
                String inValue2 = newArray.getString(1);
                String inValue3 = newArray.getString(2);
                String inValue4 = newArray.getString(3);
                ReturnString = inValue1 + "-" + inValue2 + "-" + inValue3 + "-" + inValue4;
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
            JSUtil.execCallback(pWebview, CallBackID, ReturnString, JSUtil.OK, false);
        }
    
        public String pluginTestFunctionSyncArrayArgu(IWebview pWebview, JSONArray array)
        {
            JSONArray newArray = null;
            JSONObject retJSONObj = null;
            try {
    
                newArray = array.optJSONArray(0);
                String inValue1 = newArray.getString(0);
                String inValue2 = newArray.getString(1);
                String inValue3 = newArray.getString(2);
                String inValue4 = newArray.getString(3);
    
                retJSONObj = new JSONObject();
                retJSONObj.putOpt("RetArgu1", inValue1);
                retJSONObj.putOpt("RetArgu2", inValue2);
                retJSONObj.putOpt("RetArgu3", inValue3);
                retJSONObj.putOpt("RetArgu4", inValue4);
    
            } catch (JSONException e1) {
                e1.printStackTrace();
            }       
    
            return JSUtil.wrapJsVar(retJSONObj);
        }
    
        public String pluginTestFunctionSync(IWebview pWebview, JSONArray array)
        {
            String inValue1 = array.optString(0);
            String inValue2 = array.optString(1);
            String inValue3 = array.optString(2);
            String inValue4 = array.optString(3);
    
            String ReturnValue = inValue1 + "-" + inValue2 + "-" + inValue3 + "-" + inValue4;
            // 只能返回String类型到JS层。
            return JSUtil.wrapJsVar(ReturnValue,true);
        }
    
    }

    2、修改启动模块中assets/data/dcloud_properties.xml内容,在<features>标签最后添加上自己刚创建的包,name是别名,前端调用通过此名称找到要运行的类

    <feature name="videomodule" value="com.***.video.MainVideoActivity"/>

    二、前端准备

    1、根目录创建common/video.js

    ! function(root, factory) {  
    	if (typeof exports == 'object' && typeof module != 'undefined') {  
    		module.exports = factory()  
    	} else if (typeof define == 'function' && define.amd) {  
    		define(factory)  
    	} else {  
    		document.addEventListener('plusready', function(){  
    			// 修改此处为插件命名  注释---1
    			var moduleName = 'videojs';   
    			root.plus[moduleName] = factory()  
    		},false);  
    	}  
    }(this, function() {  
    	//在此处定义自己的方法  注释---2
    	var _BARCODE = 'videomodule';  
    	var plugintest = {  
    		// 这里定义了一个名叫CalcNameAddNumFunction的方法,传递三个参数,后面两个是回调函数
    		CalcNameAddNumFunction: function(num, successCallback, errorCallback) {
    			var success = typeof successCallback !== 'function' ? null : function(args) {
    					successCallback(args);
    				},
    				fail = typeof errorCallback !== 'function' ? null : function(code) {
    					errorCallback(code);
    				};
    			// 注释---3回调ID,后面原生代码中会用到,就好像你调用我,我有结果了,我该知道我把数据返回给谁把?这个id就是这个作用
    			var callbackID = plus.bridge.callbackId(success, fail);
    			// 注释---4第一个参数是插件类别名,原生代码中的dcloud_properties.xml文件中会用到第二个参数,是android原生代码中的方法名要一致
    			return plus.bridge.exec(_BARCODE, "pluginTestFunction", [callbackID, 'args1','args2','args3','args4']);
    		}
    	};  
    	return plugintest;  
    });  

    2、在自己的页面添加以下内容,注意js位置别引错了

    <template>
    	<view class="content">
    		功能
    		<image class="logo" src="/static/img/logo.png" ></image>
    			<view class="text-area">
    				<text class="title">{{title}}</text>
    			</view>
    		<view @click="androidNative">点击调用android原生方法</view>
    	</view>
    </template>
    
    <script>
    	// 导入自己定义的插件js
    	var videojs = require('../../common/video.js');
    	export default {
    		data() {
    			return {
    				title: 'Hello',
    				plugins: videojs
    			}
    		},
    		onLoad() {
    
    		},
    		methods: {
    			// 点击事件的响应
    			androidNative(){
    			// 点击事件内部调用了plugin.js中暴露的方法
    				this.plugins.CalcNameAddNumFunction(
    					//      "这段文字是uniapp传过来的",
    					function(result) {
    						plus.nativeUI.toast(JSON.stringify(result));
    					},
    					function(result) {
    						plus.nativeUI.toast(JSON.stringify(result));
    					}
    				);
    			}
    		}
    	}
    </script>
    
    <style>
    	.content {
    		display: flex;
    		flex-direction: column;
    		align-items: center;
    		justify-content: center;
    	}
    
    	.logo {
    		height: 200upx;
    		width: 200upx;
    		margin-top: 200upx;
    		margin-left: auto;
    		margin-right: auto;
    		margin-bottom: 50upx;
    	}
    
    	.text-area {
    		display: flex;
    		justify-content: center;
    	}
    
    	.title {
    		font-size: 36upx;
    		color: #8f8f94;
    	}
    </style>

    三、打包后复制到安卓端需集成位置重新启动,触发该页面点击事件即可弹出自己传入的参数'args1','args2','args3','args4',完成

    注意里面的参数videojs(自定义插件js名,共三处),videomodule(和第一步的name名称对应)参数,pluginTestFunction(安卓端方法名)

     

    扩展:1、activity跳转

            Intent intent = new Intent(getDPluginContext(), DialerActivity.class);
            pWebview.getActivity().startActivityForResult(intent, 1);

    2、前端启动后端activity

    call1() {
    				//获取宿主上下文
    				var main = plus.android.runtimeMainActivity();
    				//通过反射获取Android的Intent对象
    				var Intent = plus.android.importClass("android.content.Intent");
    				//通过宿主上下文创建 intent
    				var intent = new Intent(main.getIntent());
    				//设置要开启的Activity包类路径  com.HBuilder.integrate.MainActivity换掉你自己的界面
    				intent.setClassName(main, "io.agora.openduo.activities.DialerActivity");
    				//开启新的任务栈 (跨进程)
    				intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    				//开启新的界面
    				main.startActivity(intent);
    			}

     

    展开全文
  • vue与原生安卓相互调用

    千次阅读 2020-05-27 22:29:49
    最近公司有做直播类的项目,由于直播框架限制,限制所用的技术是vue搭建的H5页面嵌入到原生安卓中。由于之前没有过类似的混合开发经验,所以今天写篇博客加深下印象。 vue.js调用安卓方法 先将vue项目放到一个...

    vue与安卓相互调用

    (本篇博客如有错误,还望各位大佬指正。)
    

    最近公司有做直播类的项目,由于直播框架限制,限制所用的技术是vue搭建的H5页面嵌入到原生安卓中。由于之前没有过类似的混合开发经验,所以今天写篇博客加深下印象。

    1. vue.js调用安卓方法

    先将vue项目放到一个内网地址或者外网地址中,然后安卓端通过“webView.loadUrl()”将vue项目引入。安卓端将要调用的方法名暴露在window对象中,由vue直接在methods中调用并携带参数。

    	methods:{
            goPublish(){
                //将vue项目引入至安卓代码中,安卓方法暴露在window中,vue中可以直接用window去调取方法。
                window.android.callAndroidMethod('1','2')
            }
        }
    
    1. 安卓调用vue.js中的方法

    同样的vue也需要把方法添加到window中去,再由安卓端去调取方法。

    	created(){
    	 //需要在created钩子中将方法添加到window对象中
    	    window.setFun = this.setFun;
    	},
    	methods:{
    	    setFun(arg) {
    	        //arg: 原生调用Vue时传值(arg)给Vue
    	        console.log("获取到android的传参:" + arg);
    	    },
    	}
    

    以上就是vue与安卓端项目调用的大致方法,有用词不当的地方望海涵且不吝指正。

    展开全文
  • 斐讯T1刷原生安卓TV手游是专为游戏玩家推出的一款畅快玩手游,轻松开直播的手机应用。边玩游戏边开直播,能够及时与游戏玩家分享游戏心得,掌握第一手游戏高分技巧,更有酷炫礼物等着你哦。功能介绍【锁定斐讯T1刷...

    斐讯T1刷原生安卓TV手游是专为游戏玩家推出的一款畅快玩手游,轻松开直播的手机应用。边玩游戏边开直播,能够及时与游戏玩家分享游戏心得,掌握第一手游戏高分技巧,更有酷炫礼物等着你哦。

    功能介绍

    【锁定斐讯T1刷原生安卓TV 精彩不断看不完】

    四大频道:网游竞技、单机热游、娱乐综艺、手游休闲

    精品分类:英雄联盟、户外直播、星秀、穿越火线、地下城与勇士、我的世界、CS:GO、炉石传说、守望先锋

    热门手游:球球大作战、皇室战争、天天酷跑、CF

    【星光闪耀 现场跟你互动】

    Miss:电竞女王,上斐讯T1刷原生安卓TV,看Miss。

    安德罗妮&萌太奇:炉石直播界一哥一姐,麾下百万军师。

    Dopa:中韩双服榜首路人王,他玩的lol跟你不一样。

    厂长:你的野区,我做主,世界知名打野。

    楚河:每天直播12小时的单机游戏,约定30年,陪你到老。

    知名主播:董小飒、Longdd、仇冬生、卡尔、阿川……

    娱乐明星:陈赫、林志玲、林允儿、迪丽热巴

    【精彩赛事 火热盛典】

    全球总决赛S6:9月30日-10月30日,LOL年度精彩对决。

    泛亚太超级锦标赛APAC:暴雪授权,本年度更强守望先锋大赛

    全国电子竞技大赛NEST:全国综合电竞大赛,LOL职业战队参战。

    球球大作战职业联赛:休闲手游也有电竞梦想

    国际女子电竞大奖赛EWG:国际女子LOL公开赛。

    CSGO职业联赛CSL:斐讯T1刷原生安卓TVCSGO国内联赛,TyLoo、VG等豪门汇集

    【娱乐星秀,要你好看】

    心瘾 入心即化 入眼成瘾

    嘉嘉 斐讯T1刷原生安卓TV好声音 一听要怀孕

    斐讯T1刷原生安卓TV曦 卖萌专业户 萌化你的心

    小姣 人美声甜萌小姣

    软件特色

    1. 斐讯T1刷原生安卓TV4.0开启全新体验,打开直播速度快到停不下来

    2. 自定义栏目导航,由你做主,轻松布局喜爱内容

    3. 玩竞猜、开宝箱,边看直播边互动

    注意事项

    Android需5.0及以上系统。

    更新日志

    v3.21.0

    1、悬浮窗支持打字回复;

    2、支持在悬浮窗状态下设置贴纸;

    v3.20.2

    1、悬浮窗支持打字回复;

    2、支持在悬浮窗状态下设置贴纸;

    v3.19.1

    1、全新贴纸上线,丰富你的直播间;

    2、优化了一些已知问题。

    v3.18.0

    1、支持测速并推荐开播画质;

    2、视频编辑支持删除全部片段;

    3、修复已知问题。

    下载地址:http://30tqyb.com/app/1307089.html

    展开全文
  • 前言: 由于谷歌AndroidContainers 中将Vold中的某些模块和代码进行了重写,通过mojom借道chromiumOS间接和内核进行通讯和操作,所以我们需要研究原生安卓中的vold的流程以作参考。为我们分析和实现AC中的vold理清...
  • 三星s4安卓5.0原生开机动画bootsamsung.qmg是我根据原生安卓5.0的开机启动动画编译的,208帧分辨率1920x1080(替换system/media下的文件即可)
  • 原生安卓和js的交互WebView的基本使用基本配置原生安卓调用js原生安卓代码js代码 WebView的基本使用 基本配置 1.在xml里创建如下代码 <WebView android:id="@+id/web_view" android:layout_width="match_...
  • 安卓LogCat调试时,只调用一次Unity的Debug.Log,打印结果是打印一行出一大堆,看得是不是心烦意乱 直接上代码 public static void AndroidLogI(string msg, string tag = "Unity Tag I") { ...
  • 原生安卓浏览器

    2014-09-16 13:34:49
    原生的浏览器,喜欢原装的你就下吧,不喜欢的别喷
  • 原生安卓和jquery.mobile配合做的一个安卓tab选项卡界面,直接读取资源文件夹下的html文件,点击有不同的切换效果。项目编码GBK 编译版本2.3.3
  • Android KeyEvent KeyCode 原生安卓代码对照表: publicstaticfinalintFLAG_WOKE_HERE=1; publicstaticfinalintKEYCODE_0=7; publicstaticfinalintKEYCODE_1=8; publicstaticfinalintKEYCODE_11=227; ...
  • 中国国情不接受e68a84e8a2ad62616964757a686964616f31333363396438原生系统,正如国内的政策谷歌不能接受,所以就淡出...这也是国内几款UI比较热门的原因之一,他们几乎放弃了原生安卓的界面外观,专注于在桌面主题...
  • 社交一对一视频交友源码_直播同城视频聊天系统_搭建部署开发定制带原生安卓苹果app 软件简介介绍: 一对一交友聊天视频社交一对一系统,独立的Android、iOS**社交APP,融合了语音聊天、视频直播、一键约聊、小视频...
  • cordova应用如果需要调用原生安卓接口,方法是使用cordova插件,cordova官方提供了主流原生功能的插件,但如果还不能满足需求,也可以自己开发cordova插件 以下介绍开发一个最简单的插件,功能是调用原生的toast...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,704
精华内容 1,881
关键字:

原生安卓