自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

秦时明月

学习改变命运,奋斗创造人生

  • 博客(22)
  • 资源 (49)
  • 收藏
  • 关注

原创 关于性能优化的感悟

布局优化:1、减少布局的嵌套 使用<include>标签:将一个指定的布局文件加载到当前布局 使用<merge>标签:一般和<include>标签一起减少布局的层级,这个标签可以去掉多余的同类型布局,比如include的linearlayout和根linearlayout的布局参数相同,就可以使用这个标签来去掉对于的那一层linearlayout 使用ViewStub,在使用的时候再加载布

2016-06-30 23:10:50 623

原创 viewpager轮播图的实现(简洁易懂)

在做这个效果的时候,我第一时间看了网上的轮播方式,发现问题很多,有的人在代码里大量的判断手动滑动和自动滑动的状态改变,有的人的轮播是定义了一个很大的Int值,通过顺序播放相同的图片来实现的伪轮播,看过这些代码感觉并不满意,所以尝试自己实现。在轮播更新UI的时候,我尝试了Thread+handler,handler.postdelay,和timer+timertask+handler的方式,前两种方式

2016-06-30 14:08:09 9962

原创 android下拉刷新+左滑删除的实现(第一种方式)

下拉刷新+左滑删除的效果实现一:使用谷歌官方的SwipeRefreshLayout和第三方左滑删除的库swipemenu-recyclerview先看效果: 实现步骤: 1、导入swipemenu-recyclerview库 2、使用SwipeRefreshLayout包裹 3、代码1、导入swipemenu-recyclerview库dependencies { compile '

2016-06-25 23:10:59 3401

原创 Retrofit2使用(非常简洁易懂)

1、什么是Retrofit框架?它是Square公司开发的现在非常流行的网络框架,所以我们在导入它的包的时候都可以看到这个公司的名字,目前的版本是2。特点:性能好,处理快,使用简单,Retrofit 是安卓上最流行的HTTP Client库之一 使用REST API设计风格 支持 NIO(new i/o) 默认使用OKHttp处理网络请求,我觉得可以看成是OKHttp的增强。 默认使用Gs

2016-06-25 18:03:22 21140 6

原创 Binder连接池的实现步骤

为什么: 当我们的业务模块越来越多,每个业务模块都需要一个AIDL文件的时候,我们不可能对每个AIDL文件都建立一个对应的service,这会让我们的应用看起来很重,并且会消耗更多的系统资源,所以就需要用到Binder连接池。工作机制:1、每个业务模块提供自己的AIDL接口并实现这个接口,不同业务模块之间不能有耦合,所有实现要独立,防止数据冲突。 2、向服务端提供自己的唯一标识和对应的Binde

2016-06-24 19:19:32 694

原创 TCP和UDP的区别

两者都属于网络传输控制层的协议TCP协议: 面向连接的,需要经过三次‘握手’才能完成,为了稳定的数据传输功能,其本身提供了网络超时重传机制,因此具有很高的稳定性。UDP协议: 面向无连接的,提供不稳定的单向通信,当然UDP也可以实现双向通信,UDP由于是无连接的,发出的消息并不需要反馈,所以效率更高,但是缺点就是不能保证数据正确传输。android里使用到的socket有两种,一种是流式套接字,

2016-06-24 17:30:41 426

原创 Android里的Binder机制(简洁易懂)

Binder是一个很深奥的知识,看别人写的文章总是云里雾里的,搞了好久总算是有点眉目了。 Binder的底层实在是很复杂,本文介绍Binder的上层实现和使用。Binder是什么?1、是android中实现了IBinder接口的一个类 2、从IPC角度看是一种跨进程的通信方式 3、从内核驱动看,它有自己的设备文件/dev/binder,这种通信方式是Linux没有的 4、framework角

2016-06-24 12:58:55 1188

原创 国外人气APP网站,论坛,推广平台。

国外比较有人气的APP网站和APP论坛-国外app推广平台 下面整理的一些国外比较有人气的APP网站和APP论坛 http://www.ipadown.com/ http://topapp.net/ http://www.appolicious.com/ http://mobile.butterscotch.com/Mobile/IPhone/ http://wwdc.slidetopl

2016-06-24 10:27:31 5439

原创 android序列化之Serializable,Parcelable

为什么序列化: 1、当我们需要在不同的Activity之间使用intent传递对象的时候就需要把这个对象序列化然后再放入intent当中,同样在使用Binder传递数据的时候也需要序列化 2、需要将对象永久保存在存储设备上或者通过网络传输。 3、跨进程通信的时候序列化的方式: 1、使用JAVA中的序列化接口:Serializable 2、使用Android的序列化接口:Parcelable

2016-06-23 20:43:00 461

转载 PinnedHeaderExpandableListView的使用

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/25546871(来自singwhatiwanna的csdn博客) 前言 Android中,大家都用过ListView,ExpandableListView等,也许你还用过PinnedHeaderListView,但是如果我说PinnedHeaderExpandableList

2016-06-23 15:08:45 1519

原创 自定义topbar

效果图: 1、定义自己的属性文件attrs.xml 2、自定义view,将自定义的属性和view绑定起来 3、使用接口实现点击事件的回调 4、实现按钮的隐藏和显示方法代码:1、定义自己的属性文件attrs.xmlattrs.xml :<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name=

2016-06-22 15:46:10 410 1

转载 Android 编程下 Touch 事件的分发和消费机制

转载自:http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.htmlAndroid 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法

2016-06-22 12:07:43 365

原创 Glide的使用

Glide:谷歌推荐的一个网络图片加载库,和Picasso类似,Picasso缓存的是原图,而Glide缓存的是你所设置的Imageview的大小的图片。使用:1、导入Glide库和V4包,因为Glide依赖于V4dependencies { compile 'com.android.support:support-v4:24.0.0-beta1' compil

2016-06-21 17:56:09 1848

原创 eventbus的使用(二)简洁易懂

上一篇提到的eventbus接受事件的四个方法: 1、onEvent 2、onEventMainThread 3、onEventBackgroundThread 4、onEventAsynconEvent:这个接受事件的方法会和发布事件的方法在同一个线程执行,并不一定在UI线程。因为它和事件发送在同一个线程在这个方法不能执行耗时操作,不然就会导致事件分发的延迟。onEventMainThre

2016-06-21 14:33:37 508 1

原创 eventbus的使用(一)简洁易懂

一句话解释eventbus:为了代替Intent,Handler,Broadcast这些传递数据的机制,使数据在Fragment,Activity,Service和线程之间传递更加的方便。代码量更少,更简洁。eventbus原理简介:eventbus使用的是观察者模式如图可以看出eventbus的三个组成部分:Publisher: 事件发布者 (就是观察者模式里说的所谓的观察者

2016-06-21 13:49:56 1582

转载 Android Matrix详解

原文地址:http://www.cnblogs.com/qiengo/archive/2012/06/30/2570874.html#code Android Matrix Matrix的数学原理平移变换旋转变换缩放变换错切变换对称变换代码验证 Matrix

2016-06-15 11:33:55 381

原创 greendao的使用(简洁易懂)

今天在项目里使用到了greendao,记录一下greendao的使用过程。greendao是对sqlite数据库操作的封装,可以让我们更加方便的使用sqlite,其它类似的框架还有OrmLite、SugarORM、Active Android、Realm。但是greendao的性能要远远的高于其它四个框架,在官网有测试结果,因为它不是使用反射的机制,而是直接生成相关的代码。这就大幅度提升了它的性能。

2016-06-14 23:20:58 14408 10

原创 RelativeLayout布局id找不到的问题

最近犯过几次这样的错。在RelativeLayout布局里,有两个控件,如图:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" an

2016-06-13 17:03:05 2530

原创 android动画使用三

使用ValueAnimator实现一个点击view展示次级view的效果效果图: 代码: MainActivity.javapackage com.example.lhd.myvalueanimator;import android.animation.Animator;import android.animation.AnimatorListenerAdapter;import andro

2016-06-09 17:57:02 554

原创 android动画使用二

视图动画包括:透明度动画:AlphaAnimation 旋转动画:RotateAnimation 位移动画:TranslateAnimation 缩放动画:ScaleAnimation视图动画执行后,它的点击事件还在动画执行前的地方,所以视图动画通常用来做没有交互的动画效果,因为他不需要考虑点击事件,往往效率比较高。而当我们需要在动画执行后要进行交互的时候就要用到属性动画了。属性动画:Obje

2016-06-09 00:00:15 405

原创 Android: failed to convert @drawable/picture into a drawable

这是由于drawable目录下图片资源命名不符合规范引起的错误的命名:注意不要有点,不要用大写字母,需要分割单词的时候用下划线。

2016-06-06 14:15:31 2721

原创 android 获取坐标的方法

View提供的获取坐标的方法: getTop(): View自身的顶边到父布局顶边的距离 getLeft(): View自身的左边到父布局左边的距离 getRight(): View自身的右边到父布局左边的距离 getBottom(): View自身的底边到父布局顶边的距离MotionEvent提供的方法: getX():获取点击事件距离控件左边的距离,即视图坐标 getY():获取

2016-06-02 21:59:28 716

知识分享idea插件工程

代码精灵插件工程

2021-05-27

使用idea开发的知识分享插件的后台工程

使用idea开发的代码精灵插件,可以方便的进行知识分享 相关博客地址: https://editor.csdn.net/md?not_checkout=1&articleId=117323411

2021-05-27

android11 weex_sdk-release.aar

最新的适用于android11的weex aar 去掉项目里的远程依赖“com.taobao.android:weex_sdk:0.28.0”改为aar依赖 最新的weex包域名是org.apache.weex,所以需要修改与weex相关的问题的import包

2020-11-13

viewModel,liveData,lifecycle的简单使用demo

viewModel,liveData,lifecycle的简单使用demo。 代码极其简洁易懂

2018-08-06

kotlin的run,let,apply,also,takeIf,takeUnless,with的使用和区别

kotlin的run,let,apply,also,takeIf,takeUnless,with的使用和区别demo

2018-08-03

scrollview嵌套viewpager嵌套fragmetn嵌套recyclerview的demo

scrollview嵌套viewpager嵌套fragmetn嵌套recyclerview的demo 解决了滑动冲突,数据显示不全的问题。

2018-06-22

seekbar设置进度条的颜色

seekbar设置进度条的颜色 博客地址: http://mp.blog.csdn.net/mdeditor/index/79272809

2018-02-06

eventbus3.0 demo

不知道为什么不可以设置0分了,最少是2分。。。这个是eventbus3.0的测试demo

2017-12-02

自定义view -- 六边形图表

自定义六边形图表 相关博客:http://blog.csdn.net/baidu_31093133

2017-07-09

多边形图表

自定义view实现的六边形图表 相关博客:http://blog.csdn.net/baidu_31093133

2017-07-09

cuteRecorder的使用

一个录音框架,可以实现开始录音,结束录音,获取录音时间,录音文件,判断是否录音时间过短。 可以设置录音文件的路径,最大音量等级,最长录制时间和最短录制时间。

2017-07-04

自定义view 录音 圆形进度条

自定义view实现圆形进度条 + 自定义录音工具 = 自定义录音view 代码简洁易懂,拿来即用哦!

2017-05-26

自定义dialogfragment 底部弹出框 实现分享效果

使用自定义dialogfragment 实现底部弹出框分享的效果

2017-05-26

gpuimage给本地视频添加滤镜

gpuimage给本地视频添加滤镜

2017-05-18

自定义控件 短视频录制控件 列表选择 圆形图片 条形控件

自定义控件 短视频录制控件 列表选择 圆形图片 条形控件 代码简洁易懂,有大量注释。

2017-04-28

自定义listview加载更多

自定义的listview 实现上拉加载很多 使用起来很方便,省去自己写多余的代码。

2017-04-24

android 发送表情 emoji

android实现发送表情功能,代码非常简洁。

2017-03-15

android 发送表情功能emoji

android实现发送表情功能,代码非常简洁,易懂。

2017-03-15

android多语言切换

android 多语言切换。代码极其简洁,易懂。

2017-03-09

listview嵌套listview实现评论效果

listview里嵌套了一个评论列表,可以动态添加评论 整体代码非常简洁,没有花哨的样式和布局以及其它多余代码。

2017-02-15

retrofit2+rxjava+okhttp使用demo。

retrofit2+rxjava+okhttp的封装demo。

2016-11-28

城市选择器

城市选择器的实现

2016-11-07

CollapsingToolbarLayout的使用

CoordinatorLayout AppBarLayout CollapsingToolbarLayout Toolbar的配合使用

2016-10-13

dialogfragment加载多张图片

使用dialogfragment加载多张图片

2016-09-13

app开发框架

一个app开发的框架,包含侧边栏,cardview,floatactionbutton,drawerlayout,tablayout+viewpager+fragment.其中一个fragment可以下拉刷新。

2016-08-24

app快速开发框架

一个app开发的框架,包含侧边栏,tablayout+viewpager+fragment.其中一个fragment可以下拉刷新

2016-08-24

glide加载网络资源本地资源的demo

glide加载网络资源,raw,assets,资源文件,圆形图片,圆角图片,本地相册所有图片,gif图片,sdk图片等等。

2016-08-23

DataBinding Demo绑定listview

data binding绑定listview

2016-08-15

DataBinding Demo 事件绑定

databinding 的事件绑定

2016-08-10

DataBinding Demo

DataBinding Demo

2016-08-08

自己实现分享到第三方平台

自己实现分享到第三方平台的功能而不用集成第三方的sdk

2016-07-27

利用svg合成各种形状的图片

使用svg图片来控制边框样式,和一张普通图片来合成各种各样形状的图片。

2016-07-21

listview分组

分组的listview

2016-07-09

listview加载不同的布局

listview加载多种布局,代码里有详细的注释,非常简洁易懂哦。(*^__^*)

2016-07-02

android仿新闻客户端图片轮播带小圆点

android仿新闻客户端的图片轮播,带小圆点提示,图片下方有相关的描述信息,代码简洁易懂,代码量少。用户滑动和自动轮播没有冲突。

2016-06-30

android下拉刷新+左滑删除效果demo

使用谷歌官方的SwipeRefreshLayout和第三方左滑删除的库swipemenu-recyclerview实现的下拉刷新+左滑删除的效果,详细步骤请看博客: http://blog.csdn.net/baidu_31093133

2016-06-25

retrofit GET方法demo

使用retrofit的get方法访问网络返回json的简单demo,非常清晰。

2016-06-25

android自定义topbar

android自定义topbar,按钮文字背景大小等均可定制

2016-06-22

view事件分发测试demo

view事件分发测试demo

2016-06-22

eventbus 测试demo

android eventbus的使用方法测试demo。

2016-06-21

空空如也

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

TA关注的人

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