- 博客(13)
- 资源 (13)
- 收藏
- 关注
原创 一个基于Retrofit的单文件上传、下载框架
从事Android开发工作也有一段时间了,一直都停留在使用框架别人的框架来满足公司的业务需求,很少深入到一个框架的内部,去研究它的实现方式和实现原理,更加没有自己去写过框架,真的是非常惭愧。最近老大让我用Retrofit做一个单文件的上传和下载模块,几番折腾之后,花了三天时间,终于搞出来了,虽然很简单,但通过这么一个例子,让我学到了封装一个框架的基本思路,在这里做一个记录,顺便分享给大家。代码下
2016-12-31 15:26:02
1076
2
原创 带你实现一个简单实用的时间线
文章一开始,说点什么好呢?实在不知道说什么好,就直接进入正题吧。今天给大家分享一个简单使用的时间线,用自定义View来实现,效果图如下: 相信有点自定义基础的哥们一看这个效果图就觉得很简单,还请各位大神们不要吐槽哈。 来分析一下这个效果图,由三部分组成: 1.下面那条默认的线; 2.上面那条被选中的线; 3.线下面的文字。 相信绘制一条线
2016-12-12 16:47:12
1240
原创 Keytool工具的常见用法
在Android开发中,经常需要用到Keytool工具来生成相关的证书,或查看证书等,今天就来总结一下Keytool的一些常见用法以及对应的命令。首先要打开cmd命令行,用cd命令进入.android目录,进入后可以键入keytool命令,来查看相关的命令,如下图: 打开后,就可以正常使用了,常见用法如下:1生成证书,即生成keystore文件,如下图: 上
2016-12-06 15:21:25
2449
原创 不一样的倒计时View
又好几天没有更新博客了,今天闲着无聊,就随便写了个倒计时的自定义View,可以自己设定时间,也可以通过手势的上下滑动来设定总的时间,有兴趣的朋友可有随便看看呢。嘿嘿。效果图如下: 大致就是外面一圈,里面一圈,然后时间如果是在60秒之内,每减少一秒,外围的矩形个数就会减少一个,直到为0。View内部提供了状态保存机制和接口回调。 好了,先来看看是如何使用的吧,布局
2016-11-28 16:59:09
562
原创 Java或Android过滤合法的中英文字符
Java判断一个字符是不是中文字符是根据Unicode编码来判断的,CJK的统一编码区间是0x4e00–0x9fbb,这个区间是不包含中文中的 标点符号的。对于英文字符,可以根据ASCII编码来判断,a-z和A-Z的ASCII码值区间分别是65-90和97-122。知道了这个我们就可以利用Unicode编码和ASCII编码来过滤合法的中文字符和合法的英文字符。代码如下:合法的中文判断:/**
2016-11-24 11:33:12
1799
原创 Android自定义View实战(会波动的View)
学习Android开发有一年时间了,一直以来都是满足于业务开发,很少涉及自定义View这样深入的知识,感觉很是惭愧。今天,下定决心,准备好好的学习一下这块内容,希望尽早掌握。写这篇博客的目的,主要是帮助自己总结一下今天学习到的自定义View的相关知识,如果顺便能够帮助大家一点点,那我也感觉很开心。首先,自定义的一般步骤是:1.创建自定义View,继承系统自带的View,并重写其相关构造方法;
2016-11-22 17:07:50
880
原创 SurfaceView的基本使用流程
好久没有写博客了,今天抽个空写篇简单的文章,主要就是来介绍一下SurfaceView的基本使用方法,并附上一个小DEMO供大家下载。废话不多说,直接上代码。首先自定义了一个SurfaceView:import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import
2016-11-07 16:00:10
572
原创 Android拍照及选择图片及裁剪及兼容6.0权限实现
来到新公司接手项目之后,测试总是给我测出拍照,选择图片,裁剪的各种bug,比如换个手机就不行了,或者换个6.0的系统就不行了等等这样的问题,因为这个代码是之前的一个同事写的,代码很乱,改来改去,硬是没有改好,于是,就决定自己动手写一个,现在分享给大家。整个demo只有一个界面,由一个CheckBox,一个ImageView,一个TextViw组成,CheckBox用来标记是否要进行裁剪,来看一下布
2016-10-19 17:09:54
3185
原创 Android下载apk全量更新实现
自从Umeng的更新SDK不能用了之后,公司的Android更新都是自己实现的,于是自己实现了一下,大致流程如下:1.获取本地版本号;2.获取服务器的版本号,进行比较,如果服务器的版本号大于本地的版本号,责提示用户进行更新;3.如果需要更新,就开启一个Service进行版本更新。代码如下:1.获取本地版本号:private String getLocalVersion() { t
2016-09-23 16:53:56
2034
原创 如何在自己的应用中打开支付宝客户端
在做Android程序的过程中,我们经常需要在自己的项目中打开其他软件,通用的方法如下:1.在程序你中通过代码来查看手机上已安装的软件的包名;2.通过该应该的包名来打开该软件。获取已安装软件的包名的代码如下: PackageManager packageManager = this.getApplicationContext().getPackageManager(); Li
2016-09-23 14:55:34
13397
原创 Android原生方式实现夜间模式
夜间模式的实现,Github上有很多种相关的库和Demo,但实现方式都比较复杂,并且为了实现一个小功能,引入一个第三方库,很多时候,都是得不偿失的。实现夜间模式的主要思路就是改变程序的style,主要是颜色。现在已经可以用原生Android的方式来实现程序的夜间模式,下面我们就用Android原生的方式来实现一下夜间模式。Demo实现的主要思路:1.在res目录下新建values-night文
2016-09-10 10:17:54
5115
1
原创 Android低功耗蓝牙详解
最近公司提出一个需求:如果当前安卓手机支持BLE(Bluetooth Low Energy 低功耗蓝牙),则需要将当前的手机和车机通过蓝牙进行互联,并实现通信。由于之前没有接触过BLE相关的内容,实现的过程中遇到了许多困难,但也因此学到了不少的知识,因此想写下这篇文章与大家分享。文章主要包括以下几个内容:1.BLE原理详解2.BLE相关的几个概念详解3.BLE相关的几个类详解4.BLE实现的
2016-09-08 13:02:20
3010
原创 初步 利用Handler+ArrayList来处理并发事件
初步 利用Handler+ArrayList来处理并发事件假如有这样一种需求:当服务器推送过来一条消息,我要显示一个Window,然后Window下面又一个按钮,点击这个按钮来对这条消息进行处理,处理方式可以是正面的,也可以是负面的。比如推送来一个订单信息,你选择接单就是正面的处理,你忽略或者取消这条订单就是负面处理。一条消息好办,可是如果同一时间发送来N条消息,但是处理消息的按钮只有一个,该怎么
2016-04-04 16:28:52
1272
Android原生方式实现夜间模式
2016-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人