自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weichao

生命不息,奋斗不止,万事起于忽微,量变引起质变

原创 Android Git 工作流,基础,回撤commit

一 ,Git的工作流程1.删除工作区,暂存库,版本库(commited)git分区工作区、暂存区、版本库tip:1.1 除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区 (默认)1.2 工作区的文件需要添加到Git的暂存区(git add)1.3 Git的版本库(git commit)2.git 状态untracked、unstaged、uncommited2.1 新建的文件都是untracked状态(未跟踪)2.2 git add到暂存区,Git便会在暂存区中生成一个该文件

2020-07-28 21:33:07 24

原创 RecycleView根据内容自适应高度,最大高度限制

前言recylceView 日常开发经常使用到,默认高度自适应,如何增加最大高度限制如下:public class MeasureLinearLayoutManager extends LinearLayoutManager { private int maxHeight; public MeasureLinearLayoutManager(Context context) { super(context); } public MeasureLinea

2020-08-10 15:00:24

原创 Android 基础 MaterialButton

项目中经常会使用到,给按钮添加边框,点击效果,圆角,icon+文字圆角。发现系统就有提供好的组件,除了CardView 可以设置。android material design支持库中各种可以直接拿来用的组件。meterialDesign 支持库下面基于com.google.android.material.button.MaterialButton 这个组件,展示了可以设置的集中效果。如上,基本上可以满足日常开发。注意使用过程中一些细节点。1.设置圆角描边,并且同时设置背景色时,放大会看到背景

2020-07-27 09:59:31 32

原创 android 手机 apk安装失败对应码

下面是从网上找到的几种常见的错误及解决方法:1、INSTALL_FAILED_INVALID_APK:无效的安装包,安装包已损坏请检查安装包是否完整。如果是xpk包,可以通过手动安装xpk来检测一下。如果是apk包,请重新下载。2、INSTALL_FAILED_OLDER_SDK:系统版本过低当前程序不支持您的手机。3、INSTALL_FAILED_INSUFFICIENT_STORAGE:没有足够的存储空间。4、INSTALL_FAILED_INVALID_INSTALL_LOCATION:无

2020-07-09 11:29:11 54

原创 Android 英文数字混排导致提前换行完美解决

前言数字加英文混排造成,段落提前换行异常。网上可找到处理方式较多。处理方式:1.自定义TextView,测量文字宽度与父窗体宽度自行进行人为换行占主流。2.全角半角进行统一,将字符串中的半角转换成全角,(转换之后字符宽度变大效果不好)如图效果:解决方式:自定义TextView 有偶发的oom情况,半角字符转全角字符有字体不美观情况。从字面上看是由于空格导致的提前换行。六种空格的区别进入只要将半角的空格转换成全角空格就可以完美解决。oom情况也可以避免掉如下:package com.

2020-05-22 14:52:36 174

原创 Android keytool输出 apk的HashKey秘钥

keytool 的简单使用

2020-05-15 15:28:27 93

原创 如何将Git 本地分支提交到多个仓库

使用git对代码进行操作,日常开发中必不可少。将一份代码同步到多个资源仓库的需求采用下面的操作可完美实现。1.Android studio 选择 git–>Remotess-> gitRemotes然后给资源url起一个别名。之后通过git命令进行操作。命令行方式操作1.Git remote add 别名 资源仓库url git remote add gitlab gi...

2020-05-08 15:26:29 291

原创 新版 android Studio查看 git changeList

升级android studio 到最新版后,每次git提交的变更文件列表,找不到从哪里进入了。如图切换到VersionControl 选项卡,切换到Log,选中查看的Commit记录。Ctrl+D ,会打开diff 窗口,然后点击就可以查看git changeFile 列表了...

2020-04-28 16:52:33 132

原创 android 10文件存储兼容

前言Android Q 推送已经一段时间,手上几部测试机也已经升级到android 10 系统。google 对用户隐私是越来越上心了。简单介绍下适配10系统分区存储。看图如图10系统兼容脑图。包括兼容方案,延时兼容处理,兼容完成如何查验是否兼容成功。为什么需要兼容10系统?gogle 官网罗列的一大串兼容10的好处。比较重要的一点是为了保护用户隐私使用类似应用沙箱原理。自己的app只...

2020-04-27 15:22:03 777

原创 Android jar 脚本自动化实践,可视化java swing工具

日常开发过程中将一些频繁操作进行自动化脚本处理,可以做到事半功倍。把时间花费到重要的事情上面。最近进行项目自动化处理,写了一个java swing的工具,开发过程中遇到的问题记录如下。首先介绍下如何将java程序打成可执行的jar方式1 eclipse ide方式2 IntelliJ ide早期用eclipse进行可执行jar打包,最近使用intelJ 打包。这里介绍intelJ...

2020-04-20 17:36:37 108

原创 Android app umeng推送处理流程

前言app 中添加推送可以显著提高app打开率,一些重要的通知也可以及时的推送到app端。推送三方平台可选的比较多,这里用umeng做个推送的处理流程解析。有推送就会有通知绑到一起说...

2020-03-28 15:18:28 323

原创 Android LocalBroadcastManager 使用

前言LocalBroadcastManager 简单使用。1.注册 【添加IntentFilter】2.反注册3.发广播public class Main2Activity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { ...

2020-03-25 15:01:35 420

原创 Unity 与Android 交互梳理

1.Unity 代码结构由研发部门导出 Android Studio IDE可以识别的 Unity Module,手动进行依赖。代码结构同正常的Android Module 结构一致。 Unity module - -build -libs -src -main -assets -java -j...

2020-02-25 16:57:22 168

原创 Android git 解决ignore文件不生效

删除git 缓存git rm -r --cached .git add .git commit -m ‘update .gitignore’

2020-02-18 15:48:27 99

原创 Android手机安装apk 提示应用未安装

手机安装不上apk原因各有不同原手机已经安装了高版本apk,无法安装低版本导致 【较多】安装apk签名问题 【容易排查】手机空间满 【概率较小】排查问题,建议连接usb,通过log排查。依赖手机上提示信息,无法快速定位...

2020-01-11 12:45:59 1600

原创 Android 使用 unity 导出obb包

1.通过unity 导出 包含obb的工程。2.按照google 官方给定的obb命名方式,已经存放路径进行操作Obb方式:https://developer.android.com/google/play/expansion-files命名方式:[main | patch]。<扩展版本>。<程序包名称> .obbeg:main.314159.com.exampl...

2019-12-09 20:27:42 847

原创 Android 解析strings.xml国际化

1.国际化需要导出stringsxml中文,找了个小工具能够快速抽取strings.xml中的中文步骤:1. 新建 assets文件夹,内部新建一个 xxx.plist 文件(就是ios用的plist文件),2. api ‘com.googlecode.plist:dd-plist:1.20’ 依赖,在app.config中 工具类:package com.locojoy.resta...

2019-11-25 20:16:28 191

原创 Android 全面屏适配手稿

早起4.1系统及一下采用主题或者WindowManager.layoutParams 进行控制 1.可以设置WindowManager.LayoutParams 、或者 view.xxx. view.支持的flag更多flag防止内容因为statebar 的隐藏而reset3.4.1 或者 大于4.1 系统采用 setSystemUiVisibility(),设置View标志比使用Wi...

2019-11-19 23:45:25 52

原创 android studio Caused by: java.net.SocketException: Connection reset

org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'reWorldGame'. at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(Lifecycl...

2019-11-14 16:49:26 1145

原创 Android录屏解决方案调研

前言公司游戏产品实现游戏录屏功能(内录),调研了一圈将调研结果罗列一下。内录:只录制游戏内的声音,不包含手机mic声音。外录: 手机麦克声音。调研部分排名靠前的录屏软件 [内录+外录]录屏大师 [内录+外录]王者荣耀应用内录屏。[内录],实现方案未找到相关文档刺激战场[vivo不支持,没测试]Screen Recorder [内录+外录]结果Android 5.0 + 系统...

2019-07-23 20:41:07 451

原创 Unity的internal 与 gradle 构建方式浅析

前言最近进行unity继承Android前期调研输出的文档。公司早期用的Internal,最近准备更换gradle构建方式。1.Internal 打包1.使用 aar 集成到 unity中 unity的机制本身就不能使用AppCompatActivity 只能继承Activity AppCompatActivity使用不了。 [依赖问题]AppCompatActivity是v7包中的,...

2019-07-19 15:30:57 3427

转载 为 64 位版本的 Android Studio 和 Android 模拟器做好准备

google 将对 android studio 的使用进行限制64位开发环境的优势Android Stuidio 64 位版本具备诸多优势,其中包括:性能: IDE 可访问超过 4GB 的内存,因此在性能方面有了很大的提升。如果您当前正在负责大型项目的开发工作,更多的内存意味着更好的开发体验。64 位应用支持: C/C++ 源代码开发者可以同时为应用构建 32 位和 64 位版本。为两...

2019-06-18 09:56:09 738

原创 Android 接口定义语言AIdl

前言Android进程间通信技术,有aidl,Binder,socket,管道,信号量等。经常用到Binder,Aidl。AIDL(Android Interface definition language)安卓接口定义语言,它是一种Android内部进程通信接口描述语言。通过Aidl 可以定义不同应用进程之间的接口。使用Aidl定义语言实现不同apk之间进行通信的步骤:快速实现apk之间...

2019-05-14 17:08:49 74

原创 Andriod 权限详解 与linux文件访问权限详解

前言Android系统是基于linux进行开发的,linux的文件系统是否与Android 系统权限或者动态权限申请中权限有关联。1.Linux文件访问权限介绍Linux文件权限采用10位数字进行控制一个文件/文件夹的访问权限,x_xxx_xxx_xxx.第一位代码文件类型 _,文件类型共有7种,除了 _表示常规文件类型外,还有下面的六种“d”目录“l”符号链接“c”字符专门设备...

2019-05-14 08:54:42 223

原创 Android 动画总结

前言如果所有事物都是静止的,那得多无聊。动画的引用让无聊的世界增加许多乐趣。android 动画分类android 3.0系统 之前 帧动画(Frame Animation),android 3.0 及android 3.0之后新增的补间动画(Tweened Animation)其他动画 gif动画,svg动画3D 动画帧动画逐帧动画是一种常见的动画形式(Frame By Fr...

2019-02-22 15:41:00 101

原创 progressbar自定义帧动画

前言动画相对于普通的业务代码对性能的要求更高。项目中使用动画,app的交互的效果更加吸引用户1.自定义帧动画。贴上代码 findViewById(R.id.animq).setOnClickListener(this);弹出dialog设置private void progressbar(Context context,int layout) { mDialog = new Al...

2019-02-22 14:12:52 341

原创 23种设计模式-单例模式

前言单例模式比较常用,开发过程中时不时会写几个单例工具类,提供给Team使用。比较常用的写法这三种package com.nuoyuan.preone.utils;/** * Author: yangweichao * Date: 2019/2/21 4:04 PM * Description: 一个进程中只存在唯一一个对象 */// 饿汉式public class ...

2019-02-21 16:18:14 132

原创 Java基础 线程池简析

前言多线程编程是一个难点,好多面试官都会问。虽然平时用到多线程编程的地方比较少,掌握基本的用法事半功倍。合理使用多线程的好处1.降低资源消耗2.提高响应速度3.提高线程的可管理性频繁的创建的Thread 类比较消耗系统资源,比较好的做法就是使用线程池来管理线程。线程池的实现原理当向线程池提交一个任务之后,线程池是如何处理这个任务的呢?1.判断核心线程池是否已满,未满则创建新线...

2019-02-19 16:53:17 122

转载 Android性能优化典范 - 第1季

2015新年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App。课程专题不仅仅介绍了Android系统中有关性能问题的底层工作原理,同时也介绍了如何通过工具来找出性能问题以及提升性能的建议。主要从三个方面展开,Android的渲染机制,内存与GC,电量优化。下面是对这些问题和建议的总结梳理。0)Rend...

2019-02-18 17:34:34 77

原创 Android常见漏洞

转载: 360APP漏洞扫描常见漏洞漏洞名称: Log敏感信息泄露漏洞描述: 程序运行期间打印了用户的敏感信息,造成泄露修改建议: 建议禁止隐私信息的log漏洞名称: web https校验错误忽略漏洞漏洞描述: 漏洞可导致中间人攻击修改建议: 建议不要忽略ssl认证错误漏洞名称: sql注入漏洞漏洞描述: 漏洞可能导致用户数据库中的信息泄露或者篡改修改建议: 建议使用安全sq...

2019-02-14 10:14:41 604

原创 Java 内存模型与线程

1.概述2.硬件的效率与一致性计算机cpu进行计算必定会关联到内存的读写操作,实际情况是计算机存储设备与处理器的运算速度有几个数量级的差距,现代计算机不得不加入一层读写速度与处理器接近的高速缓存来作为内存与处理器之间的缓冲。引入高速缓存区带来了一些数据同步方面的复杂度。如何保证多核cpu之间缓存的一致性问题,引出了一些缓存一致性的规则即一致性协议。(MSI、MESI、MOSI Synapse...

2019-01-22 10:53:44 73

原创 快速 AndroidX 迁移

前言旧版支持库版本繁琐的配置,想必折磨着不少开发者,Google 2018 IO 大会推出了 Android 新的扩展库 AndroidX,用于替换原来的 Android扩展库,将原来的android.替换成androidx.;只有包名和Maven工件名受到影响,原来的类名,方法名和字段名不会更改。接下来我们来看看使用 AndroidX的扩展库需要哪些配置。1.升级Android Studio...

2019-01-17 18:00:37 3553

原创 数据结构:八大数据结构分类

数据结构分类数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。常用的数据结构有:数组,栈,队列,链表,树,散列表,堆,图等,如图所示每一种数据结构都有着独特的数据存储方式,下面为大家介绍它们的结构和优缺点1、数组数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代...

2019-01-16 14:52:36 324 1

原创 Android 视图层级分析辅助工具详解

前言早期 用eclipse开发android时代,用Hierarchyviewer工具进行ui视图层级分析,通过eclipse 的ddms 管理器可以打开。但是android studio在3.0 之后把ddms入口阉割了,进入Android SDK中tools包下也没有找到 hierarchyviewer.bat 这个包。好在提供了替代方案。hierarchyviewer.bat 怀旧一下...

2018-11-28 15:07:29 2052

原创 Android SmartRefreshView 添加banner

需要自定义一个 RecycleView 的 header。将封装的Banner作为header 添加进去

2018-11-26 17:04:08 176

原创 Android AppcompatActivity 基础用法

前言最近大把时间捯饬一些新东西。发现很多东西知道皮毛,深究起来都是半吊子,写个简单的app框架写基类,继承AppcompatActivity改了一大上午。廉颇老矣~,尚能饭否。做个记录列个大纲:v7包含那些api,可以提供的功能是什么?从那个版本开始引入的,最初目的是为了解决什么问题?用AppconpatActivity替换FragmentActivity需要注意什么?...

2018-11-19 22:42:57 3268

原创 Android git 高频使用命令

前言新版开发完,进行代码管理。常用git命令行1.基础命令行1.git branch 查看分支2.git branch -a 查看本地和远程分支3.git tag 查看本地tag4.git branch -d [分支] 删除指定的分支5.git push origin [ tag] 将本地tag push到远程资源库6.git merge [分支] 将分支合并到...

2018-11-06 17:39:23 360

原创 微信小程序天气demo

前言微信小程序家喻户晓,之前搞过半年的前端,闲来无事,研究下小程序语法。总体来说js的语法比较随意属于弱类型,不需要像java语法。js一个var 声明,代替了java的基本类型(int short long float double String),kotlin的语法和js有点神似。以下代码大部分是《微信小程序》开发这本书的代码。小部分是调试程序不同,自己优化后的代码1.小程序的项目结构...

2018-11-06 14:14:46 687

原创 ijkplayer 视频播放器集成(附带支持https的so库)

前言做一款视频播放器需要多久?有了ijkplayer只需要简单几步就能快速搞出来一个功能强大播放器。github链接:ijkplayerAndroid:Gradle requiredallprojects { repositories { jcenter() }}dependencies { # required, enough for m...

2018-10-30 15:00:45 4331 1

转载 扫盲贴:浅谈iOS和Android后台实时消息推送的原理和区别

前言iOS和Android上的实时消息推送差异很大,往小了说是技术实现的差异,往大了说是系统实现理念的不同。实时消息推送在移动端互联网时代很平常,也很重要,它的存在让智能终端真正成为全时信息传播的工具。本文将从原理上谈谈两个平台上实时消息推送的区别。简要对比1iOS的实时消息推送iOS 系统的推送(APNS,即 Apple Push Notification Service)依托一个或几个...

2018-10-22 11:54:14 700

提示
确定要删除当前文章?
取消 删除