- 博客(238)
- 资源 (17)
- 问答 (1)
- 收藏
- 关注
原创 Mac Android显示SHA1和MD5值并生成签名文件打包APK
导读:这篇博文很简单,图文也讲的也很详细,只要你跟着我左手右手一个慢动作,右手左手慢动作操作。就能稳稳地走一波。一、首先,生成签名文件1.点击菜单栏中的Build的。 2.弹出窗体,创建新的KeyStore:如下图。 3.填写keystore和key密码。ketystore密码和key密码在后面会用到。其他信息也不是很重要,自己差不多能记住就好。4.然后点击ok,再点击next就完成了,紧接着就可...
2017-09-15 17:36:25 3737 1
转载 时间管理——番茄工作法
导语番茄工作法是简单易行的时间管理方法,是由弗朗西斯科·西里洛于1992年创立的一种相对于GTD更微观的时间管理方法。使用番茄工作法,选择一个待完成的任务,将番茄时间设为25分钟,专注工作,中途不允许做任何与该任务无关的事,直到番茄时钟响起,然后在纸上画一个X短暂休息一下(5分钟就行),每4个番茄时段多休息一会儿。番茄工作法极大地提高了工作的效率,还会有意想不到的成就感。番茄工作...
2017-09-11 18:51:18 1538
转载 时间管理——帕累托法则(二八定律)
导语俗称二八定律,又名80/20定律、帕累托法则(定律)也叫巴莱特定律、最省力的法则、不平衡原则等,被广泛应用于社会学及企业管理学等。是19世纪末20世纪初意大利经济学家巴莱多发现的。他认为,在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的,因此又称二八定律。二八现象1.管理学:通常一个企业80%的利润来自它20%的项目[3];这个80/...
2017-09-11 18:33:30 42432 1
转载 时间管理——四象限法则
导语四象限法则是时间管理理论的一个重要观念是应有重点地把主要的精力和时间集中地放在处理那些重要但不紧急的工作上,这样可以做到未雨绸缪,防患于未然。在人们的日常工作中,很多时候往往有机会去很好地计划和完成一件事。但常常却又没有及时地去做,随着时间的推移,造成工作质量的下降。因此,应把主要的精力有重点地放在重要但不紧急这个“象限”的事务上是必要的。要把精力主要放在重要但不紧急的事务处理上,需要很好...
2017-09-11 18:19:17 4299 1
原创 Android蓝牙学习——搜索、配对、传文件(附源码)
导语蓝牙作为一种成熟、低功耗无线通信技术的先锋,在可穿戴设备领域中扮演着越来越重要的作用。目前流行的蓝牙成功案例在运动手环、行车记录仪、终端解锁、智能家居等领域。接下来,一起动手敲代码吧~源码下载:http://download.csdn.net/download/csdn_aiyang/9973522添加权限android:name="android.permission
2017-09-11 16:05:36 1836 1
原创 Android 架构师成长之路
前言众所周知,当下流行的编程语言有Java、PHP、C、C++、Python、Go等。其中,稳坐榜首的仍然是Java编程语言,且在以面向对象思想占主导的应用开发中,Java往往成为其代名词。Java语言的背景强大,开发者众多,一直发展都不错。从普遍的企业的角度来看,存在的问题是:后台被认为是技术核心,客户端却被认为技术含量不高,甚至小企业会让后台人员顺便开发简单的客户端,或者让后台的架构师管理...
2017-09-11 14:56:53 11701 4
原创 Android 操作文件流技术-Uri, File ,Sting path 三者互相转化
所属来源:Uri : importandroid.net.Uri;File:importjava.io.File;path:String 类型字符串地址;一、Uriuri 转 file:URI fUri =new URI(uri.toString())File file = new File(fUri); uri 转 pa
2017-09-11 11:07:20 3109
原创 Android 铃声多媒体音量、静音、震动(附源码)
导读:Android提供了可以进行对原生系统进行控制API。AudioManager用来对音量、模式(静音,震动,震动加声音等模式)等进行管理。可以用Vibrator、HapticFeedback进行管理手机震动。本人带着案例进行讲解,先温柔点讲控制系统音量,再说撩人的震动棒...呸..是振荡器。一、AudioManager (音频管理)1、音乐的播放方式//1、自定义音频文...
2017-09-08 15:08:41 3924
原创 Android SDK版本和API Level对照表(最新最全)
在开发时我们会经常用到兼容api版本,难保可用把全部都记得住,这里有最快捷实用的方法进行查看:打开Android Studio ,然后点击SDK Manneger ,参考下图示例:下面列出最全对照表:API 25 (Android 7.1) – Nougat, released December 2016. Build version code
2017-08-31 18:20:32 65178 1
原创 Android 融云SDK-即时通讯IM(附源码)
前期准备:注册开发者帐号开发者在集成融云即时通讯、实时网络能力前,需前往融云官方网站注册创建融云开发者帐号。App Key这个有用,后面代码里我会讲到。下载 SDKIMKit 集成了会话界面,并且提供了丰富的自定义功能,我们推荐首次接触融云的客户直接使用 IMKit 来快速集成和开发。 IMLib 提供了基础的通信能力,较轻量,适用于对 UI 有
2017-08-30 10:16:59 6179 5
原创 IOS 初级开发入门教程(二)第一个HelloWorld工程及StoryBoard使用
前言在IOS开发之路的博文第一章:(IOS开发入门介绍http://blog.csdn.net/csdn_aiyang)我大致系统介绍了有关IOS的一些基础认识,如果不完全都记住没关系,以后我们开发之路还很长,慢慢的自然而然就明白是怎么回事了。这一篇我将手把手教大家完成第一个IOS项目——”Hello World“。新建项目1、打开Xcode,点击 Create
2017-08-23 15:17:47 34168 7
原创 IOS 初级开发入门教程(三)探究应用及视图的生命周期变化
导读操作系统都会根据应用的生命周期状态来管理和处理逻辑,这一点在Android开发上现的就已经非常好了,耳熟能详的就是应用状态影响内存回收级别和活动的生命周期。同样,在IOS上也会充分利用应用的视图的生命周期来进行管理应用。首先,我们先知道IOS应用在程序中的五种状态及其变化,然后再去看IOS工程中有一个AppDelegate的类来动手验证,它是应用程序的委托对象,(类似Andro
2017-08-22 16:20:03 4589
原创 IOS 初级开发入门教程(一)介绍篇
导读 目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器、数据库、Android、web、ios开发等。“一超多强”是指开发者先成为一门技术的专家然后掌握了解多门技术,这是一种好的发展趋势,另外,这种技多不压身我认为当开发者更适合发展成为Leader管理岗位,随着年龄慢慢变大,成家立业后,基层单一码农已晋升之路受到阻碍了,作为项目经理或总监的时候,需要你
2017-08-22 15:50:46 29429 1
转载 Mac苹果本之终端命令符操作
这些天自已研究了一下mac的终端,学习过程中,特将自已的经验加上前辈们的经验简单修改发布如下,高手可以不用看了,这只是基础部分的内容。*以下所涉及到的命令基本限于安装kext,修改plist,更换核心 所碰到的操作*先简单的说一下:OSX 采用的Unix文件系统,所有文件都挂在跟目录“ /” 下面,所以不在要有Windows 下的盘符概念。比如什么“C:”你在桌面上看到的硬
2017-08-10 10:49:43 3365
原创 Java Switch 和 If else 使用效率对比和分析
前言在我们实际开发中,会经常用到逻辑走向的判断语法,最熟悉的逻辑判断莫过于switch和if else它们俩了,但是它们之间究竟哪个更优呢?我们来一起做个试验吧!其实这一篇我并不想这么啰嗦,本着写作负责任的态度,我还是按照惯例写前言或导语,其实我很想说:不啰嗦,直接上机进行测试纳诺耗时吧!!!一、if elselong t1 = System.nanoTime();Str
2017-08-03 15:15:27 22049 5
原创 Android 热修复原理,DVM或ART与JVM的介绍ClassLoad及双亲委派模型理解
导语 热修复说白了就是”打补丁”,通过事先设定的接口从网上下载无Bug的代码来替换有Bug的代码。这样就省事多了,用户体验也好。这样带来的优势就是成本低、效率高。热修复的特点:无需重新发版,实时高效热修复;用户无感知修复,无需下载新的应用,代价小;修复成功率高,把损失降到最低。但是,Android是如何实现热修复的呢?这一次要从DVM(Dalvik虚拟机)与 JVM(JAVA虚拟机)...
2017-07-27 16:24:28 1943 1
原创 Android 热修复调研报告—流行方案选择(最全)
导语什么是热修复?热修复又称热补丁,一般是用事先定义好的接口,从网络下载代码并更新客户端代码,从而在用户无感知、也无需重装App的情况下,实现动态修复或动态更新。这样带来的优势就是成本低、效率高,快速作用,节省应用发布时间,缩短开发周期,降低开发成本;方便数据统计和测试反馈,有利于更好地改进App。 正常的流程:热修复流程:热修复特点:无需重新发版,实时高效热修复;...
2017-07-27 15:24:21 2285
转载 Lambda表达式全面了解——通俗易懂
一、Lambda简介:Lambda是一个表达式,也可以说它是一个匿名函数,然而在使用它或是阅读Lambda代码的时候,却显得并不那么容易,因为它匿名,删减了一些必要的说明信息(比如方法名)。所有的lambda表达式都是用新的lambda运算符 “ => ”,可以叫他,“转到”或者 “成为”。运算符将表达式分为两部分,左边指定输入参数,右边是为计算表达式。表达式:
2017-07-27 13:15:57 2195 2
原创 Android 监听Home键、Back键、多任务键最新解决方法
前言在开发中,我们可以经常看金融银行之类APP,退到后台都会给出提示,提高安全性。实现这种功能就需要去监听系统的按键操作,最常用的就是监听Back键、Home键和多任务键。但是Android系统默认是不让代码监听,所以我们就得想别的办法,这里是通过广播监听日志log!设置窗体属性首先,在setContentView之前添加Window的Flags,未添加的话home键监...
2017-07-26 17:31:28 18479 3
原创 Android 检查应用包名是否存在并启动或安装指定包名
1、首先,获取应用中所有程序的安装包信息,收集在集合中,然后进行循环判断:private boolean isAvilible( Context context, String packageName ){ final PackageManager packageManager = context.getPackageManager(); // 获取所有已安
2017-07-24 16:30:50 6947
原创 android ReactNative混合开发之最新教程
前言:React Native出来已经一段时间了,相对来说也算稳定了,在很多的企业中都实际使用他们,混合开发已经是未来的一种趋势,混合开发中使用的技术很多,不外乎HTML5、js框架通过一定的技术和原始交互,目前主流混合开发react Native、Cordova、APICloud、MUI、AppCan、Sencha Touch、jQuery Mobile等等(其他的小伙伴们自己收集),目前网
2017-07-19 01:00:01 2611
原创 Java 随机数、概率实现——Random类
前言:Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同,这点在生成多个随机数字时需要特别注意。下面分三部分
2017-07-19 00:30:54 20895
原创 Android 防抖动多次点击问题处理及RxBinding事件流使用
前言:在日常开发工作中经常会用到Button按钮点击处理用户的需求,比如提交一个订单到服务器或跳转进行支付按钮操作,如果出现延迟情况造成界面短时间没响应,用户接下来就很有可能再去点击一次按钮去提交,这样就的话会造成上一个事件还未处理完又多了一个新的事件需要处理,就会出现提交两次订单到后台服务器或支付两次,看似小问题,但是诸如此类的问题会成为不容小觑的Bug。而作为优秀专业的程序员是应该有洁癖的,那
2017-07-18 00:54:00 4292 2
原创 常见For 循环优化方式总结——值得一看的提高效率小妙招
前言我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for循环的常见优化方式。首先,我们初始化一个集合 list,如下:List<String> list = new ArrayList<String>(); 方法一:最常规的不加思考的写法 优点:较常见,易于理解 缺点:...
2017-07-15 14:49:36 33878 13
原创 AndroidStudio 使用可视化GitHup版本控制的基本操作
目录介绍一、配置Git二、创建仓库三、代码管理操作总结介绍目前业界主流的版本管理工具主要是SVN和Git,相信这一点大家也有所耳闻。其中,SVN是属于集中式的代码管理工具,而Git是分布式的代码管理工具,所以Git更大家的欢迎。(分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。)Gi...
2017-06-16 11:57:26 941
原创 23种开发设计模式总结,追求高内聚低耦合的编程思想。
目录一、概述二、7个设计原则1、单一职责原则 ( SRP )2、开闭原则 ( OCP )3、里氏替换原则 ( LSP )4、依赖倒置原则 ( DIP )5、接口隔离原则 ( ISP )6、最少知道原则(迪米特原则)7、合成/聚合复用(CARP)三、创建型模式 ( 5种 )1.单例模式2.工厂方法模式3.抽象工厂模式4.建造者模式5.原型模...
2017-06-13 14:32:39 18004
原创 数据结构与算法——从零开始学习(七)排序算法及时间复杂度
系列文章第一章:基础知识第二章:线性表第三章:栈和队列第四章:字符串和数组第五章:树和二叉树第六章:图第七章 排序(附Android源码)本章案例demo下载:http://download.csdn.net/download/csdn_aiyang/9943795一、基础概念二、简单排序(插入、冒泡、选择)2.1 插入排序2.2 冒泡排序2...
2017-06-12 15:17:52 15513 2
原创 Android Studio多渠道打包的方法,美团打包策略讲解
前言:不啰嗦 ,直接先把总结方法贴出。然后重点说多渠道打包。APK瘦身 :1、将项目资源中用到的大图进行压缩处理。 可以网上搜索在线图片压缩,好的压缩工具可以让图片仍然保持清晰不模糊。2、清除项目中无用的资源文件。比如已经不被引用的图片\图标、shape控件背景文件、layout布局文件、class文件等。3、如果应用在4.0版本以上,可以将图片转换webp格式。4、另外打包时
2017-06-09 16:33:21 3216
转载 Android之视频播放使用MediaPlayer+SurfaceView代替ViedoView控件
前言:虽然ViedoView控件可以播放视频,但播放的位置和大小并不受我们的控制,为了对视频有更好的控制权,可以使用MediaPlayer配合SurfaceView来播放视频。实现效果:1、SurfaceView与MediaPlayer配合使用:[html]view plaincopy
2017-06-07 18:25:08 2163
原创 Java 垃圾回收器的GC机制,看这一篇就够了
导语 垃圾回收器—GC(Garbage Collection),它与“java面向编程”一样是java语言的特性之一;它与“ c/c++语言”最大区别是不用手动调用 free() 和 delete() 释放内存。GC 主要是处理 Java堆Heap ,也就是作用在 Java虚拟机 用于存放对象实例的内存区域,(Java堆又称为GC堆)。JVM能够完成内存分配和内存回收,虽然降低了开...
2017-06-06 11:17:31 10179 2
原创 Android 深刻理解Activity生命周期的作用及意义
前言:Android开发最基础的是先用好Activity,而用好它必须先了解它的生命周期。这盘文章就是针对各个生命周期应该放置什么操作的问题,进行分析和解答。一、初识:Activity的生命周期有onCreate、onStart、onResume、onPause、onStop、onDestroy、onRestart共七个指示器。二、作用(必须熟记):onCreate :
2017-06-05 12:54:48 9839 1
原创 Android ToolBar 基础使用——进阶封装BaseActivity(附源码)
前言 在2015年的Google I/O大会上推出Design Support库,这个库讲Material Design 中最具代表性的一些控件和效果进行了封装,使得开发者在即使不了解Material Design的情况下也能轻松地将自己的应用Material华。这篇博文就说讲解其中一个 ToolBar的控件,我们之前对于ActionBar是比较熟悉的,但是大多数开发中都是将其隐藏掉了,因为...
2017-06-01 17:50:36 2857
原创 Android WebView与H5交互方式混合开发
前言所谓这个混合开发,也就是比较流行hybird,就是一些简单的html5和native 代码之间的交互。很多电商之类的app里面都有类似的功能,其优点就是可以实现跨平台,有新功能也或bug不需要再重新发版本。概括本章介绍基础属性WebSettings的使用,它可以设置webview所支持的功能,如页码缩放、支持JS交互、支持多窗口等。另外,webview自身也公开了一些方法提供...
2017-05-26 11:40:45 2728 1
原创 Kotlin 基础语法—while、when、ranges、双引号
Kotlin是一门与Swift类似的静态类型JVM语言,由JetBrains设计开发并开源。与Java相比,Kotlin的语法更简洁、更具表达性,而且提供了更多的特性,比如,高阶函数、操作符重载、字符串模板。它与Java高度可互操作,可以同时用在一个项目中1、教程 - Kotlin 语言中文站 (优化版)2、官方 - Kotlin 中文文档 (原版)
2017-05-19 12:31:32 3916 1
转载 Android Retrofit 2.0(二)使用教程OkHttp3 + Gson + RxJava
系列文章推荐:Android 必须知道的网络请求框架库,你不可错过的框架介绍篇Android Retrofit 2.0(一)初次见面请多多关照Android Retrofit 2.0(三)从源码分析原理 相关资料 Github:https://github.com/square/retrofit 官网文档:http://square.gith...
2017-05-17 19:09:43 5946
原创 Android OkHttp(一)源码出发探寻执行原理
前言现在主流的网络请求都是使用 Retrofit + OkHttp ,在掌握了一般使用后,就要往深里探究框架源码,这样不光是为了面试装逼,更是提升了对源码理解能力。经过大约一周的时间准备,源码看了个大概,也就大致明白了原理,这里总结一下整理成文,希望对大家能有所帮助。另外,推荐两篇关于OkHttp的文章:OkHttp 官方教材解析-彻底入门OkHttp 使用拆轮子系列:拆OkHttp流程结构首先,...
2017-05-17 11:57:10 1395 1
原创 Android Retrofit 2.0(一)初次见面请多多关照
前言Retrofit 是SQUARE美国一家移动支付公司最近新发布的在Android平台上 Http 访问的开源项目。官方标语:“A type-safe HTTP client for Android and Java”语意很明显是一款Android安全类型的http客户端。 这里安全指什么呢?是支持https或是支持本地线程安全呢?而且,Retrofit其内部都是支持lambda语法(链式语法)...
2017-05-16 16:33:24 2963 4
原创 Android 画圆弧canvas.drawArc() 详解
public void drawArc(@NonNull RectF oval, float startAngle, float sweepAngle, boolean useCenter, @NonNull Paint paint) { drawArc(oval.left, oval.top, oval.right, oval.bottom, startA
2017-05-11 12:36:19 27221 1
原创 Android 认识EventBus到原理解析
目录一、添加gradle依赖二、基础操作1、EventBus.getDefault(); 2、EventBus.getDefault().register(this); 3、EventBus.getDefault().post(object); 4、EventBus.getDefault().unregister(); 二、四个onEvent方法三、Ev...
2017-05-11 11:58:35 672
原创 Android Volley的优缺点及源码分析
为什么volley不适合post大量数据,以及为什么不适合上传下载大量文件?因为,volley中为了提高请求处理的速度,采用了ByteArrayPool进行内存中的数据存储的,如果下载大量的数据,这个存储空间就会溢出,所以不适合大量的数据。但是由于它的这个存储空间是内存中分配的,当存储的时候会先从ByteArrayPool中取出一块已经分配的内存区域, 不必每次存数据都要进行内存分配,而是先查...
2017-05-10 17:58:31 2088
Android 二维码扫一扫demo
2020-01-06
ExpandableListViewDemo.zip
2019-11-27
TestApplication.zip
2019-05-08
download-manage
2019-01-09
Bluetoothdemo
2017-09-11
音频震动管理
2017-09-08
ToolBar封装抽象类统一项目风格
2017-06-01
Android 热修复tinker补丁加载出错,提示日志如下:
2018-03-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人