IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Android uniapp项目接入实例、uniapp混合开发踩坑手册、uniapp Android与H5对接,uniapp第一个项目指南 -> 正文阅读

[JavaScript知识库]Android uniapp项目接入实例、uniapp混合开发踩坑手册、uniapp Android与H5对接,uniapp第一个项目指南

1. h5开发工具选择HBuilder X

官方下载地址 :HBuilderX-高效极客技巧

选择App开发版

?下载完成后是压缩包,直接解压然后打开HBuilderX.exe可直接使用

2.使用HBuilderX新建项目

2.1 注册帐号并使用该帐号登录HBuilder

?2.2 新建项目,选择 默认模版

?2.3 在index.vue中编写调用代码

<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<view class="text-area">
			<text class="title">{{title}}</text>
		</view>
		<button type="default" @click="sayhello">调用原生方法-异步回调</button>
	</view>
</template>

<script>
	const myModule = uni.requireNativePlugin('MyModule')
	export default {
		data() {
			return {
				title: 'Hello'
			}
		},
		onLoad() {

		},
		methods: {
			sayhello(){
				myModule.sayhello({
					'name': '张三',
					'age': 20,
					'words': "你好!"
				},(ret) => {
					uni.showToast({
						title:ret
					})
				})
			},
		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		height: 200rpx;
		width: 200rpx;
		margin-top: 200rpx;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 50rpx;
	}

	.text-area {
		display: flex;
		justify-content: center;
	}

	.title {
		font-size: 36rpx;
		color: #8f8f94;
	}
</style>

?

2.4然后生成本地打包app资源备用

?

?

2.5 登录:DCloud - HBuilder、HBuilderX、uni-app、uniapp、5+、5plus、mui、wap2app、流应用、HTML5、小程序开发、跨平台App、多端框架

?会发现刚才HBuilder生成的项目也在开发者后台自动生成了

?3. android开发工具选择Android Studio

官方下载地址:Download Android Studio and SDK tools ?|? Android Developers

3.1 下载uniapp项目官网demo

下载地址:原生开发者支持

?3.2.uniapp官方demo下载之后解压

有三个demo,大致类似,选择UniPlugin-Hello-AS为例,用Android Studio打开UniPlugin-Hello-AS项目。

?3.3 创建自己的module

目录层级与uniplugin_module等三个插件同级

?3.4在build中加上自己创建的uni-app插件

?3.5 在自己建造的module的build文件中添加如下代码

compileOnly fileTree(dir: '../app/libs', include: ['uniapp-v8-release.aar'])

compileOnly 'androidx.recyclerview:recyclerview:1.0.0'
compileOnly 'androidx.legacy:legacy-support-v4:1.0.0'
compileOnly 'androidx.appcompat:appcompat:1.0.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
implementation 'com.facebook.fresco:fresco:1.13.0'

?

?3.6 找到下图中存放资源文件的目录,并将HBuilder中发行的资源文件复制并替换

?3.7 把下图中的名字替换为新的名字

__UNI__E 更换为 __UNI__1524E40(你自己生成的是啥就写啥)

?

?3.8 在自己的module下新建MyModule类,并添加如下代码

package com.example.mylibrary;

import android.util.Log;
import android.widget.Toast;

import com.alibaba.fastjson.JSONObject;

import io.dcloud.feature.uniapp.annotation.UniJSMethod;
import io.dcloud.feature.uniapp.bridge.UniJSCallback;
import io.dcloud.feature.uniapp.common.UniModule;

/**
 * @author han
 * @date 2022/2/26 17:57
 * @desc
 */
public class MyModule extends UniModule {
    private static final String TAG = "MyModule";

    @UniJSMethod(uiThread = true)
    public void sayhello(JSONObject options, UniJSCallback callback) {
        Log.e(TAG, "testAsyncFunc--"+options);
        if(callback != null) {
            String name = options.getString("name");
            Toast.makeText(mUniSDKInstance.getContext(), name, Toast.LENGTH_SHORT).show();
            JSONObject data = new JSONObject();
            data.put("code", "success");
            data.put("message", "我是李四");
            callback.invoke(data);
            //callback.invokeAndKeepAlive(data);
        }
    }
}

?

?3.9 在下图位置添加插件配置

{
  "plugins": [
    {
      "type": "module",
      "name": "MyModule",
      "class": "com.example.mylibrary.MyModule"
    }
  ]
},

?

?3.10 配置appkey和证书

登录:DCloud - HBuilder、HBuilderX、uni-app、uniapp、5+、5plus、mui、wap2app、流应用、HTML5、小程序开发、跨平台App、多端框架

然后进入该项目生成appkey以及证书配置到Android项目中,不知道的可以参考上篇文章

uni-app官方demo(Android sdk):未配置appkey或配置错误。(uni原生插件开发,Android插件开发)_break妖的博客-CSDN博客_未配置appkey或配置错误

?

?

?

?3.11 最后运行

可以看到已经成功调用到了网页已经安卓方法

?

?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:20:07  更:2022-02-28 15:21:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:21:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码