- 博客(23)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 2020年度复盘
2020年度复盘前言无复盘,不成长。本文聊一下2020年这一年Android的发展,以及自己这一年做了什么,技术的成长,浅谈一下移动端的未来的趋势。移动端技术kotlin 1.4.0 版本发布新的编译器新的前端加速统一后端和可扩展性支持SAM转换混用命名参数和位置参数尾后逗号属性代理优化等等kotlin:http://www.kotlincn.net/docs/reference/whatsnew14.htmljetpackDataStore(Alpha 版)用于替代
2021-01-04 22:03:38
473
原创 Android 如何实现灰白化换皮肤效果?
原因清明期间不少客户端都上了灰白皮肤的效果,那我们客户端究竟如何实现黑白皮肤效果呢?本篇文章分享一种方式,让大家在客户端快速的进行黑白化换肤。效果彩色效果灰白化后效果需要基础知识有些知识不在文章当中阐述,不知道的同学可以自行Google,百度后再看。如下:kotlin,Activity 的生命周期,viewBinding。View 如何变灰白化?1、碰到这种情况,肯定我们要自...
2020-04-06 22:38:05
783
原创 如何优雅进行的Android的屏幕适配?
原因无论你要出去面试,还是身为一个移动开发工程师。屏幕适配是客户端最经常碰到的问题,因此掌握客户端的屏幕适配是一个基本能力,优雅的屏幕适配,可以保证你还原设计稿的同时,还可以节约你的开发成本,该方案最终 5 行代码就可以实现屏幕适配。前置工作来自备不同分辨率的机型2种:机型A:720*1280 320dpi 5.5英寸(pixel 2)机型B:1080*1920 420dpi 5...
2020-02-16 00:13:29
341
原创 如何react多端统一框架Taro开发外卖系统?
Taro框架基础知识简介Taro 是一套遵循 React 语法规范的多端开发解决方案。现今市面上端的形态多种多样,Web、React-Native、微信小程序等各种端大行其道,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端去编写多套代码的成本显然非常高,这时候只编写一套代码就能够适配到多端的能力就显得极为需要。使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具...
2020-02-07 13:06:00
1473
原创 深入理解Android编译原理—自定义Gradle的插件
Andodid的编译过程首先需要了解一下Android的打包过程,他是如何从一个代码(kotlin/java),变成一个可以运行的apk的呢?如下图所示:简述上图:打包资源文件,生成R.java文件。处理aidl文件,生成相应的Java文件。编译工程源代码,生成相应的class文件。转换所有的class文件,生成classes.dex文件。打包生成APK文件。Gradle的插...
2020-01-31 23:17:43
653
原创 JVM 的内存模型
为什么要了解?很多做Android开发的同学会问,我们为什么要了解这个呢?首先移动端资源有限,我们了解jvm的内存模型,便于我们更好的管理客户端的内存。什么是JVM?java代码的执行过程如下图:运行时数据区可分为:方法区、堆、虚拟机栈、本地方法栈、程序计数器五个部分。概述方法区:线程共享数据,存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。堆:线...
2020-01-26 18:06:55
248
原创 OkHttp源码分析
概述在Android端最有名的网络框架应该就是Okhttp了,今天基于目前最新的Okhttp 3.14.1分析源码,帮助大家理解。因为Okhttp 当中使用了大量责任链模式,不会的同学请先绕道自行Google。Okhttp 简单使用同步的get 请求//创建Client 的客户端 OkHttpClient client = new OkHttpClient(); //创建一个Requ...
2019-05-05 19:53:25
294
原创 Android UI 设计规范—— px 转 dp
什么是dp最简单的理解是Google 为了解决android碎片化的屏幕适配而弄出来的一套东西。公式以及文章来源Google的设计规范:https://material.io/guidelines/layout/units-measurements.html#换算的基本公式dp = (width in pixels * 160) / screen density...
2018-04-23 00:31:43
4215
原创 android-apt plugin is incompatible with future version of Android Gradle plugin. use 'annotationPro
Warning:android-apt plugin is incompatible with future version of Android Gradle plugin. Please use ‘annotationProcessor’ configuration instead.原因:更新Android studio 原来项目出现问题。 分析: 尤其是采用butterknife工具的,
2017-05-14 14:31:35
12750
原创 Error:Could not read XXX\build\intermediates\typedefs.txt (系统找不到指定的文件。)
在报该编译错误的module的build.gradle中加入如下配置项,排除掉中间生成的typedxx.txt文件packagingOptions { exclude 'typedefs.txt'}
2017-05-14 14:09:08
2917
原创 INSTALL_FAILED_INVALID_APK: /data/app/vmdl654475879.tmp/8_slice__ signatures are inconsistent
一个神奇的错误,分享一下避免大家踩坑里了。发生的原因引用了自己弄的签名文件,然后就报错了。解决过程1.更换签名文件:以为签名文件不对,重新生成签名文件,run一下,依然失败。 2.重启电脑:以为电脑哪里没有缓存放傻了。依然失败。 3.点击build下的clean project。重新run。终于成功了。
2017-04-24 14:24:05
14841
3
原创 user XXX is currently used by process
root@ www.linuxidc.com :/home/crper# userdel -r test1 userdel: user test1 is currently used by process 1 root@ www.linuxidc.com :/home/crper# groupdel work1 groupdel:不能移除用户“test1”的主组删除该用户就提醒用户当前在进程运行。
2017-01-03 14:52:24
20614
1
原创 TatansFrame自己开发框架使用
Maven依赖添加: net.tatans.coeus coeus-network 0.1.7-release Gradle依赖添加 compile ‘net.tatans.coeus:coeus-network: 1.0.7-release’ TatansDb操作Sqlite数据库 首先创建一个测试实体类 User.java package com.dev
2016-09-26 14:50:24
880
原创 Android 无障碍辅助功能AccessibilityService(2)
让应用具有辅助功能 Making Applications Accessibleoriginal: Applications built for Android are accessible to users with visual, physical or age-related disabilities when they activate accessibility features and
2016-09-26 14:48:16
4444
原创 Android 无障碍辅助功能AccessibilityService(1)
构建无障碍服务[[ http://developer.android.com/guide/topics/ui/accessibility/services.html | (原文地址)]](需翻墙),本文中的超链接使用的是该[[ http://android-doc.com/guide/topics/ui/accessibility/services.html| 地址 ]]下的一个无障碍服务是一个应
2016-09-26 14:46:18
16398
原创 语音合成约定
TTS分两类:talkback、msc;系统默认安装语记,talkback会使用设置的TTS引擎,同时对于需要回掉的场景提供msc封装。1.talkbacktalkback进行界面上的播报及所有语音信息的播报(先前用net.tatans.coeus.util下的播报统一改成net.tatans.coeus.network 下的TatansToast)注意点:播报Toast信息由于会被打断,因此建议仅
2016-09-26 14:32:19
1247
原创 天坦android端架构设计
开发环境 Android端采用Android Studio+Gradle2.8+git 开发环境的下载地址:http://pan.baidu.com/s/1eSoEbfW 密码:n6dl 解压:tatansAndroid端的架构设计
2016-09-26 14:28:48
392
原创 Android studio 下git使用方法
Git的基本命令可查看参考 [[ http://blog.csdn.net/dengsilinming/article/details/8000622 | 地址 ]]AndroidStudio简单操作创建分支方法点击Android Studio右下角Git选项,选择创建新的分支 在输入框中输入新的分支名称 这时你再上传提交代码 现在右下角就会出现你新创建的分支Local Branches
2016-09-26 14:22:52
327
原创 Android项目编码规范
介绍 1. 为什么需要编码规范?编码规范对于程序员而言尤为重要,有以下几个原因: 一个软件的生命周期中,80%的花费在于维护 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 编码规范可以改善软件的可读性,可以让其他程序员尽快而彻底地理解新的代码 如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任
2016-09-26 14:07:49
372
原创 navicat for mysql 安装和使用
1.这里提供一个破解版的navicat 的下载地址:点击下载2.解压之后,将Navicat for MySQL拷贝到D:\Program Files 下,双击 navicat.exe,即可进入。(可以把navicat.exe)3.进入起始引导界面,选择“注册”4.找到压缩包里面key.txt5.按要求输入注册码6.点击确定就可以开始使用了7.选择“新建连接”,输入“连接名”,“密码”,然后点击确定即
2016-07-20 21:40:48
637
原创 MySQL5.7.13 for window安装过程
1.首先下载mysql地址:点击下载 2.双击 mysql-installer-web-community-5.7.13.0.msi3.选择接受,点击Next4.选择默认Next5.依然选择Next6.选择Execute7.选择Next8.依然选择Next9.依然选择Next10.依然选择Next11.输入密码两次之后,依然选择Next12.依然选择Next13.依然选择Next14.选择Exec
2016-07-20 21:00:14
524
原创 Window下sqlite的安装
Window下sqlite的安装1.进入sqlite官网2.选择Download2016年07月20日之前最新版本下载地址3.选择 Precompiled Binaries for Windows4.解压zip文件5.为了可以在window下的任意地方使用,因此将解压文件拷贝到 C:\Windows\System326.打开运行窗口,输入CMD,再输入sqlite3并按回车,出现如下面效果即为成功。
2016-07-20 15:09:56
1245
Tomcat7.0.exe
2013-11-21
如何Android实现SSO(请耐心看完以下内容再回答)
2014-05-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人