- 博客(55)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Flutter实战连贯项目
疫情刚好静下心来回归过去的工作,博主要开始学习flutter,博主会边学习边实战项目连续连贯实现,大约一周会出一篇,源码地址1.支持rxjava、RxLifecycle特性2.支持加载中过渡扩展3.支持java、kotlin双版本mvp4.支持多个Presenter共用5.插拔式的AOP设计理念6.支持fragement、activity调用7.支持依懒引入8.支持android...
2020-04-30 16:24:10
619
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 flutter引导页、布局、定时器、网络异步数据更新
疫情刚好静下心来回归过去的工作,博主要开始学习flutter,博主会边学习边实战项目连续连贯实现,大约一周会出一篇,源码地址,开源不易,麻烦动手点星,谢谢,本开源不做商业使用,里面涉及用到api接口资源等只供学习,项目开发会分博客文章,请点击链接到对应的文章中浏览,建议其实万变不离其中,说到底还是离不开原生,学习之前往补充原生知识,本片主要讲的是引导页,其中涉及到技术点层叠布局、相对定位、容器、定...
2020-04-30 16:01:28
2502
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 flutter 创建项目、应用图标、启动页
疫情刚好静下心来回归过去的工作,博主要开始学习flutter,博主会边学习边实战项目连续连贯实现,大约一周会出一篇,[源码地址](https://github.com/apple317/FlutterAppleApp.git),开源不易,麻烦动手点星,谢谢,本开源不做商业使用,里面涉及用到api接口资源等只供学习,项目开发会分博客文章,请点击链接到对应的文章中浏览,建议其实万变不离其中,说到底还是离不开原生,学习之前往补充原生知识,本片主要讲的是创建项目、应用图标、启动页,再次感谢大家能耐心观看,谢谢!
2020-04-21 20:02:45
843
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 原生玩转Flutter环境
疫情刚好静下心来回归过去的工作,博主要开始学习flutter,博主会边学习边实战项目连续连贯实现,大约一周会出一篇,源码地址,开源不易,麻烦动手点星,谢谢,本开源不做商业使用,里面涉及用到api接口资源等只供学习,项目开发会分博客文章,请点击链接到对应的文章中浏览,建议其实万变不离其中,说到底还是离不开原生,学习之前往补充原生知识,本片主要讲的是Mac、window环境搭建,再次感谢大家能耐心观看...
2020-04-21 16:04:31
461
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 安卓Mvp架构(java、kotlin)
疫情刚好静下心来回归过去的工作,工作以后往往都是往前跑,其实偶尔多回归下技术,沉淀下来,这是博主抽离的mvp架构,本章源码linkhttps://github.com/apple317/AppleMvp,分为mvp_java和mvp_kotlin两个分支版本。安卓Mvp架构java/kotlin1.Mvp引用说明1.1 java引用说明2.创建插件库2.1 删除所有java代码和res资源2....
2020-04-10 21:57:42
884
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Aandroid组件化模块化架构
这几年一直忙去项目和家庭,作为快开发10年工程师,经历了移动最辉煌的时代,也经历低落的时段,做过了几万用户-百万等等无数项目,也许将要面临转行等等,在疫情这次大灾难下,让我深深感受我们身处了一个幸福的时代,我们不应该敢于平庸,不能随波逐流,才把最近几年项目中组件化、插件化、热更新、路由、mvp、插拔式服务都会慢慢开源出来,项目代码开源https://gitee.com/applehsp/Andr...
2020-03-29 23:13:30
714
1
原创 32岁10年移动开发何去何从
今年,我也32了 ,一转眼做移动开发快10年,忧愁焦虑,今年还赶上了疫情,35危机感就只在眼前,回二线城市可能太早。光亮的人生面试的真实情况然后开始疯狂投简历,要不公司环境不行,要不是小作坊,10个人左右创业公司,要不就是疯狂加班单休,今年这种情况其实只要能正常发工资就挺不错的,有个坑就不错了,别奢求,大多面试不太会刻意刁难,但是有些公司面试管问一些奇奇怪怪的问题,工资太低,我们接受不了,...
2020-04-16 21:00:59
578
原创 安卓插件及发布jenter
疫情刚好静下心来回归过去的工作,工作以后往往都是往前跑,其实偶尔多回归下技术,沉淀下来,这是博主一直想做的插件和发布,以前总是各种事情耽搁,本章源码link,麻烦多多关注点星。项目初始化1.创建项目 先创建一个基本项目,此处注意请尽量空白项目,避免乱七八糟报错。2.创建插件库2.1 删除所有java代码和res资源2.2 创建groovy以及代码编写2.3 创建meta-...
2020-04-06 17:42:08
947
1
原创 Android 图片压缩、内存计算
再平时开发中肯定都会用到图片相关知识,而平时大多都只会关注实现方面,但一些理论对于面试和更深入高级实现就很有用,比如很多第三方组件很多都已经实现,本篇文章先从图片加载内存计算、图片压缩、图片另存、图片一些上传等。
2016-09-20 16:05:04
968
原创 Android最新技术学习笔记
本人从事移动开发四五年,当中有很多技术出现和创新,那么平时有些看到的一些技术方案可以放到当前项目中,但好记不如烂笔记,还是有篇文章来记下,以后有最新的技术都会更新到这里面,涉及到Lint、微信打包等。
2016-05-20 14:06:05
838
原创 Android系统platform-tools包详解
由于最近工作一直很忙,刚好这几天有点空,就想着写点不一样的文章,就想到平时大多不会太多关注sdk下面工具包内工具和用途,我会用三四篇文章来全部介绍一边,下面我会分三部分来讲解:tools、platform-tools、build-tools。
2016-05-20 13:56:04
46467
原创 Android工具包下学习
由于最近工作一直很忙,刚好这几天有点空,就想着写点不一样的文章,就想到平时大多不会太多关注sdk下面工具包内工具和用途,我会用三四篇文章来全部介绍一边,下面我会分三部分来讲解:tools、platform-tools、build-tools。
2016-05-18 15:40:32
947
原创 Okhttp封装、网络层扩展
本文通过封装扩展网络中间层,可以自由切换okhttp或其它网络库,并支持okhttp所有特性,还可以自由封装和扩展,欢迎大家给出意见。目前支持一般的get请求一般的post请求基于Http Post的文件上传(类似表单)文件下载/加载图片 not上传下载的进度回调 not支持session的保持支持自签名网站https的访问,提供方法设置下证书就行支持取消某个请求支持自定义Callback支持HEAD、DELETE、PATCH、PUT not支持url关闭网络请求
2016-03-26 13:50:15
6946
9
原创 okHttp使用及优缺点
前言今天在这里要讲的是一个网络库,okHttp相对于其它网络库有很多不同,使用、效率、拦截器都有很多不同,当然也有坏处,比如callback回来是在线程里面, 不能刷新UI,访问请求跟apache有很多不同,这点注意,还有访问请求的时候,Get和Post有不同就是看一个地方,如果是用其它网络库,一定会迷惑到底那个才是Get\POST,文章中会细细解答,本文会以介绍、使用、优缺点来三大块阐述
2016-03-24 18:33:37
35100
6
原创 Android中MVC、MVP、MVVM详解
前言今天有时间就刚好有想写关于这几个名词,对于我来说,其实这么多名词、思想归根到底就是要根据项目实际、人员配置来做合理优化,既不能纸上谈兵、又不能畏惧不前,那么合理分阶段架构和完善代码才是关键,本篇文章将以两个思路讲述,第一先说介绍,然后再说优缺点,结合实际开发。一、MVC介绍MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。
2016-03-22 15:19:49
4652
2
原创 Android四大组件启动顺序、生命周期详解
前言今天有时间就准备整理一下Android的四大组件,有时候经常面试、技术群、朋友会聊起来四大组件,哪四大组件到底是什么,四大组件启动顺序是啥?我觉得如果面试的时候,有人问起来这个一定要注意,其实他想考察是你对四大组件的认识和理解。
2016-03-14 17:37:27
5703
原创 android消除锯齿原理分析
前言在Android中view绘画是很重要的一点,当view重写、surfaceView重写,都会涉及到如何把一个视图画的完美、边角不在毛躁躁,下面会从原来、业务场景、防锯齿、防锯齿实现原理。 一、锯齿的原由:1.1 业务场景1.Android 画圆形视图如:用户头像圆形的。2.还有像柱状图等,这个有开源组件hellocharts-android、MPAndroidChart等
2016-03-09 15:28:36
6928
原创 Http研究心得+面试心得
前沿当做了很久互联网产品,肯定会对http多少有些了解,当面试问起来这个问题,面试官会根据这个来衡量一个开发人的深度,会在几方面深入了解如:Http协议基础概念、请求响应模型、提交请求的不同方法、(Get\Post\Pull\Del)响应状态判断、(2XX\3XX\4XX,并在async中以300判断,这里再细谈)获取响应以及解析响应、数据下载的实现方法、数据上传的实现方法、请求头
2016-03-08 16:39:51
2231
1
原创 Android AdapterView View的复用机制 分析
前言 在平时开发当中,这中问题多简单简单,多容易容易,但我们平时都直接settag,很少能遇见,今天就做一个详细分析。开题设想1:拿ListView为例,如果ListView的ItemView复用机制,所有的ItemView复用同一个,如果在多线程下载图片的情况下,可能最终只有最后一个View显示图片吧,因为你前面的设置setTag(url),后面马上就会将你的Tag的值覆盖掉,
2016-02-29 18:04:13
710
原创 从HTTP GET和POST的区别说起(面试心得)
前沿当说起这个话题,就要从面试开始说,有次面试官问两者区别,就直接想到这不是很简单,答到:两者就是传输url明码、post表单提交更安全。如果说这个,第一种面试管为继续深究、第二种面试官直接pass。 1.分析 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。Http定
2016-02-29 15:13:54
6834
1
原创 深入Java集合学习系列:HashMap的实现原理
前言当写这边文章的时候,开始我并为做这方面深入研究,也是一次面试中有人问题,才觉得是应该有些研究,这篇会从HashMap开始,之后会从其它容器一一开始学习研究。1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,
2016-02-29 12:23:32
624
原创 Drawable和Bitmap的区别
Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。 Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。
2016-02-29 10:17:35
961
原创 OkHttp完全解析(六)拦截器
拦截器是一种能够监控,重写,重试调用的强大机制。调用chain.proceed(request)是每个拦截器实现的关键部分。这个看似简单的方法是所有HTTP 工作发生的地方, 在这里产生一个响应应答请求。拦截器可以是链式的,假设你有一个压缩拦截器和一个校验拦截器,那么需要决定数据是否被压缩后进行校验,或者是先校验后压缩。OkHttp采用列表的形式追踪拦截器,拦截器会被有
2016-02-29 10:14:25
1467
原创 Android代码强制区分规范
前言Android代码规范是个很模糊又很敏感的话题,有时候很多同事都很不愿意直面对这个问题,谁愿意说自己的代码很烂,其实人往往不愿意改变,就很难再进步,我就在无数次跌倒中有站起来,下面给大家讲讲在实战中几招实用的代码归类和合并,让代码更清晰方便又易于维护。public abstract class BaseActivity extends Activity implements
2015-11-14 16:16:54
872
原创 Android数据层解析层解耦问题
前言Android数据层基本都跟业务挂钩,如果不把数据层提出来,哪架构无法做到完全独立,数据层的解耦是非常重要,所以就要做到模块完全独立,可扩展。先看看JsonPaserFactory的实现,前面有讲过,不做详细说明:BaseEntity entity = (BaseEntity) BaseApplication.httpRes.getPaser(type); 里面调用
2015-11-12 17:15:37
1210
原创 Android网络层与数据层设计
Android数据层就是数据模型,如果只是随便解析,返回到视图层,那只会代码繁重、维护难、扩展性差,所以一个好解析器设计,会减少开发成本和维护。
2015-11-11 12:24:02
1539
原创 网络层如何解耦问题
前言Android业务层就是涉及app业务相关的,网络层为啥要触耦,因为一个好的架构和项目往往要适应不同开发场景和业务需求,如何有一天你的小同事需要替换网络库,用volley怎么办,那么本篇就是讲的如何解耦,其实大多还是用到观察者模式。先看看老的代码截图如下:以上就是老的框架模型,大家看到a是代表了一个BaseActivity对象。这样就把业务层和网络库死死的绑在一块,如果采用面向
2015-11-10 15:29:54
1678
原创 Android快速开发Android-Async-Http
前言项目地址:https://github.com/loopj/android-async-http文档介绍:http://loopj.com/android-async-http/ (1) 在匿名回调中处理请求结果 (2) 在UI线程外进行http请求 (3) 文件断点上传 (4) 智能重试 (5) 默认gzip压缩 (6) 支持解析成Json格式 (7)
2015-11-09 15:17:37
731
原创 RecyclerView研究
前言在android常用组件中ListView是我们手中的常客 , 几乎没有一个APP不使用这个组件的 , 我们为他添加下拉刷新 , 为他添加上拉加载 , 为他的每个Item写动画效果 , 几乎一个APP的很多工作 , 都耗费在了ListView上面 。每次写Adapter几乎都要为其手动实现一个ViewHolder,即使自己封装了ViewHolder ,但灵活性也就缺失了 , 如果将列表
2015-11-09 15:00:37
621
原创 Activity业务层与网络层之间处理
Android业务层就是涉及app业务相关的,详细功能实现部分,如何把业务和网络层分离好,这个问题是最麻烦之处.
2015-11-06 18:10:52
1321
2
原创 Android资源混淆保护实践
Android应用中的APK安全性一直遭人诟病,市面上充斥着各种被破解或者汉化的应用,破解者可以非常简单的通过破解工具就能对一个APK进行反编译、破解、汉化等等,这样就可以修改原有代码的逻辑、添加新代码、添加或修改资源、或者更有甚者植入病毒等等,从而破坏原有APK的安全和用户体验,最终伤害到用户和原有的开发者。而事物都是有两方面的,有矛就有盾,针对Android应用安全的各种方案应运而生,大家比较熟悉一般是各类加壳加固的工具,我们可以使用这些工具来保护我们的APK,加壳加固是另外一个话题了,我们这里不对加
2015-11-06 10:19:51
1054
原创 创建GitHub技术博客全攻略
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。如何创建git,发布自己的开源项目。
2015-11-05 11:25:45
565
转载 Android adb setuid提权漏洞的分析
Android adb setuid提权漏洞的分析11条回复去年的Android adb setuid提权漏洞被用于各类root刷机,漏洞发现人Sebastian Krahmer公布的利用工具RageAgainstTheCage(rageagainstthecage-arm5.bin)被用于z4root等提权工具、Trojan.Android.Rootcager等恶意代码之中。
2014-09-04 14:59:24
789
原创 Android Preference存储、res/raw、asset、openFileOutput、sdcard存储、Cache详解
Android Preference存储、res/raw、asset、openFileOutput、sdcard存储详解
2013-12-24 15:01:39
2566
1
原创 Android 实际项目架构提炼开篇一
http://blog.csdn.net/zhengzhb/article/details/7610745
2013-12-23 22:52:34
943
转载 Android手机分辨率基础知识(DPI,DIP计算)
1.术语和概念术语说明备注Screen size(屏幕尺寸)指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸摩托罗拉milestone手机是3.7英寸Aspect Ratio(宽高比率)指的是实际的物理尺寸宽高比率,分为long和nolong
2013-12-20 17:40:23
742
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人