自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android知识梳理

Android中5种布局 :FrameLayout,LinearLayout, RelativeLayout, TableLayout全部继承ViewGroupActivity和Fragment的关系: onAttach(fragment)--> onCreate(fragment)-->onCreateView(fragment)-->onViewCreated(fragmen...

2018-03-15 10:22:53 1438

原创 Retrofit源码总结

**本文总结基于Retrofit 2.4.0**GitHub:  [https://github.com/square/retrofit](https://note.youdao.com/)官方文档:  [https://square.github.io/retrofit/](https://note.youdao.com/)Retrofit 底层是基于OkHttp的进行网络请求的一种...

2018-10-26 19:43:47 467

原创 混淆实用小技巧总结

一 为什么要混淆java源代码通过编译成字节码文件存储在.class文件中,字节码文件中包含了变量名,方法名等信息,而程序是通过这些名称来访问变量和方法的,这些信息很容易反编译成java源代码,所以需要通过proguard来对java字节码进行混淆,而混淆前后的代码具有相同的功能。 Proguard混淆技术可以压缩,优化我们的apk,同时可以混淆我们的代码,主要作用是可以移除代码中无用...

2018-10-08 18:51:42 538

原创 Android自定义View基础知识总结

自定义View关键点1 自定义绘制的方式是重写绘制方法,其中最常见的是onDraw()方法。2 绘制的关键点是Canvas的使用(1)Canvas的绘制类方法:drawXXX(xxx),关键参数是Paint。(2)Canvas的辅助类方法:范围裁切和几何变换。自定义绘制知识的四个级别1 Canvas类的drawXXX系列方法和Paint最常见的使用。canvas.dra...

2018-09-30 20:46:06 307

原创 记2018年8月Android面试分享

个人简介先说一下个人情况吧,毕业安徽省内一所二流的普通本科院校,就这都是使出洪荒之力,集日月之精华,收天地之灵气,方得硕果,真是汗颜。没有211,985的名校光环,没有可以纨绔霍霍的家庭背景,也没有经天纬地的大脑,更没有迷倒千万少女的盖世容颜,有的是一张蜜汁自信的脸庞,和一个健康壮硕的身体,如何变现,苦无良路。杭飘江湖狗一枚,不咬人的那种,哈哈,在北京待过,为帝都空气净化出过力,11月23...

2018-09-24 21:15:54 657 1

转载 关于android studio 出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'. 的解决办法

https://blog.csdn.net/fighting_2017/article/details/80244982

2018-09-11 18:49:47 656

原创 屏幕适配升级之今日头条总结

因为Android系统的碎片化,手机分辨率和尺寸的多样化所以开发中经常需要进行屏幕适配。看了今日头条的技术博客之屏幕适配觉得很NB,看完之后,学到很多,以下作为基础部分回顾以及对适配方案进行总结 这是今日头条传送门。 回顾一下基本知识:屏幕尺寸 是指屏幕对角线的长度分辨率 是指屏幕横向像素的数量 * 纵向像素的数量。在进行屏幕适配的时候需要注意几个单位:dp    (设...

2018-09-02 15:18:29 746

原创 熟悉的Handler,再看源码重新了解

Handler在Android中主要用于组件之间或者线程之间消息通信机制,主要有四个核心元素:Handler  Message  MessageQueue  Looper。 这里说一下简单原理:通过调用handler.sendMessage()方法将Message添加到消息队列MessageQueue,然后通过一个无限循环的Looper轮询器,不断从消息队列MessageQueue中获取消...

2018-08-31 11:32:10 221

原创 OkHttp通俗易通的总结,没有源码分析

OkHttp: 是一个高性能的网络请求库,支持同步和异步,支持拦截器处理,支持线程池,数据转换,参数配置,错误处理等。OkHttp是一个偏底层的网络请求库,还需要进行一些合理封装,便于使用。1创建一个OkHttpClient对象。2创建Request对象。3通过OkHttpClient的newCall方法传入request获取一个管理请求Call。4同步的话直接执行execut...

2018-08-12 21:50:34 233

原创 开发艺术探索--关与Binder总结

Binder是Andriod中的一个类,它实现了IBinder的接口,在Android中是一种跨进程的通信方式。充当服务端和客户端的桥梁,当通过bindService和服务端连接的时候,服务端会返回一个Binder对象,通过这个对象就可以获取服务端的数据和服务了。 和Socket相比,Socket实现跨进程通信需要进行两次内存拷贝,而Binder只需要一次,效率要高一点。 基本总结...

2018-08-12 21:42:02 203

原创 Window Activity View 三者的关系

Window表示一个窗口,这是一个抽象类,具体的实现是PhoneWindow,可以通过WindowManager来创建一个Window。Activity是Android四大组件,主要和用户进行交互,View是视图对象。 Android中所有的视图都是通过Window来呈现的,不管是Activity还是Dialog都是依附在Window上的。当启动Activity通过setConte...

2018-08-12 21:40:21 341

原创 Android模块化和组件化开发简单理解(一)

模块化和组件化可以理解为同一个概念:将一个app分成多个模块,每个模块都是一个组件(module),开发过程中让这些组件相互依赖或者单独调试某个组件。在发布的时候将这些组件合并成一个apk。Android组件化我的理解是 application与library之间相互转换。因为 在AndroidStudio开发中每个module中的build文件中第一句话都是:apply plugin...

2018-08-09 17:29:38 2106 1

原创 android edittext 搜索关键字带空格,引起url异常的问题

做搜索功能,当在edittext中输入带空格的关键字时,无法从服务器获得数据,跟踪一看是url异常,网上搜了搜找到这个URLEncoder.encode(keyword),将你获得的关键字编码后,再加到url中就可以了...

2018-05-16 10:24:20 337

原创 碰到https请求下发送http请求问题

HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网...

2018-04-27 15:05:11 11009

原创 ScrollView、ListView、RecycleView嵌套其他的滑动布局引发的自动滑动问题

RecycleView等滑动组件嵌套listView,gridView等其他滑动组件引发的自动滑动尤其当l嵌套的istView或gridView在屏幕底部或超出屏幕时尤为明显。一般出现这种情况是焦点问题,这时如果不想listView或girdView获取焦点的话,需要在被嵌套的组件的父布局的根布局设置(就是父布局RecycleView其他的滑动组件需要在RecycleView中设置android:...

2018-03-29 17:44:15 464

原创 15_Android性能优化

本章是最后一章,主题是Android的性能优化方法和程序设计的一些思想。通过本章的内容,读者可以掌握常见的性能优化方法,这将有助于提高Android程序的性能:另一方面,本章还讲解了Android程序设计的一些思想,这将有助于提高程序的可维护性和扩展性。Android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,无法做到像PC设备那样具有超大的内存和高性能的CPU。鉴于这一点...

2018-02-24 18:05:58 354

原创 14_JNI和NDK编程

java JNI的本意是java Native Interface(java本地接口),它是为了方便java调用C、C等本地代码所封装的一层接口。我们知道,java的优点是跨平台,但是作为优点的同时,其在和本地交互的时候就出现了短板。java的跨平台性导致其本地交互的能力不够强大,一些操作系统相关的特性java无法完成,于是提供了JNI专门用于和本地代码交互,这样就增强了java语言的本地交互能力...

2018-02-24 17:19:15 419

原创 13_综和技术

本章介绍的主题在日常开发中使用频率略低,但是对它们有一定的了解仍然是很有必要的。我们知道,不管程序怎么写都很难避免不crash,当程序crash后虽然无法让其再继续运行,但是如果能够知道程序crash的原因,那么就可以修复错误。但是很多时候产品发布后,如果用户使用时发生了crash,这个crash信息是很难获取到的,这非常不利于一个产品的持续发展。其实可以通过CrashHandler来监视应用的c...

2018-02-24 16:15:50 347

原创 12_Bitmap的加载和Cache

本章的主题是Bitmap的加载和Cache,主要包含三个内容。首先讲述如果有效地加载一个Bitmap,这是一个很有意义的话题,由于Bitmap的特殊性以及Android对单个应用所施加的内存限制,比如16MB,这导致加载Bitamp的时候很容易出现内存溢出。java.lang.OutofMemoryError:bitmap size exceeds VM budget因此如何高效地加载Bitmap...

2018-02-11 17:57:54 332

原创 11_Android的线程和线程池

线程在android中是一个很重要的概念,从用途上来说,线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。除了Thread本身以外,在Android中可以扮演线程角色的还有很多,比如AsyncTask和IntentService,同时HandlerThread也是一种特殊的线程,但是它们的本质任然是传统的线程。对于AsyncTask来说,它的底层用到了线程池。...

2018-02-11 16:16:14 295

原创 10_Android的消息机制

从开发的角度来说,Handler是Android消息机制的上层接口,这使得在开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为Handler的作用是更新UI,这的确没错,但是更新UI仅仅是Handler的一个特殊的使用场景。有时候需要在子线程中进行耗时的I/O操作,可能是读取文件或者访问网络等,当耗...

2018-02-11 14:12:09 230

原创 9_四大组件的工作过程

四大组件分别是Activity、Service、BroadcastReceiver和ContentProvider。首先对四大组件的运行状态和工作方式做一个概括化的描述,接着对四大组件的工作过程进行分析。通过分析它们的工作过程我们可以更好地理解系统内部的运行机制。9.1 四大组件的运行状态android的四大组件中除了BroadcastReceiver以外,其他组件必须在android-Manif...

2018-02-11 10:24:02 474

原创 8_理解Window和WindowManager

Window表示一个窗口的概念,在日常开发中直接接触Window的机会并不多,但是在某些特殊时候我们需要在桌面上显示一个类似悬浮窗的东西,那么这效果就需要用到Window来实现。Window是一个抽象类,它的具体实现是pHoneWindow。创建一个Window是一个很简单的事,只需要通过WindowManager即可完成。WindowManager是外界访问Window的入口,Window的具体...

2018-02-09 14:45:33 331

原创 7_Android动画深入分析

Android的动画可以分为三种:View动画、帧动画和属性动画,其实帧动画也属于View动画的一种,只不过它和平移旋转等常见的View等常见的View动画在表现形式上略有不同而已。View通过对场景里的对象不断做图像变换(平移、缩放、旋转、透明度)从而产生动画效果,是一种渐进式动画,并且View动画支持自定义。帧动画通过顺序播放一系列图像从而产生动画效果,可以简单理解为图片切换动画,很显然,如果...

2018-02-08 15:19:49 334

原创 5_理解RemoteViews

RemoteViews表示的是一个View机构,它可以在其他进程中显示,由于它在其他进程中显示,为了能够更新它的界面,RemoteViews提供了一组基础的操作作用于跨进程更新它的界面。RemoteViews在android中使用场景有两种:通知栏和桌面小部件。桌面小部件是通过AppWidgetProvider来实现的,AppWidgetProvider本质上是一个广播。通知栏和桌面小工具

2018-02-07 16:11:34 242

原创 4_View的工作原理

View的底层工作原理,比如View的测量,View的绘制,View的布局。除了View的三大流程,View的常见的回调方法也是需要熟练的,比如构造方法,onAttach、onVisibilityChanged、onDetach等。4.1 初识ViewRoot和DecorViewViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView

2018-02-07 11:00:53 337

原创 3_View的事件体系

3.1.1 Veiw的基础知识什么是View:Android 开发中,Activity承担可视化的功能,同时Android系统提供了很多基础控件,View是Android中所有控件的基类,不管是基础的Button和TextView还是复杂的RelativeLayout和RecycleView,它们共同的基类都是View,View是一种界面层的控件的一种抽象,它代表了一个控件。除了View还

2018-02-06 10:40:23 311

原创 2_IPC进程间通信机制

2.1 AndroidIPCIPC是intent-process-Communication的缩写,跨进程通信或进程间通信。进程和线程是两种不同的概念,线程是cpu调度最小的单元,也是一种有限的系统资源。而进程一般指一个执行单元,在PC和移动设备上指一个程序或者是一个应用。Android系统会为每个应用分配一个唯一一个的UID,具有相同的UID才能共享数据,两个应用通过ShareU

2018-02-02 14:36:41 404

原创 1_Activity生命周期分析

声明:这仅仅是对Android开发大神 任玉刚的作品《Android开发艺术探索》内容的誊写,不存在以广告、盈利等其他任何商业行为,仅仅是因书籍携带不便,不能随时“瞻仰”大神作品,故将书中内容誊写下来,(注:内容全部手打)。正常情况下Activity生命周期如图有7个生命周期回调 当用户打开新的Activity或者桌面的时候, 正常是onPause->o

2018-01-24 17:14:36 269

原创 新浪微博分享遇到的心酸的问题

/**稀土掘金,时光不老**/大家好,O(∩_∩)O哈哈~

2016-05-18 14:53:55 10227 10

原创 Android 打造万能的ViewPagerIndicator 指示器

/**稀土掘金,时光不老**/大家好,又是项目中用到的小功能,拿来和大家分享交流一下,如有不足之处,请多多指教哈。O(∩_∩)O哈哈~1. 概述。ViewPager的指示器相信大家都做过了,有用图片,第三方的,有support.design库中TabLayout,也有大多数人都用过的TabPageIndicator等等,并且很多知名APP都使用过这个开源的指示器。,我也用过,但是感

2016-04-05 19:01:00 7836 1

原创 Android 应用中使用ContentObserver自动填写短信验证码

/**稀土掘金,时光不老**/大家好,最近做项目时,加了一个小功能,手机登录应用或注册时

2016-03-31 18:24:29 1212 1

原创 Android-通过自定义ViewPager(中间放大效果)

/**稀土掘金,时光不老**/大家好,很早就想写博客了,一是工作忙,二是缺乏原创性,三当然是自己的能力不够啦,写这篇博客是很惶恐。。。。请多多包涵/****************************--------   ---------                            -------*********************************

2016-03-24 17:11:27 11234 10

万能的ViewPagerIndicator 指示器

用画笔来画一个矩形指示器,提升性能很显著,同时带有滑动效果。改变指示器的宽度和高度,封装好指示器和ViewPagerd的联动效果。

2016-04-06

Android-通过自定义ViewPager画廊式中间放大效果

画廊式中间放大效果

2016-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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