-
code-push热更新部署方案及cordova集成
目前采用的热更新方案是微软提供的( cordova-plugin-code-push ) 主要从以下几方面说明: 本公司热更新部署流程 code-push部署规范 mac端环境部署 code-push服务器连接 命令介绍 app环境部署 用法介绍 项目实际发布时场景 使用命令: 安装code-push控制台
-
UIWebview、WKWebView中JS交互方法总结
本文主要总结一下JS与原生交互的几种方式,其中包括UIWebview与WKWebView这两个iOS端加载H5的控件。这类文章在网上其实也有很多,但是都只是介绍 iOS 这边怎么处理的。这样在和 H5 联调时产生问题的时候就比较浪费时间,所以我这边把H5端的代码也奉献出来希
-
Kotlin + 协程 + Retrofit + MVVM优雅的实现网络请求
image 前言 最近一直在修炼Kotlin,说实话真香真好用,刚好公司准备交给我一个新项目,于是打算直接用Kotlin来构建项目。刚好整体架构搭建完毕了,于是把网络请求这一部分先分享给大家。这次使用到的是 协程+ retrofit +mvvm的模式,我这儿直接用一个简单的d
-
在Android项目中接入Flutter,在Flutter使用安卓布局
在flutter开发中,始终会有下面两个无法避免的问题: 原生项目往flutter迁移,就需要在原生项目中接入flutter flutter项目中要使用到一些比较成熟的应用,就无法避免去用到原生的各种成熟库,比如音视频之类的 这篇文章,将会对上面两种情况,分别进行介绍
-
解决Android7.0无法抓包问题
无法抓包原因 Android 7.0(Nougat,牛轧糖)开始,Android更改了对用户安装证书的默认信任行为,应用程序 只信任系统级别的CA 解决方案(仅限于自己APP) 在 res/xml 目录下新建一个 network_security_config.xml 文件键入以下内容 network-security-config
-
Android新技术------Android App Bundle之bundletool的使用
随着应用不断演化,功能越来越复杂,且应用针对不同屏幕设备、不同国家语言资源都打包在同一个App,导致应用包不断增大,据统计自2012年以来应用包大小增长5倍。虽然现在手机的存储空间越来越大,但用户照片、视频等媒体文件品质在逐渐提升,导致设备可用空
-
Android源码阅读之Fragment Add和Replace的区别
实习中发现,对于FragmenManager管理Fragment有时候使用add的方式,有时候使用replace的方式。 遂问大佬这有什么讲究,大佬说replace多用于一次性显示,add和hide用于多次切换 然而,对于这个结论我依然未能满足,好奇心驱使之下决定探究下这里面的道理 正文
-
Groovy从入门到精通 环境、IO操作、基础语法、运行时元编程
一、环境搭建 安装好JDK环境 到groovy官网下载groovySDK,解压到合适位置 groovy官网:http://www.groovy-lang.org/ 安装后的文件如上图所示,我们需要关注的是bin和doc文件夹下的内容,其它文件夹下是一些配置和groovy自带的一些jar包 配置groovy环境变量
-
Android多线程技术选型最全指南
维度的Trade Off 今天我想先说一个英文单词,叫Trade Off。 中文翻译过来可以说叫权衡,妥协,但是这么干巴巴的翻译可能不能体现这个词的牛逼之处,我来举个例子。比如迪丽热巴和谢娜同时追求我,虽然迪丽热巴颜值更高,但是考虑到谢娜在湖南台的地位以及和
-
学习并体验Java的流(Stream)语法及小示例
1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel aggregate operations. 我们来解读一下上面的那句话: Stream是元素的集合,这点让Stream看起来用些类似Iterator; 可以支持顺序和并
-
Android中TextView文字设置不同的颜色
在项目的过程中会遇到在一行文字中,部分功能需要不同的文字颜色来展示,下面介绍两种方式实现: 效果图: 这里写图片描述 方式一: 用SpannableStringBuilder来实现 TextView tv=(TextView)findViewById(R.id.tv);String content = 只会玩战士回复冷云他大
-
完美解决AndroidStudio Gradle编译慢的问题
1、修改Gradle默认缓存目录的方法 Gradle默认的缓存路径是在C:Users(用户)username.gradle文件夹下,时间长了后难免会占据系统盘很大一部分空间,所以我们将Gradle默认路径进行更改。 在windows下面通过修改Gradle系统环境变量方式一劳永逸的解决缓存路径的
-
适配Android P之非SDK接口限制的排查方法
0. 结论 从 Android 9(API 级别 28)开始,系统会限制APP通过反射或JNI调用非Andorid SDK的接口。 项目的业务代码可以通过全局搜索检查非SDK接口的使用情况。 几乎所有第三方SDK(包括Android support库!!)都有大量通过反射调用非SDK api的情况。通常反
-
探索 Android开发 内存优化方法
前言 这篇文章的内容是我回顾和再学习 Android 内存优化的过程中整理出来的,整理的目的是让我自己对 Android 内存优化相关知识的认识更全面一些,分享的目的是希望大家也能从这些知识中得到一些启发。 Android 应用运行在 Dalvik 虚拟机上,而 Dalvik 虚拟
-
Android性能优化之APK瘦身详解(瘦身73%)
公司项目在不断的改版迭代中,代码在不断的累加,终于apk包不负重负了,已经到了八十多M了。可能要换种方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现的阶段。你在写上个版本的内容,好了,下个版本的更新内容已经定稿了
-
Kotlin + 协程 + Retrofit + MVVM优雅的实现网络请求
前言 最近一直在修炼Kotlin,说实话真香真好用,刚好公司准备交给我一个新项目,于是打算直接用Kotlin来构建项目。刚好整体架构搭建完毕了,于是把网络请求这一部分先分享给大家。这次使用到的是 协程+ retrofit +mvvm的模式,我这儿直接用一个简单的demo来
-
Android 换肤那些事儿, Resource包装流 ?AssetManager替换流?
嗨,你终于来啦 ~ 等你好久啦~ 喜欢的小伙伴欢迎关注 ,我会定期分享Android知识点及解析,还会不断更新的BATJ面试专题,欢迎大家前来探讨交流,如有好的文章也欢迎投稿。 一、Res资源加载流程 应用资源加载的过程 主要涉及两个类: Resource 只与应用程序交
-
为什么我把 Run 出来的 Apk 发给老板,却装不上!
一. 序 当我们在 Android Studio 中,直接 Run 一个项目时,AS 会自动打一个 Debug 的 Apk,并通过 ADB 命令,将 App 安装到我们连接的设备上。 这个 Run 出来的 Apk,在工程的 build/ 目录可以找到。如果你还想把这个 Apk 分享出去,抢先体验功能,不好意思
-
Android侧滑原来可以这么优雅
前言 侧滑手势在Android App应用得非常广泛,常见的使用场景包括:滑动抽屉、侧滑删除、侧滑返回、下拉刷新以及侧滑封面等。由于这些使用场景实在是太通用了,各路大神们八仙过海各显神通,每种侧滑场景都开源出了很多非常实用的框架,让我们的业务开发便利
-
安卓GreenDao升级的思路
当我们的app需要更新数据库的时候,我们需要升级数据库的版本以及数据的字段,但是还要保留原有的数据,下面推荐一个数据库升级的工具类 import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.text.TextUtils;import