android
文章平均质量分 67
刘永祥
这个作者很懒,什么都没留下…
展开
-
android Service在8.0以及通知栏不显示的问题
android系统在8.0以后Service无法正常使用,在低版本上面不会出现问题,这是因为在后台中运行的服务会消耗设备资源,这可能降低用户体验。 为了缓解这一问题,系统对这些服务施加了一些限制。系统可以区分 前台 和 后台 应用。(用于服务限制目的的后台定义与内存管理使用的定义不同;一个应用按照内存管理的定义可能处于后台,但按照能够启动服务的定义又处于前台。)如果满足以下任意条件,应用将被视为...原创 2018-12-11 17:54:33 · 5439 阅读 · 3 评论 -
Android FlowLayout实现热门标签功能
FlowLayout实现热门标签的功能想必大家都见过,有的为搜索的历史记录,有的则是一些推荐等等。总之热门标签在很多应用里面都有使用,先看一下实现的效果图 下面的一张是截取的淘宝搜索的效果 那么我们如何实现上面的效果呢?我实现的效果是充满屏宽状态的,而淘宝的则是没有充满屏宽的。如何实现充满屏宽其实也不是很难。 下面我们就来探讨一下如何实现: 首页我们需要自定义一个控件也就是我们说的F原创 2016-12-13 16:22:05 · 3521 阅读 · 1 评论 -
Android 性能优化
本篇博客主要讲述一下关于性能优化的方法。在开发的过程中,我们有些人只是最求功能的实现,而不去理会性能方面的问题。Android的内存和CPU的性能都是有一定限制的,过多的使用内存会导致我们的内存溢出,也就是我们常见的OOM(Out Of Memory )现象。如果过多的消耗CPU会导致我们的手机产生卡顿的现象。这些问题的产生都是由于我们在开发的过程中,一味地只求功能的实现而忽略了性能导致的。那么我们原创 2016-12-09 17:11:14 · 727 阅读 · 0 评论 -
Android 标题背景渐变
有些应用上面的标题的背景色默认的是全透明的,也就是以背景图片来作为背景色。然后随着ListView的滑动标题的背景色会有全透明慢慢的变为和背景图一样的颜色。以图为证: 上面的效果图想必大家并不陌生,我们手机上面的一些应用就有。那么这个效果是怎么实现的呢?其实这个效果就是一个自定义的ScrollView,其中要重写里面的onScrollChanged这个方法, protected void on原创 2016-12-08 15:29:40 · 1859 阅读 · 3 评论 -
Android 解决ListView的复用问题
ListView是大家在项目的开发过程中不可避免要使用到的,使用ListView的同时我们还要使用到适配器,如果ListView只有一两条数据的话我们可能不会考虑到用ListView的复用机制,因为你用不用对象的创建和空间的开辟都是那么多。这样的话ListView复用出现的问题也就不存在了。然而很多应用展示的条目并不是那一两条数据,而是很多会多余一屏的显示,不然也就不会有加载更多的出现了。如果我们不原创 2016-11-09 11:52:30 · 12229 阅读 · 10 评论 -
Android Canvas、Paint、Path、drawBitmap
我们平常的画图都是通过Paint画笔在Canvas画布上进行绘制的,我们在画图之前首先就是要把我们的画笔设置好。就跟我们平时画图一样,先要选好画笔的粗细、颜色以及透明度,然后我们才开始作画,最后将Canvas画布呈现给用户。 我们来认识一些具体的方法: 画图之前我们是要准备好Pint(画笔)的,那么我们就来整一个画笔对象。 先了解一下画笔的一些样式 Paint.Style.FIL原创 2016-11-12 19:47:33 · 5149 阅读 · 0 评论 -
android 显示内容被底部导航栏遮挡
由于华为和魅族手机系统自带的有底部导航栏,会造成一些布局被遮挡。 之前用的eclipse没有发现被遮挡的情况,最近公司要求使用android studio,在做分享的时候发现,弹出的分享下面的文字被遮挡了。于是上网查找解决办法,有的说是在布局里面的跟布局加入android:fitsSystemWindows=”true”即可解决,可是我加入以后还是未能解决。 未解决之前的图片 有没有发原创 2016-06-08 11:09:02 · 27811 阅读 · 15 评论 -
Android自定义控件
我们在开发的过程中,有时会遇到一些Android系统自带的控件解决不了我们的需求,比如说我们在开发项目时显示的图片轮播,当我们展示的时候不希望图片变形,还要保证图片能够完整的显示出来,我们如何做呢?如果只是一个简单的ImageView控件恐怕很难实现吧!有人会说ImageView的ScaleType属性就能够解决图片填充不满的问题,但是那样的话图片很容易失真,达不到产品原先的需求。首先我们来认识一下原创 2016-10-28 14:16:00 · 4534 阅读 · 7 评论 -
Android 上下滚动的广告条
有些应用里面会有一些上下滚动文字的广告,尤其是关于商城里面的容易出现,具体的效果相比大家也见过,先看看效果吧 这是怎么实现的呢,有人说是用TextView实现,有的说这是跑马灯效果。其实说TextView实现这种效果的同学只是说对了一半,这个效果的实现是离不开TextView的,因为文字的显示的大小和颜色都可以通过TextView来实现。但是只有TextView是万万不能实现的。这里还需要用到原创 2016-11-09 16:35:45 · 7343 阅读 · 1 评论 -
android RadioButton自定义图片样式
有些项目的时限要求是单选,但是系统自带的图片又不符合公司的图片设计要求,于是自己就写了一下下载demo地址点击下载原创 2015-11-18 13:49:12 · 1906 阅读 · 0 评论 -
Android 时间轴效果
先上图 这是本人做的一个关于时间轴的效果图,为了各位的需要现将代码粘贴如下,如果想要源码可以点击下面的链接进行下载“` package com.liuyongxiang.timeline;import java.util.ArrayList; import java.util.Collections; import java.util.List;import liuyongxiang.tim原创 2015-11-20 16:07:14 · 4982 阅读 · 1 评论 -
android Listview显示不同的item遇到的问题
11-21 23:01:23.450: E/AndroidRuntime(31626): FATAL EXCEPTION: main11-21 23:01:23.450: E/AndroidRuntime(31626): java.lang.ArrayIndexOutOfBoundsException: length=5; index=511-21 23:01:23.450: E/Android原创 2015-11-21 23:13:17 · 740 阅读 · 0 评论 -
Android 推送-个推
最近闲来无事就把个推研究了一下,发现个推的SDK版本已经更新到2.9.5.0了,而且跟以前的版本相比感觉变化实在是太大了。 以前的版本在配置清单里面的配置为<!-- 配置第三方Receiver--> <receiver android:name="cn.com.zhaoshuikan.bdhospital.PushReceiver"原创 2016-12-22 18:56:16 · 9982 阅读 · 4 评论 -
Android 自动填写验证码
获取验证码几乎是每个应用所必备的,很多应用在用户注册的时候设置一个验证码的功能,根据手机号获取验证码的作用就是防止恶意注册。先来看一下效果图 上面的效果就是读取短信的信息,然后根据信息内容将验证码截取出来,赋值到输入框。具体的实现过程如下: 首先就是要读取短信,获取短信的内容,如何获取短信的内容呢,android将所有的短信信息都存入了mmssms.db中,如果要访问短信数据库里面的内容就需原创 2016-12-28 17:00:27 · 6128 阅读 · 0 评论 -
个人笔记
写这片博客的目的就是为了记住一些自己曾经遇到过的一些问题。问题1Error:Execution failed for task ‘:app:dexDebug’. Process ‘command ‘C:\Program Files\Java\jdk1.8.0_60\bin\java.exe” finished with non-zero exit value 2 在app...原创 2016-09-22 10:00:50 · 1768 阅读 · 1 评论 -
android6.0动态权限申请
已经有一年多没有写博客了,主要就是忙。自己独立开发的确有点累,很多东西都要自己去脑补,遇到问题也没有可商量的同事,所以只能自己想办法解决。闲话少说,言归正传!6.0动态权限的申请已经有很长时间了,网上也有很多案例,应某些人要求,这里我只是提供下我自己的见解!之所以会有动态权限的申请,还是因为android手机做的越来越安全了,也越来越人性化了,同时对开发者来说是越来越麻烦了。有些涉及到用户的隐...原创 2018-12-11 17:12:13 · 934 阅读 · 0 评论 -
Android 自定义可以滑动和点击的RangeBar
由于项目的需要实现可以滑动和点击的效果,就在网上搜了一下,发现基本上都是可以滑动的,于是自己就在别人的基础上进行了一系列的修改。做成的效果图如下 其实要想实现上面的效果并不是很难,只需要懂一些自定义即可。 关于自定义前面已经详细的介绍过了点击前往Android自定义控件,还有就是所谓的自绘控件点击前往冠以自绘控件。 由于时间有限,先介绍这么多,具体的实现稍后详细介绍。点击下载源码原创 2017-05-17 10:32:47 · 2151 阅读 · 2 评论 -
Android 日期时间选择器
日期选择器是很多应用所具备的,比如设置一些任务的开始和结束时间。为了方便用户的同时也为了界面的好看,很多都是采用日期选择器,我在网上看了一下。很多的日期选择器个人感觉不是很好看,但是修改起来也有点麻烦,于是自己就写了一个demo。至于界面效果个人感觉也是很low,毕竟鄙人不是搞UI的,所以也就凑合着看吧。这些都不重要,因为这些是可以修改的。如果想实现具有年月日的请看下面的注意里面的内容,下图是实现的原创 2016-09-07 17:47:46 · 29504 阅读 · 63 评论 -
Android 仿iOS带有星期几的日期时间选择器
最近看到一个需求,就是日期时间选择器上面需要带有星期几来供用户滑动选择,我上网搜了一些发现很多demo都跟我以前写过的一篇日期时间选择器差不多,(点击查看我以前写过的日期时间选择器)找不到带有星期几的日期时间选择器,于是自己就研究了一下。实现效果如下 发现其实这个功能实现起来并没有想象的那么复杂。首先一天多少天是根据闰年和平年之分的也就是二月,闰年和平年的判断方式相比大家也都知道就是if ((原创 2016-10-14 10:05:56 · 6972 阅读 · 4 评论 -
Android GreenDao实现CRUD和升级详解
我们不论在学习Android还是在开发应用的过程中或多或少的会接触到一些SQLite。增(insert)、删(delete)、改(update)、查(query),当然如果我们在使用的过程中想要添加字段的话,离不了数据库的升级(onUpgrade)。下面我们就使用GreenDao来实现我们的增删改查以及数据库的升级。 点击前往greenDAO官网 GreenDao的有以下优点: 性能最大化原创 2017-03-14 15:51:37 · 5782 阅读 · 0 评论 -
Android 属性动画
关于Android的动画我们都有所接触,Android的动画有三种,分别是View动画、帧动画,还有就是本篇要说的属性动画。View动画我们很常见就是平移动画(TranslateAnimation)、缩放(ScaleAnimation)、旋转(RotateAnimation)、透明动画(AlphaAnimation),帧动画就是通过顺序依次播放的动画。这些动画都是使用在View上面的,也就是我们在已原创 2016-12-02 16:17:23 · 1045 阅读 · 1 评论 -
Android ImageView移动和缩放
要实现ImageView的缩放就要使用到我们大学里面学习的线代里面的矩阵(Matrix),我们看一下源码就可以知道 public static final int MSCALE_X = 0; //!< use with getValues/setValues public static final int MSKEW_X = 1; //!< use with getValue原创 2016-11-17 18:25:54 · 2494 阅读 · 1 评论 -
Android 侧栏A-Z的快速滑动搜索(二)
在前面的文章中已经介绍了侧栏字母#A-Z以及搜索框的实现。 这次主要是来实现以下侧滑的功能,侧滑也是很多应用里面都有的,我们所熟悉的QQ里面的消息条目就是使用的侧滑功能。下面我们就来说说侧滑功能的实现吧。 侧滑删除当然也是离不了自定义控件的而且还要有滑动的动画出现,所以我们会使用到ViewDragHelper,使用是需要以下几个步骤 1.使用静态方法来构ViewDragHelper,需要传入原创 2016-11-26 18:09:55 · 1397 阅读 · 0 评论 -
Android 侧栏A-Z的快速滑动搜索(三)
前面的两篇讲了快速搜索的侧边#A-Z、侧滑的实现。本篇将会实现模糊搜索的效果。实现模糊搜索之前我们还是先实现以下侧栏点击字母的定位效果。当我们点击侧栏字母的时候希望能定位到拼音的首字母是我们所点击的字母,这一点本来想在前两篇说但是一想还是跟模糊搜索一块将吧,都是实现定位到某个位置的。这里我们会用到一个关于拼音的工具 上面的效果图我们可以看到如果我们的列表里面首字母含有某个字母的时候,含有相同的原创 2016-11-26 22:27:38 · 1837 阅读 · 2 评论 -
Android 侧栏A-Z的快速滑动搜索(一)
Android侧栏A-Z的快速滑动搜索想必大家并不陌生,很多应用里面都有这样的功能出现。最常见的如电话联系人列表、好友列表、城市列表等等。快速搜索就是方便我们快速定位到我们要找的信息。比如我们想找姓氏为刘的,那么我们只需要点击一下L就能搜索到好友里面的姓氏拼音首字母以L开头的,当然姓氏刘也就搜出来的,有可能以L开头的姓氏比较多,比如李、郎、鲁、柳、雷、刘、林、蓝、吕等,而我们想找到刘这个姓我们可以让原创 2016-11-25 22:07:12 · 3379 阅读 · 1 评论 -
Android 水波纹显示进度效果
关于水波纹的效果想必大家见的已经很多了,我就在这里再啰嗦一次,为了加深自己的印象。先来看看效果图 关于这个效果的实现不必想的太过复杂了,要想实现这个效果,我们还需要了解一下PorterDuff及Xfermode 关于上面的这张图想必大家也见过很多次了。这其实就是PorterDuff的16种模式。效果想比大家已经见到了,下面我们就来一一了解如何使用。 PorterDuff.Mode.CL原创 2017-02-15 16:59:45 · 6047 阅读 · 3 评论 -
Android ListView Item含有RadioButton、CheckBox、RatingBar、EditText
ListView在项目里面会经常遇到,但是有时候在使用的过程中会遇到一些让我们意想不到的问题,ListView的复用问题在前面的博客中已经介绍过了点击浏览ListView的复用问题。这边博客主要是关于什么的呢?先来看看效果图 这一篇可以说是关于ListView的复用的经常用到的事例。单选,多选,星星的滑动和修改保存EditText的内容 单选的不单单是复用的问题,之所以可以实现单选就是我们大原创 2016-11-12 21:05:00 · 2327 阅读 · 6 评论 -
Android AppBarLayout+TabLayout+RecyclerView+ViewPager+Fragment
最近有人让我帮忙实现一个如下图所示的效果 需求:标题栏本来是在banner的下方,当滑动下面的RecyclerView的时候标题栏会随着向上移动,但是当标题栏移动到顶部时是要悬浮在顶部,下面无论如何上滑标题拦都不再移动,当向下滑动时知直到出现RecyclerView的第一条时标题栏才会随着向下移动。 AppBarLayout 是继承LinerLayout实现的一个ViewGroup容器组件,原创 2016-10-08 18:06:44 · 13899 阅读 · 3 评论 -
Android 无限循环的广告轮播图
上一篇文章讲了自定义控件的是关于轮播图的,这张我们就来说一下轮播图的实现。轮播图的实现用到的控件是ViewPager,关于ViewPager的懒加载机制我在前面的文章中已经讲过,大家如果有兴趣的话可以去看看。关于无限循环的广告轮播图真的是可以无限循环吗?答案是不可能的。因为我们都清楚我们的无限轮播不过是将展示的条目数设置的很大,给我们的感觉就是一直在循环展示。如何设置呢?下面我就来一一为大家解析一下原创 2016-11-08 14:46:59 · 1823 阅读 · 0 评论 -
Android 打开word,excel,ppt,txt,html等文件有用户选择用何种手机上面已经安装有的工具打开
由于工作的需要,今天研究了一下如何打开手机上面的word文档,excel,ppt。刚开始的以为只要能调用wps office工具打开就行,如果手机上面没有wps office就提示用户自己去下载,可是当我已经实现功能的时候,结果需求并不是我想的那样,而是调用手机上面的有用户自己选择用何种工具打开。于是我就又研究一下如何让用户选择自己已经安装的工具打开。下面先上一段用wps office打开word原创 2016-01-22 10:09:17 · 6707 阅读 · 0 评论 -
android启动界面和引导界面的动画
有很多应用开启应用时都会有2到3秒的启动界面的动画,当一次安装应用时还要具备有引导的功能的动画,于是我也就写了一个关于启动动画和引导图并带有点的demo,先上图 启动画 第一张引导图 第二张引导图 第三张引导图 就先展示这几张吧,根据这几张就可以看出要实现的功能是什么了,下面上代码package com.liuyongxiang.welcome;import android.a原创 2015-11-30 15:55:52 · 4175 阅读 · 0 评论 -
android 获取手机上面的IMSI序列号,IMEI,MAC地址,IP地址,当前时间,当前经纬度,获取网络类型
// 获取IMSI public void getIMSI(Context context) { TelephonyManager telManager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String imsi =原创 2015-11-14 18:54:25 · 3179 阅读 · 0 评论 -
Android 计算器的开发
对于初学者来说,开发一款计算器是必要的经历,我也经历过。我主要实现的是加减乘除四则运算如下图: 示例代码// 点击1按钮的id事件 case R.id.btn_1: /* * 判断是否需要清空 如果之前已经运算过了 再次输入 则认为是一次新的计算过程 表示显示的内容原创 2015-11-09 18:11:56 · 1940 阅读 · 2 评论 -
ViewPager+Fragment第二次进入显示空白
Fragmnet第二次进入不显示,主要是第二次加载的时候重复调用了onCreateView()这个方法,重新new了一个pageadapter导致子fragment不显示,问题的解决方法就是在onCreateView()方法里面加入如下代码if (view != null) { ViewGroup parent = (ViewGroup) view.getParent();原创 2015-05-22 18:41:27 · 7314 阅读 · 9 评论 -
android 适配器里面的按钮点击切换
今天在做项目是发现一个问题,就是点击按钮切换图片时,第一次需要点击一下,然而其他的按钮则需要点击两次才能切换图片,结果发现原来是自己的Boolean类型的判断放错了位置具体代码如下:public static class ViewHolder { RelativeLayout title; View line; ImageView img_arr原创 2015-11-20 12:59:16 · 1353 阅读 · 0 评论 -
Android 百度地图 Binary XML file line
android.view.InflateException: Binary XML file line #6: Error inflating class com.baidu.mapapi.map.MapView Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class com.原创 2015-11-24 09:57:49 · 1272 阅读 · 0 评论 -
上传头像出现内存溢出
最近在做个人中心的时候,需要实现上传头像的功能,上传头像有两种,一种是通过选择本地相册里面的图片,第二种就是通过照相上传。在上传的途中会出现内存溢出的现象,如何解决呢?图片上传出现内存溢出无非就是上传的图片过大,如果对图片采取压缩则可避免因图片过大而造成的内存溢出。实现代码如下:public class PersonMessageAty extends Activity implements OnC原创 2015-10-30 14:45:33 · 1320 阅读 · 0 评论 -
图片更换之后显示的还是原来的图片
当我们在做项目的时候,感觉有些图片不是那么的美观想要进行替换,可是替换之后显示的仍是以前的图片。当你点击查看图片的时候,显示的是你最新替换的图片,为什么运行项目时显示的仍是以前的图片呢?这是因为我们的eclipse有一个自动生成的bin文件,我们以前的图片还存在这个文件夹里面,要想让图片真正替换掉就要把当前的bin文件删除掉原创 2015-10-30 14:37:56 · 24228 阅读 · 6 评论 -
Android ListView禁止滑动
由于数据较少,如果listview滑动感觉不怎么美观,于是想要Listview禁止滑动,其实也很简单,只要拦截listview的Ontouch事件就可以了具体代码如下:`ListView lv = (ListView) findViewById(R.id.listView); lv.setOnTouchListener(new OnTouchListener() {原创 2015-11-20 10:47:43 · 18390 阅读 · 1 评论 -
Android签名时混淆包名
今天在做项目的打包签名时出现了一些问题,为了以后也为了方便大家我就把我的方法分享出来 如果打包签名时想混淆包名,需要项目中含有proguard.cfg和project.properties两个文件,并在project.properties文件中写入proguard.config=proguard.cfg这一句代码 proguard.cfg文件-dontwarn cn.sharesdk.sina.原创 2015-05-09 00:18:59 · 3608 阅读 · 0 评论