- 博客(25)
- 资源 (17)
- 收藏
- 关注
原创 Android 数据储存的方式之本地数据库储存
Android 数据储存的方式有很多种 —— SharedPreferences 储存 、 文件储存 、 数据库储存 、 网络储存(储存到后台网络) ,虽然储存方式那么多,但是这些储存方式也有一定的规律可寻:SharedPreferences : 存储 key value 键值对类型的简单少量的简单数据 (如用户名 ,密码 ,性别,年龄 。。。)文件 : 没有固定规则的,大量的数据
2017-06-30 09:09:00 22858
原创 仿微信语音聊天
最近项目中做了一个聊天的功能,为了和Web端的配合,用WebSocket实现了文字聊天和单张图片的发送聊天,参见:http://blog.csdn.net/lijinweii/article/details/73551370 ,但是在实现语音聊天的时候发了难里了,苦思无果,果断在网上查了下找到了篇“仿微信语音聊天”的功能。看了以后顿时心花怒放,这不就是我所需要吗。。。哈哈哈,看下效果图啊:
2017-06-27 11:58:34 1487
原创 Android中使用webSocket实现文字及单张图片发送聊天功能
WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上,同 HTTP 一样通过 TCP 来传输数据,但是它和 HTTP 最大不同是:1. WebSocket 是一种双向通信协议,在建立连接后,WebSocket 服务器和 Browser/Client Agent 都能主动的向对方发送或接收数据,就像
2017-06-21 17:41:34 3476 3
原创 Android Studio极光推送配置
本篇文章是对极光推送的简单介绍,在这之前看参考下网上的文献资料:http://www.2cto.com/kf/201506/407018.htmlhttp://blog.csdn.net/dangwenjie/article/details/52054335http://www.cnblogs.com/1426837364qqcom/p/5424250.htmlhttp:/
2017-06-20 16:25:09 1516 1
原创 文件ZIP压缩
接着上一篇的图片压缩我们在谈谈文件的ZIP压缩,ZIP压缩并不是太长见,但是也会有,不如长传一些附件时,那么怎么进行ZIP压缩呢?老规矩,先参考下文献:http://www.oschina.net/code/snippet_4873_4142 http://blog.sina.com.cn/s/blog_600ff0750100x61j.html看下代码: 压缩文件 */p
2017-06-20 15:01:36 416
原创 图片尺寸、质量压缩
在开发的过程中有时候会遇到一个异常:OOM 异常,对于造成OOM异常的原因 其中有一条“内存压力过大:图片资源加载过多,超过内存使用空间,例如Bitmap 的使用”,那么这时候我们就要想办法把图片给压缩了。但是这个压缩并不是随便的压缩,不能压缩后图片的形状就改变了,那么怎么压缩图片呢?大家请看这里:在这之前,我们先参考下压缩图片的资料:http://blog.csdn.net/u0140
2017-06-20 09:51:19 476
原创 联网上传文件操作
上一篇我们讲了okhttputils的联网请求的操作,这篇文章我们介绍下 “文件(图片)上传”的操作:(对于初学者最好是把上一篇的联网请求看过再研究这篇,更容易理解)APP的操作中经常会遇到一些文件,附件, 图片(单张/多张) 上传的情况,那么对于以下Android初学者来说,或许有些难度(我初学时也这样),那么我们就基于上一篇 “okhttputils 的联网请求”,来继续对okhttput
2017-06-19 15:33:23 313
原创 联网请求操作okhttputils
了解okhttputils之前我们看对文献尽进行了解下:http://www.open-open.com/lib/view/open1452948374339.htmlhttp://blog.csdn.net/hehe307/article/details/51733709http://www.cnblogs.com/Coderwei2016/p/6445663.html对于很
2017-06-19 11:26:22 481
原创 Android 6.0 权限的添加
谈Android 6.0权限之前,我们先说一下6.0 之前的权限,在6.0以前的系统,都是权限一刀切的处理方式,只要用户安装,Manifest申请的权限都会被赋予,并且安装后权限也撤销不了。这种情况下,当我们从Google Play安装一个应用,在安装之前会得到这样的权限提示信息。当上述对话框弹出后,用户只有两种选择:1.我信任你,即使有敏感权限2.你一个**应用,要这个权
2017-06-16 15:11:57 333
原创 轮播图中带粘性效果的小点
轮播图中我们经常会看到带有粘性效果的小点,先看效果图:我们看顶部轮播图左右滑动时,其联动的小点也跟着一起滑动,但是这里的小点改变时会有粘性的效果。今天我们就看下这个效果。
2017-06-15 14:38:33 1119
原创 ExpandableListView多及列表(三级列表)
上一篇我们介绍了ExpandableListView多级列表的二级列表,见天我们分析下多级列表(三级)的情况。我们先看下效果图:
2017-06-14 09:52:22 3105 4
原创 ExpandableListView多级列表(二级列表)
今天研究下ExpandableListView 多级列表的用法,先来看看效果图:我们分析下效果图:1.效果图中左边是一个ListView ,右边是一个ExpandableListView ,并且左右联动,点击左边右边也会相应的发生变化。2.右边ExpandableListView 是一个二级列表(这篇文章我们先介绍二级列表,三级列表或四级列表以后介绍),点击一级列表会展开二级
2017-06-13 16:05:54 2009 2
原创 使用MD中控件实现APP页面折叠
APP页面折叠效果,我们先看下效果图,再来分析:效果图中的操作是比较简单,但是实现起来确实异常的麻烦,我画了一个布局(xml)分析图,我们一起看看:我们的功能主要是通过MD(Materail Design)实现的,具体的请参考:http://baike.baidu.com/link?url=KmdUsXOpsnsAiQWeLW--LMF5E9KNWuWj3Gne7XfhjzEL
2017-06-12 11:29:43 3557
原创 列表侧滑删除(二)
上一篇我们介绍了仿QQ 的列表侧滑删除,现在我们看一些另一种的删除模式,先看效果图:好了,我们直接看代码,首先我们自定义一个ListView:具体的解释在代码中就有。/** * Created by 李金伟 on 2017/4/15. */public class SlideCutListView extends ListView { /** * 当
2017-06-10 16:20:38 225
原创 列表侧滑删除(一)
今天为大家介绍下列表的策划删除功能,废话不多说,直接看效果图:我们先坐下介绍:和QQ列表的侧滑删除功能很像1.是个列表2.每一个条目都可以向左滑动,并且滑动第二个条目时,第一个条目返回,显示“取消收藏”,也就是删除。3.点击“取消收藏”,条目删除,并且不存在列表条目错乱问题。接下来我们就逐一介绍:1.使用ListView或者RecyclerView都可,不做介绍。
2017-06-10 10:21:49 693
原创 仿QQ空间标题栏显示隐藏
在QQ空间中我们经常会看到一种效果:标题栏或者状态栏在下拉或者上拉时的“渐变显示隐藏功能” ,今天我们就看看他是怎么实现的。先看下效果图:一:那么我们就先来说下“带Banner样式”的:通过效果图了解到:1.整体是个上下滑动的ScrollView 2.当ScrollView上滑时,标题栏随着向上滑动轮播图开始隐藏掉时,标题栏开始显示,随着轮播图逐渐隐藏标题栏逐渐显示,颜
2017-06-07 10:33:28 592
原创 自定义View (四): onDraw 之 Canvas画布
前面我们了解了自定义View的onDraw之paint方法,接下来我们看一下一个比较重要的方法Canvas。一:认识下Canvas。Canvas类简单理解就标示一块画布,用paint(画笔)在上面画我们想画的东西,Canvas的方法有很多,可以绘制很多对象,比如:-弧线(arcs)-填充颜色(grab和color)-Bitmap圆(circle和oval)点(point
2017-06-05 14:38:37 1078
原创 自定义View (三) :onDraw 之 paint 画笔
前两篇我们讲了自定义View的onMeassure 的方法以及一个相对简单的例子。我们回顾下:1.测量 —— onMeasure() :决定View的大小。2. 布局 —— onLayout() :决定View在ViewGroup中的位置。3. 绘制 —— onDraw() : 如何绘制这个View而 measureSpec 的三中mode 我们也要搞清楚。 1.UNSPEC
2017-06-05 09:26:32 659
原创 自定义View (二) : onMeasure流程 MeasureSpec详解
在自定义view的时候,其实很简单,只需要知道3步骤:1.测量——onMeasure():决定View的大小2.布局——onLayout():决定View在ViewGroup中的位置3.绘制——onDraw():如何绘制这个View。而第3步的onDraw系统已经封装的很好了,基本不用我们来操心,只需要专注到1,2两个步骤就中好了。而这篇文章就来谈谈第一步,也是十分关键得一
2017-06-03 16:07:02 336
原创 自定义View (一)
很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章。先总结下自定义View的步骤:1.自定义view的属性2.在View构造方法中获取我们自定义的属性3.【重写onMesure】4.重写onDraw我把3用[]标出了,所以说3不一定是必须的,当然了大部分情况下
2017-06-03 11:15:01 285
原创 Android Studio 生成aar包和jar包
通常的应用library文件是这样的,module在项目中作为一个库文件存在,如图示1。但是,有的时候为了方便,也会把module打成jar包或aar包放在libs中,如图示2 。那么,如何将module转化为jar包或者aar包呢?非常简单,将项目运行编译,在如图位置就会生成jar包 或 aar包:1.jar包的位置2.aar包的位置:如何引用
2017-06-02 17:35:40 435
原创 Android Studio 正式签名打包
Android studio 如何生成keystore文件?(eclipse生成的是.keystore,Androidstudio 生成的是.jks文件,其实都一样,也能相互转换)1.build ——> Generate Signed APK如果是第一次打包,或者你还没有签名文件,你需要Create new 一个,有的话choose existing然后 你那个路径下就会生成一
2017-06-02 16:05:26 1133
原创 Android Studio 通过配置build.gradle打包签名文件。生成xxx.apk
很多朋友在签名打包时对Android studio 的build.gradle文件配置不是太清楚,今天我们来了解下。首先。为了我们以后查找方便,我们可以将生成的签名文件放到项目中的appkey 中,(名字随意起):如图然后,想要配置,需要在图中的build.gradle文件中写入:1.signingConfigs { release {
2017-06-02 15:16:22 4909
原创 Android return 和 break 的区别
return 的含义是结束整个方法的执行,break 的和含义是中断。public static void main(String agrs[]){ int i; for(i=0;i<10;i++) { if( i == 5){ System.out.println("正确");
2017-06-01 11:38:34 785
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人