网站首页 > 基础教程 正文
前言
本文主要介绍了Cordova+vue 实现android开发,包括设置应用logo图标、设置启动页面splash,双击退出、app签名等。
简单介绍
混合开发是指在开发一款App的时候,为了提高效率、节省成本而利用原生与H5的开发技术的混合应用。
Cordova 是使用HTML,CSS和JavaScript构建混合移动应用程序的平台,它提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
优点:快速上手,跨平台支持,如Android、iOS等,一次开发多平台部署,插件丰富。
缺点:性能方面稍差,跨浏览器兼容性可能会产生很多问题。
环境准备
安装node.js
安装cordova
安装android sdk(或者直接安装android studio)
1、初始化项目
>cordova create my_app com.test myapp
其中my_app 是项目目录,com.test是包名,myapp是应用程序的显示标题
www文件夹存放静态资源
config.xml 配置文件,如设置版本号,app名称、描述,logo等。
2、添加android 环境
切换到项目目录
>cordova platforms add android --save
3、环境验证
>cordova requirements
JDK、SDK、Gradle没问题就可以下一步了
4、生成apk
>cordova build android --release
5、添加签名
如果已生成签名文件,可忽略这一步(根据提示填写,记住密码下面要用到)
>keytool -genkey -v -keystore D:\myapp.keystore -alias myapp -keyalg RSA -validity 20000
>jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 密钥路径 未签名的apk路径 myapp -tsa http://sha256timestamp.ws.symantec.com/sha256/timestamp
安装测试,默认的logo及页面,下一步改成自己开发的vue页面及logo
6、前端vue打包
使用Vue CLI开发,编译文件到www文件夹中,打包到app文件。注意事项:
1、使用vue 打包后生成静态页面,确保可以直接访问。
vue项目开发完成后,使用 npm run build打包成功之后,打开生成的dist文件夹中的 index.html, 如果访问前端提示报错,一般是资源路径问题,修改:
config/index.js->build->assetsPublicPath: './',
utils.js文件 添加 publicPath:'../../',
7、把打包的文件拷贝到项目www文件夹,先清空文件夹
8、设置双击退出,需要在vue项目中实现
1、index.html 文件增加引入cordova.js
<script type="text/javascript" src="cordova.js"></script>
2、APP.vue 添加逻辑
<script>
import mui from "@/assets/lib/mui/js/mui.min.js";
export default {
data() {
return {
exitAppTicker: 0, //判断是否双击
};
},
created() {
var _this = this;
document.addEventListener(
"deviceready",
function () {
document.addEventListener("backbutton", _this.eventBackButton, false);
},
false
);
},
//页面离开时销毁监听事件
destroyed() {
var _this = this;
document.removeEventListener("backbutton", _this.eventBackButton, false);
},
methods: {
//监听返回键按钮事件
eventBackButton() {
var _this = this;
if (_this.$route.path === "/index" || _this.$route.path === "/login") {
//是否主页
if (_this.exitAppTicker == 0) {
_this.exitAppTicker++;
mui.toast("再按一次退出");
setTimeout(function () {
_this.exitAppTicker = 0;
}, 2000);
} else if (_this.exitAppTicker == 1) {
navigator.app.exitApp();
}
} else {
history.back();
}
},
},
};
</script>
9、设置logo、APP启动页面
通过“图标工厂”网站可以在线生成所有图标,适配不同的分布率。
把生成的图标拷贝到项目中,然后在cordova config.xml配置添加
设置启动页面需要添加cordova插件,应用程序启动时显示和隐藏闪屏。
>cordova plugin add cordova-plugin-splashscreen
config.xml 添加声明
xmlns:android="http://schemas.android.com/apk/res/android"
<platform name="android">
<allow-intent href="market:*" />
<!--桌面图标设置-->
<icon density="ldpi" src="res/icon/drawable-ldpi/icon.png" />
<icon density="mdpi" src="res/icon/drawable-mdpi/icon.png" />
<icon density="hdpi" src="res/icon/drawable-hdpi/icon.png" />
<icon density="xhdpi" src="res/icon/drawable-xhdpi/icon.png" />
<icon density="xxhdpi" src="res/icon/drawable-xxhdpi/icon.png" />
<!-- 欢迎页面,竖屏 -->
<splash density="port-hdpi" src="res/screen/drawable-port-hdpi/screen.png" />
<splash density="port-mdpi" src="res/screen/drawable-port-mdpi/screen.png" />
<splash density="port-xhdpi" src="res/screen/drawable-port-xhdpi/screen.png" />
<splash density="port-xxhdpi" src="res/screen/drawable-port-xxhdpi/screen.png" />
<splash density="port-xxxhdpi" src="res/screen/drawable-port-xxxhdpi/screen.png" />
<!--api接口不通,报错net::ERR_CLEARTEXT_NOT_PERMITTED-->
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
</platform>
启动页面效果
cordova常用命令及插件
安装插件 cordova plugin add + 插件
删除插件 cordova plugin rm + 插件
常用插件
cordova-plugin-camera 相机
cordova-plugin-barcodescanner 条形码/二维码扫描
cordova-plugin-battery-status电池状态
cordova-plugin-contacts 联系人
cordova-plugin-device 设备信息
cordova-plugin-device-motion 加速计
cordova-plugin-vibration 振动
cordova-plugin-geolocation 地理位置
cordova-plugin-file 文件系统
......
总结
?通过cordova+vue 可以快速构建简单的app应用。
猜你喜欢
- 2024-11-08 Android WebView 详解 1 android webview ua
- 2024-11-08 前端必须会的基本知识技巧! 前端必须会的基本知识技巧有哪些
- 2024-11-08 [Python数据采集]超越 Selenium:探索 Playwright 的强大自动化功能
- 2024-11-08 使用Hbuilder构建跨平台的移动App
- 2024-11-08 如何使用Playwright优化测试性能 playwright安装
- 2024-11-08 前端开发79条知识点汇总 前端开发79条知识点汇总
- 2024-11-08 未来网站开发必备:14个让你惊艳的JavaScript Web API!
- 2024-11-08 web前端tips:HTML5部分新特性介绍
- 2024-11-08 7 个你不知道的秘密 JavaScript Web-API
- 2024-11-08 常见的HTML5面试题有哪些呢?分享这11道经典面试题
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)