自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小咖奋斗史

希望有天成功在望

原创 Android ConstraintLayout属性详解

ConstraintLayout, 即约束布局, 在2016年由Google I/O推出. 从支持力度而言, 将成为主流布局样式, 完全代替其他布局, 减少布局的层级, 优化渲染性能. 在新版Android Studio中, ConstraintLayout已替代RelativeLayout, 成...

2017-08-31 12:37:08

阅读数 406

评论数 0

原创 使用Toolbar与DrawerLayout实现侧滑菜单

public class MainActivity extends AppCompatActivity { private Toolbar toolbar; private DrawerLayout mDrawerLayout; private ActionBarDraw...

2017-08-23 18:51:23

阅读数 379

评论数 0

转载 Android 屏幕适配:最全面的解决方案

前言 Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合: Google的官方权威适配文档郭霖: Android官方提供的支持不同屏幕大小的全部方法Stormzhang:Android 屏幕适配鸿洋:Android 屏幕适配方案凯子: Android屏幕适配全攻...

2017-08-16 11:24:26

阅读数 320

评论数 0

原创 Android WIFI工具类

package com.jczb.smartlife.common; import java.net.Inet4Address; import java.util.List; import android.content.Context; import android.net.Connecti...

2017-08-11 18:53:01

阅读数 642

评论数 0

转载 Android APP必备高级功能,消息推送之MQTT

1. Android端实现消息推送的几种方式 轮询:客户端定时向服务器请求数据。伪推送。缺点:费电,费流量。拦截短信消息。服务器需要向客户端发通知时,发送一条短信,客户端收到特定短信之后,先获取信息,然后拦截短信。伪推送。缺点:贵而且短信可能被安全软件拦截。持久连接(Push)方式:客户端和...

2017-08-11 17:37:40

阅读数 1299

评论数 0

原创 Android中canvas常用方法

在自定义VIew中经常使用到Canvas对象的方法: 1 绘制点: public void drawPoint(float x, float y,  Paint paint) x:表示x轴方法的坐标 y:表示y轴方法的坐标  这坐标是相对于它的父view,而不是屏幕 paint:表示你所画点...

2017-08-01 12:01:57

阅读数 333

评论数 0

原创 Android实现APP版本升级

最近写的项目中有用到版本升级,所以简单的写了一个例子来实现这个功能 页面大概是这个样子的: 在服务中使用okgo下载APK,下载过程中在通知栏显示显示下载进度,下载完成后,通知栏消失,进入APK安装页面; 主要代码: public class Update_app { private ...

2017-07-28 11:07:28

阅读数 540

评论数 0

原创 Android实现多线程下载与断点续传

通常情况下,从服务器下载文件时,服务器都是同时与多个用户连接,用户之间共享带宽。如果N个用户的优先级都相同,那么每个用户连接到该服务器上的实际带宽就是服务器带宽的N分之一。可以想象,如果用户数目较多,则每个用户只能占有可怜的一点带宽,下载将会是个漫长的过程。 如果使用多线程: 具体实现过程...

2017-07-27 16:01:31

阅读数 297

评论数 0

原创 SD工具类

public class SDCardHelper { // 判断SD卡是否被挂载 public static boolean isSDCardMounted() { // return Environment.getExternalStorageState().equals("...

2017-07-27 10:46:31

阅读数 206

评论数 0

原创 Android让ListView自行滚动

public class Main2Activity extends AppCompatActivity { private ListView lv; private adapter adapter1; Handler handler = new Handler() { ...

2017-07-17 16:11:14

阅读数 250

评论数 0

原创 在listview的item中使用EditText,刷新后保存数据的方法

class adapter extends BaseAdapter { List list; public youkexinxi_adapter(List list) { this.list = list; } ...

2017-07-14 16:37:57

阅读数 971

评论数 1

原创 去掉服务端返回html数据中的&nbsp

html = html.replace(""","\""); html = html.replace("'","'"); html = html.replace(&q...

2017-07-14 16:34:01

阅读数 791

评论数 0

原创 Android自定义控件——创建复合控件

创建复合控件可以很好的创建出具有重用功能的控件集合,这种方式通常是需要继承一个合适的ViewGroup,再添加指定的控件,形成新的控件。 下面的例子基于《Android群英传》实现TopBar: 定义属性: ...

2017-07-14 16:29:33

阅读数 239

评论数 0

原创 Android使用CollapsingToolbarLayout实现折叠效果

在各种应用中,可能会遇到这样的折叠效果:Toolbar是透明的,有一个背景图片以及大标题,随着页面向上滑动,其标题逐渐缩放到Toolbar上,而背景图片则在滑动到一定程度后变成了Toolbar的颜色。实现这样的效果可以使用Google推出的Design Library库中的CollapsingTo...

2017-07-10 13:49:11

阅读数 9501

评论数 1

原创 Android实现手势监听

在Android系统中,每一次手势交互都会依照以下顺序执行。        1. 接触接触屏一刹那,触发一个MotionEvent事件。        2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。        3. 通过Gest...

2017-07-06 15:56:01

阅读数 378

评论数 0

原创 Android属性动画解析

Android动画分为帧动画,补间动画和属性动画。帧动画就是将每一张静止的图片依次的显示出来,利用人眼暂时停留的错觉,得出的动画。对于补间动画,包含移动、缩放、旋转和淡入淡出,开发者只需要指定动画开始和结束的关键帧,而进行中的中间帧是由系统来计算并且补齐的,详情参考Android动画详解。现在着重...

2017-07-04 17:59:01

阅读数 408

评论数 0

原创 Android线程池总结

使用线程池的好处:    1.重用已经创建的好的线程,避免频繁创建进而导致的频繁GC    2.控制线程并发数,合理使用系统资源,提高应用性能    3.可以有效的控制线程的执行,比如定时执行,取消执行等 线程池的构造方法: public ThreadPoolExecutor(int corePo...

2017-07-03 16:54:39

阅读数 187

评论数 0

原创 Android 朋友圈 输入框评论效果

点击按钮弹出评论框: InputMethodManager imm = (InputMethodManager)Context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, Input...

2017-06-22 15:23:13

阅读数 1331

评论数 0

原创 RxAndroid 与 Retrofit的使用

Retrofit与okhttp共同出自于Square公司,retrofit就是对okhttp做了一层封装。 首先使用Retrofit进行网络请求:  导入依赖: compile 'com.squareup.retrofit2:retrofit:2.0.2' compile...

2017-06-19 16:48:09

阅读数 506

评论数 0

转载 Android实现吸顶效果

上图: 本文代码的Github地址 sticky.gif 思路: 每一个RecyclerView的item的布局(下文叫itemUI)里面都包含“吸顶文本”这个布局(下文叫StickyLayout),根据当前itemA和上一个itemB的吸顶信息是否相同,决定是否展示item...

2017-06-08 14:16:40

阅读数 4650

评论数 0

转载 Android-如何开发一个功能强大的ImagePicker

图片选择器是Android开发中会经常用到的一个功能,特别对于社交类的应用,比如头像设置,比如发图片。自然ImagePicker的轮子很多,今天介绍一个功能强大的轮子SImagePicker https://github.com/martin90s/ImagePicker 介绍 首先功能强大...

2017-06-05 17:53:51

阅读数 1143

评论数 0

原创 ViewDragHelper详解

2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用,其实研究他们的源码你会发现这两个类都运用了ViewDragHelper来处理拖动。ViewDragHelper是framework中不为人知却非常有用的一...

2017-06-05 17:01:37

阅读数 176

评论数 0

转载 Android反编译

在学习Android开发的过程你,你往往会去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局可能会让你爱不释手,作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看。下面是我参考了一些文章后简单的教程详解。 测试环境:         wi...

2017-05-26 11:48:53

阅读数 346

评论数 0

转载 Android App包瘦身优化实践

随着业务的快速迭代增长,美团App里不断引入新的业务逻辑代码、图片资源和第三方SDK,直接导致APK体积不断增长。包体积增长带来的问题越来越多,如CDN流量费用增加、用户安装成功率降低,甚至可能会影响用户的留存率。APK的瘦身已经是不得不考虑的事情。在尝试瘦身的过程中,我们借鉴了很多业界其他公司提...

2017-04-27 15:51:21

阅读数 2188

评论数 0

原创 Android图片压缩框架-Tiny

目的 为了简化对图片压缩的调用,提供最简洁与合理的api压缩逻辑,对于压缩为Bitmap根据屏幕分辨率动态适配最佳大小,对于压缩为File优化底层libjpeg的压缩,整个图片压缩过程全在压缩线程池中异步压缩,结束后分发回UI线程。 支持的压缩类型 Tiny图片压缩框架支持的压缩数据源类型: 1...

2017-04-27 14:22:43

阅读数 741

评论数 0

原创 高德地图计算两地距离

private AMapLocationClient mLocationClient = null; private AMapLocationListener mLocationListener = null; private double d1,d2,d3,d4; pri...

2017-01-06 11:40:01

阅读数 4802

评论数 1

原创 高德地图定位

1、注册开发者,创建应用 这个几乎是所有开放平台都通用的做法,无外乎注册帐号,成为开发者,然后创建一个Android应用,会为你分配一个key绑定你的服务。 2、下载SDK,导入jar包,add to library jar包.PNG 第一个是2D地图的jar包,因为最后定位以后我要在地图...

2017-01-04 18:19:41

阅读数 504

评论数 0

转载 酷炫的几款下拉刷新框架之Phoenix Pull-To-Refresh

转载请注明出处:http://blog.csdn.net/qq347198688/article/details/52518150 开源框架地址:https://github.com/Yalantis/Phoenix 看到这个酷炫的下拉刷新,是不是有点蠢蠢欲动,觉得很激动,当你...

2016-11-24 22:40:38

阅读数 551

评论数 0

原创 EventBus使用详解

EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。 下面先展示一个实例: 当点击按钮的时候,跳到...

2016-11-17 22:22:14

阅读数 248

评论数 0

原创 观察者模式示例

public class FirstTeam implements NotifyListener { @Override public void notifyTeam(String msg) { System.out.println("第一组得到消息:" + msg)...

2016-11-10 17:16:10

阅读数 231

评论数 0

原创 Android的非对称加密与MD5加密

非对称加密与解密:RSA RSA由于公钥和私钥不同,所以非对称加密算法可以极大的提高文件的安全性,RSA是可逆的,一个字符串可以经过rsa加密后,经过解密后的字符串传到对端如服务器上,在进行解密即可(前提条件是服务器知道解密的私钥)。 实例: public class RSAUtils { ...

2016-11-09 17:55:34

阅读数 665

评论数 0

原创 Android的对称加密与Base64加密

对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。常用的对称加密方式为:DES,AES。 DES的加密解密实例: public class MainActivity extends AppCompatActi...

2016-11-09 17:16:44

阅读数 1042

评论数 0

原创 Android百分比布局

以往在写网页中我们经常用到百分比布局,现在在Android中我们也可以百分比布局,为屏幕适配带来一些方便。在使用时导入android-percent-support-lib-sample包。 使用说明: 1.需要在build.gradle文件当中导入以下内容: dependencies {    ...

2016-10-28 21:04:24

阅读数 6457

评论数 0

原创 Android图片加载框架——Fresco

简介:              Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片,是新一代的图片加载库,因为Android应用程程序的内存通常都不大,经常在图片加载中出现OOM,虽然有各种手段去优化,尽量减少出现...

2016-10-28 20:45:49

阅读数 436

评论数 0

原创 Android图片加载框架——Picasso和Glide

首先说Picasso,Picasso 是 Square 公司的杰作,名字叫「毕加索,充满文艺气息,意为加载图片就像画画一样,是一门艺术。Picasso 不仅具备加载图片的强大功能,还是如此的简洁。 Picasso默认的缓存分配大小特点:   LRU缓存占应用程序可用内存的15%   本地缓存...

2016-10-28 20:35:36

阅读数 5605

评论数 0

原创 Android图片加载框架——UniversalImageLoader

UIL应该是使用最多的图片加载库了,使用过这个开源库的项目可以说是多的令人发指,随便去反编译几个,基本都能看到他的身影,但是令人遗憾的是项目作者在去年的九月份声明,不在继续维护这个开源项目了,这就意味着以后任何的 bug 都不会修复,任何的新特性都不会再继续开发,所以毫无疑问 UIL 不推荐在项目...

2016-10-28 20:05:12

阅读数 388

评论数 0

原创 Volley框架的使用

Volley的简介和特点: 特点:  并发性,效率高,性能好。 Volley  :并发,齐射  2013年开发大会上提出的网络请求工具,起源于框架afinal的框架。  1.github  2.csdn  网络请求的好处:  1.网络请求效率较高,而且写法简单,开发效率会得到很大提升。  2.可以...

2016-10-22 19:14:42

阅读数 323

评论数 0

原创 xUtils的使用(二)

图片加载模块: ## DbUtils使用方法: ```java DbUtils db = DbUtils.create(this); User user = new User(); //这里需要注意的是User对象必须有id属性,或者有通过@ID注解的属性 user.setEmail(&...

2016-10-22 17:56:10

阅读数 406

评论数 0

原创 xUtils的使用(一)

说明: 目前xUtils主要有四大模块: * DbUtils模块:   > * android中的orm框架,一行代码就可以进行增删改查;   > * 支持事务,默认关闭;   > * 可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆...

2016-10-22 17:42:45

阅读数 1687

评论数 0

原创 Google原生下拉刷新组件SwipeRefreshLayout

SwipeRefrshLayout是Google官方更新的一个Widget,可以实现下拉刷新的效果。该控件集成自ViewGroup在support-v4兼容包下,不过我们需要升级supportlibrary的版本到19.1以上。基本使用的方法如下: setOnRefreshListener(On...

2016-10-22 17:09:17

阅读数 401

评论数 0

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