Android 开发
文章平均质量分 84
尐噺
这个作者很懒,什么都没留下…
展开
-
flutter引导页、布局、定时器、网络异步数据更新
疫情刚好静下心来回归过去的工作,博主要开始学习flutter,博主会边学习边实战项目连续连贯实现,大约一周会出一篇,源码地址,开源不易,麻烦动手点星,谢谢,本开源不做商业使用,里面涉及用到api接口资源等只供学习,项目开发会分博客文章,请点击链接到对应的文章中浏览,建议其实万变不离其中,说到底还是离不开原生,学习之前往补充原生知识,本片主要讲的是引导页,其中涉及到技术点层叠布局、相对定位、容器、定...原创 2020-04-30 16:01:28 · 2311 阅读 · 1 评论 -
OkHttp完全解析(六)拦截器
拦截器是一种能够监控,重写,重试调用的强大机制。调用chain.proceed(request)是每个拦截器实现的关键部分。这个看似简单的方法是所有HTTP 工作发生的地方, 在这里产生一个响应应答请求。拦截器可以是链式的,假设你有一个压缩拦截器和一个校验拦截器,那么需要决定数据是否被压缩后进行校验,或者是先校验后压缩。OkHttp采用列表的形式追踪拦截器,拦截器会被有原创 2016-02-29 10:14:25 · 1456 阅读 · 0 评论 -
Android中MVC、MVP、MVVM详解
前言今天有时间就刚好有想写关于这几个名词,对于我来说,其实这么多名词、思想归根到底就是要根据项目实际、人员配置来做合理优化,既不能纸上谈兵、又不能畏惧不前,那么合理分阶段架构和完善代码才是关键,本篇文章将以两个思路讲述,第一先说介绍,然后再说优缺点,结合实际开发。一、MVC介绍MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器。原创 2016-03-22 15:19:49 · 4626 阅读 · 2 评论 -
android消除锯齿原理分析
前言在Android中view绘画是很重要的一点,当view重写、surfaceView重写,都会涉及到如何把一个视图画的完美、边角不在毛躁躁,下面会从原来、业务场景、防锯齿、防锯齿实现原理。 一、锯齿的原由:1.1 业务场景1.Android 画圆形视图如:用户头像圆形的。2.还有像柱状图等,这个有开源组件hellocharts-android、MPAndroidChart等原创 2016-03-09 15:28:36 · 6905 阅读 · 0 评论 -
Http研究心得+面试心得
前沿当做了很久互联网产品,肯定会对http多少有些了解,当面试问起来这个问题,面试官会根据这个来衡量一个开发人的深度,会在几方面深入了解如:Http协议基础概念、请求响应模型、提交请求的不同方法、(Get\Post\Pull\Del)响应状态判断、(2XX\3XX\4XX,并在async中以300判断,这里再细谈)获取响应以及解析响应、数据下载的实现方法、数据上传的实现方法、请求头原创 2016-03-08 16:39:51 · 2226 阅读 · 1 评论 -
Android四大组件启动顺序、生命周期详解
前言今天有时间就准备整理一下Android的四大组件,有时候经常面试、技术群、朋友会聊起来四大组件,哪四大组件到底是什么,四大组件启动顺序是啥?我觉得如果面试的时候,有人问起来这个一定要注意,其实他想考察是你对四大组件的认识和理解。原创 2016-03-14 17:37:27 · 5680 阅读 · 0 评论 -
网络层如何解耦问题
前言Android业务层就是涉及app业务相关的,网络层为啥要触耦,因为一个好的架构和项目往往要适应不同开发场景和业务需求,如何有一天你的小同事需要替换网络库,用volley怎么办,那么本篇就是讲的如何解耦,其实大多还是用到观察者模式。先看看老的代码截图如下:以上就是老的框架模型,大家看到a是代表了一个BaseActivity对象。这样就把业务层和网络库死死的绑在一块,如果采用面向原创 2015-11-10 15:29:54 · 1665 阅读 · 0 评论 -
Activity业务层与网络层之间处理
Android业务层就是涉及app业务相关的,详细功能实现部分,如何把业务和网络层分离好,这个问题是最麻烦之处.原创 2015-11-06 18:10:52 · 1310 阅读 · 2 评论 -
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 · 711 阅读 · 0 评论 -
Drawable和Bitmap的区别
Bitmap - 称作位图,一般位图的文件格式后缀为bmp,当然编码器也有很多如RGB565、RGB888。作为一种逐像素的显示对象执行效率高,但是缺点也很明显存储效率低。我们理解为一种存储对象比较好。 Drawable - 作为Android平下通用的图形对象,它可以装载常用格式的图像,比如GIF、PNG、JPG,当然也支持BMP,当然还提供一些高级的可视化对象,比如渐变、图形等。原创 2016-02-29 10:17:35 · 952 阅读 · 0 评论 -
深入Java集合学习系列:HashMap的实现原理
前言当写这边文章的时候,开始我并为做这方面深入研究,也是一次面试中有人问题,才觉得是应该有些研究,这篇会从HashMap开始,之后会从其它容器一一开始学习研究。1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,原创 2016-02-29 12:23:32 · 606 阅读 · 0 评论 -
从HTTP GET和POST的区别说起(面试心得)
前沿当说起这个话题,就要从面试开始说,有次面试官问两者区别,就直接想到这不是很简单,答到:两者就是传输url明码、post表单提交更安全。如果说这个,第一种面试管为继续深究、第二种面试官直接pass。 1.分析 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。Http定原创 2016-02-29 15:13:54 · 6815 阅读 · 1 评论 -
okhttp二次封装+动态代理
Retrofit 融合自己封装框架、详解技术实现原创 2017-01-19 17:00:12 · 2630 阅读 · 0 评论 -
Android最新技术学习笔记
本人从事移动开发四五年,当中有很多技术出现和创新,那么平时有些看到的一些技术方案可以放到当前项目中,但好记不如烂笔记,还是有篇文章来记下,以后有最新的技术都会更新到这里面,涉及到Lint、微信打包等。原创 2016-05-20 14:06:05 · 822 阅读 · 0 评论 -
Android 图片压缩、内存计算
再平时开发中肯定都会用到图片相关知识,而平时大多都只会关注实现方面,但一些理论对于面试和更深入高级实现就很有用,比如很多第三方组件很多都已经实现,本篇文章先从图片加载内存计算、图片压缩、图片另存、图片一些上传等。原创 2016-09-20 16:05:04 · 948 阅读 · 0 评论 -
Android工具包下学习
由于最近工作一直很忙,刚好这几天有点空,就想着写点不一样的文章,就想到平时大多不会太多关注sdk下面工具包内工具和用途,我会用三四篇文章来全部介绍一边,下面我会分三部分来讲解:tools、platform-tools、build-tools。原创 2016-05-18 15:40:32 · 932 阅读 · 0 评论 -
Okhttp封装、网络层扩展
本文通过封装扩展网络中间层,可以自由切换okhttp或其它网络库,并支持okhttp所有特性,还可以自由封装和扩展,欢迎大家给出意见。目前支持一般的get请求一般的post请求基于Http Post的文件上传(类似表单)文件下载/加载图片 not上传下载的进度回调 not支持session的保持支持自签名网站https的访问,提供方法设置下证书就行支持取消某个请求支持自定义Callback支持HEAD、DELETE、PATCH、PUT not支持url关闭网络请求原创 2016-03-26 13:50:15 · 6921 阅读 · 9 评论 -
Android系统platform-tools包详解
由于最近工作一直很忙,刚好这几天有点空,就想着写点不一样的文章,就想到平时大多不会太多关注sdk下面工具包内工具和用途,我会用三四篇文章来全部介绍一边,下面我会分三部分来讲解:tools、platform-tools、build-tools。原创 2016-05-20 13:56:04 · 46343 阅读 · 0 评论 -
okHttp使用及优缺点
前言今天在这里要讲的是一个网络库,okHttp相对于其它网络库有很多不同,使用、效率、拦截器都有很多不同,当然也有坏处,比如callback回来是在线程里面, 不能刷新UI,访问请求跟apache有很多不同,这点注意,还有访问请求的时候,Get和Post有不同就是看一个地方,如果是用其它网络库,一定会迷惑到底那个才是Get\POST,文章中会细细解答,本文会以介绍、使用、优缺点来三大块阐述原创 2016-03-24 18:33:37 · 35036 阅读 · 6 评论 -
Android AdapterView View的复用机制 分析
前言 在平时开发当中,这中问题多简单简单,多容易容易,但我们平时都直接settag,很少能遇见,今天就做一个详细分析。开题设想1:拿ListView为例,如果ListView的ItemView复用机制,所有的ItemView复用同一个,如果在多线程下载图片的情况下,可能最终只有最后一个View显示图片吧,因为你前面的设置setTag(url),后面马上就会将你的Tag的值覆盖掉,原创 2016-02-29 18:04:13 · 692 阅读 · 0 评论 -
RecyclerView研究
前言在android常用组件中ListView是我们手中的常客 , 几乎没有一个APP不使用这个组件的 , 我们为他添加下拉刷新 , 为他添加上拉加载 , 为他的每个Item写动画效果 , 几乎一个APP的很多工作 , 都耗费在了ListView上面 。每次写Adapter几乎都要为其手动实现一个ViewHolder,即使自己封装了ViewHolder ,但灵活性也就缺失了 , 如果将列表原创 2015-11-09 15:00:37 · 616 阅读 · 0 评论 -
Android资源混淆保护实践
Android应用中的APK安全性一直遭人诟病,市面上充斥着各种被破解或者汉化的应用,破解者可以非常简单的通过破解工具就能对一个APK进行反编译、破解、汉化等等,这样就可以修改原有代码的逻辑、添加新代码、添加或修改资源、或者更有甚者植入病毒等等,从而破坏原有APK的安全和用户体验,最终伤害到用户和原有的开发者。而事物都是有两方面的,有矛就有盾,针对Android应用安全的各种方案应运而生,大家比较熟悉一般是各类加壳加固的工具,我们可以使用这些工具来保护我们的APK,加壳加固是另外一个话题了,我们这里不对加原创 2015-11-06 10:19:51 · 1046 阅读 · 0 评论 -
Android 原创九宫格方块显示控件
Android 原创九宫格方块显示控件原创 2013-12-07 22:54:06 · 2823 阅读 · 1 评论 -
Android 开源柱状图分析实现
在平时开发中柱状形状偶尔会有项目需求,由于又一次开发需要,去找开源的组件都不好用,要不调用很不方便,要不它们类库太笨重,可以适配所有屏幕。该项目地址位于:https://github.com/apple317/displayview原创 2013-12-05 17:39:31 · 1837 阅读 · 0 评论 -
Handler+Message+MessageQuque+Looper 异步加载类 消息处理机制 分析
其实在平时开发、面试、技术交流都会提到Android消息处理机制,记得有次去拉手网面试有问道,消息处理流程,我相信这个对于开发Android两年都很简单,但是具体问道每个类作用和具体回调机制,每个对象分布在那个线程里,这时候就有点不清楚了,我回来之后就详细研究了Handler、Message、MessageQuque、Looper。一.对象描述1.Looper: 一个线程可以产生一个Loo原创 2013-11-28 18:18:32 · 1225 阅读 · 0 评论 -
Android 圆形头像显示
Android 在api中没有直接显示圆形图片的组件,要 重写一个ImageView组件: 实现基本思想在通过getDrawable()得到ImageView图片对象,然后在OnDraw方法中用Canvas绘画一个位图,并去掉锯齿,并画一个圆形图层,用PorterDuffXfermode 合并图像。 在正常的情况下,在已有的图像上绘图将会在其上面添加一层新的形状。原创 2013-11-07 15:07:40 · 3218 阅读 · 0 评论 -
android+捕获home键方法
在Activity中接收按键事件方法是onKeyDown(int keyCode,KeyEvent event),而松开按键是onKeyUp方法。@Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEv原创 2013-11-06 22:28:12 · 1546 阅读 · 0 评论 -
android分辨率详解
Density获取的部分在DisplayMetrics.java这个类里面,系统定义了3个等级的density,分别是low-120,medium-160,high-240。 代码中把Density设置为默认的Density,也就是当前,机器中的Density。那如何设置这个Density。同样在这个类最下面,找到系统获取Density的方法: private static原创 2013-11-06 22:25:43 · 938 阅读 · 0 评论 -
Launcher 个人心得
Launcher在android中是一个启动器,如果想定制界面,就得修写workspace和应用程序界面布局,workspace加载程序是通过viewGroup添加view.下面是我添加的功能总结: 第一:添加数据库,要注意几个问题,数据库存储什么数据,包括应用的序列、位置信息、应用程序名称、包名、Intent信息(封装包信息+activity信息,作为索引值)、应用分类子段等,实现添加、删原创 2013-11-06 22:27:24 · 822 阅读 · 0 评论 -
android2.2 2.3状态栏区别
终于升完2.3版本,感触很多。2.3把状态栏提到framework/package里面,虽然修改是方便了,但注意的是它的样式还是取的framework/core/res/res/value中的style.xml和themes.xml文件。 在thems.xml中有这样一段代码: @android:color/bright_foreground_dark @android:color/br原创 2013-11-06 22:26:40 · 821 阅读 · 0 评论 -
Android 滑轮组件
Android 滑轮组件分析原创 2013-12-09 18:38:46 · 2583 阅读 · 3 评论 -
Android拍照和取相册并裁切
Android 相册和照片 裁剪原创 2013-11-07 11:25:09 · 1819 阅读 · 0 评论 -
Android 视图绘画机制分析
Android 视图绘画机制分析 View onLayout原创 2013-12-03 22:39:46 · 1265 阅读 · 0 评论 -
Android 新浪授权和分享经验总结
Android新浪授权和分享原创 2013-12-27 11:22:52 · 2088 阅读 · 1 评论 -
Android Dalvik虚拟机概述
Dalvik虚拟机概述原创 2014-09-11 11:59:26 · 1488 阅读 · 0 评论 -
Android BroadcastReceiver 广播深入研究
android 深入研究广播机制原创 2014-09-05 12:20:20 · 1085 阅读 · 0 评论 -
Android Preference存储、res/raw、asset、openFileOutput、sdcard存储、Cache详解
Android Preference存储、res/raw、asset、openFileOutput、sdcard存储详解原创 2013-12-24 15:01:39 · 2558 阅读 · 1 评论 -
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 · 726 阅读 · 0 评论 -
Android WebView 加载网页
android中用webview开发加载html代码、加载url、加载本地html文件。原创 2013-12-11 11:31:53 · 2441 阅读 · 1 评论 -
Android 按键事件处理详解
原文地址:Android按键事件处理详解作者:Apple公司最近做一个按键触感就对这块研究了一番,以下是个人心得。1.开始肯定先说的是驱动这块,硬件是软件服务的,在Android这块C和java交互,有两种方式: 1.1:驱动--JNI--服务-事件分发-上层应用处理。 1.2:上层直接调用通过lib库的方式实现,中间使用回调机制,这种方式在Camera中有,下次再详解。原创 2013-11-06 16:22:40 · 1280 阅读 · 0 评论