自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

段炼

我们向往着远方,却迟迟没有背起行囊;我们渴望着改变,却又贪恋眼前的安逸。殊不知,口号再响,也抵不上你向前迈出的第一步;想法再美,也不如脚踏实地的行动。走出自己的舒适区,才能通往你想要的未来!

  • 博客(103)
  • 资源 (62)
  • 问答 (2)
  • 收藏
  • 关注

原创 垂直跑马灯,广告轮播

主要是记录一下项目中的一些效果,方便以后同样的需求直接过来copy看到这个需求的时候去网上找了好久,都是一个textView的滚动,满足不了需求.最后只能动手了,原来很简单,就是2个view来回倒腾,搞个动画,就行了布局2个LinearLayout,里面放了TextViw,隐藏其中一个LinearLayout<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.a

2020-05-18 11:11:27 373

原创 A2dp连接流程(android8及之前版本)

前言Android P在a2dp协议有些许改动,支持多A2dp设备同时连接,流程上有变化,以下是记录Android O及以前的A2dp设备连接流程,以备我后续忘记时查阅.正文先简单讲讲应用层调用绑定和连接过程扫描到设备后点击设备列表,通过反射调用BluetoothDevice的createBond方法发起绑定 private void createBond(BluetoothDevice...

2019-07-09 13:52:05 8761 2

原创 Android蓝牙-设备类型之getMajorDeviceClass

废话做蓝牙framework已经一年多了,前段时间不太忙,自己做了一个蓝牙demo,遇到坑也不少,在这里记录一下,以便以后碰到能迅速查阅设备连接的时候需要通过设备的类型来创建不同的profile:int deviceType = device.getBluetoothClass().getMajorDeviceClass();下面来一步步分析底层是怎么得到这个deviceType先看de...

2019-01-25 11:45:42 9791

原创 虾扯蓝牙(一)获取蓝牙当前状态,监听蓝牙手动开关,代码开关蓝牙

前言半年没有更新博客了,首要原因就是我太懒了,其次是换了新工作,新环境,一直都处于适应与学习阶段,因为涉及到的领域以前都是没接触的–有幸外派到海尔做智能家居,第一次到这种大的公司来敲代码,很多东西都和之前不太一样了,以前一个需求只要做出来就行,不管你用什么方式,现在都是必须用什么实现,比如:代码架构必须是clean architecture干净架构,干净架构的presentation层必须用MVVP

2017-12-09 13:23:02 973

原创 高德地图定位

最近的项目里面需要定位,就弄了弄高德地图,以前觉得百度地图接入简单,弄完高德地图发现更加简单 现总结一下,以后需要直接过来copy代码1,官网后台注册,创建App,然后就是添加新Key key名称随便取发布版安全码SHA1和包名这东西点击链接自己按照步骤弄:点击查看步骤我之前就是偷懒,在以前别人留下的项目里面复制的key,最后定位不出来,定位地址为空,然后就过来弄这个了,弄完就能正常定位了,

2017-06-21 17:59:32 774

原创 炒现饭之友盟推送的简单实现

万能的第三方第一步:注册账号并创建应用那倒app_key和app_secret 第二步:下载SDK文档地址和sdk下载地址第三步:将下载的文件解压,里面有一个PushSDK,将其作为module导入项目中第四步:配置manifast<meta-data android:name="UMENG_APPKEY" android:value="593e2f

2017-06-12 15:55:13 655

原创 2017.6.9关于集成最新友盟第三方登录SDK遇到的问题以及改进

1,最新版的jar包变少了2,友盟现在推荐的是不去调用授权的方法,直接去拉取用户信息方法由原来的请求授权mShareAPI.getPlatformInfo(LoginActivity.this, platform, umAuthListener);变成了直接去拉取信息 mShareAPI.getPlatformInfo(LoginActivity.this, platform, umAuthList

2017-06-09 19:39:52 902

转载 几行代码快速集成二维码扫描库

转至:一片枫叶的专栏前言本文将讲解一下我最近写的一个快速集成二维码扫描库,这里需要说明的是其核心的实现扫描的功能,是通过调用ZXing库实现的。内部App中使用到了二维码扫描功能,但是网上找了一些关于二维码扫描的例子,只是我在集成的时候发现通过Android studio集成zxing二维码库不是特别方便,由于我就有了将其制作成标准库的想法,也就有了本文即快速集成二维码扫描库。 本文的项目地址是在

2017-06-08 13:27:35 634

原创 切换头像,拍照或者相册选择后剪裁

这个功能基本每个项目都会有,每次都要去翻看以前的项目,感觉不好,这里记录一下,以后需要的时候直接过来复制就行了,1.首先是点击头像弹出一个选择框,让用户选择照相机或者打开相册2,如果点击拍照就去调用系统照相机case R.id.photo_take://照相的监听 try { //调用系统照相机,注意,我这里没有

2017-06-07 15:25:40 744

原创 关于在一个页面去finish其他的页面,也可以调用其他页面的方法

首先你要在要被关闭的页面声明一个变量 public static PayActivity instance;然后在onCreate方法里面复制 instance = this;在其他页面你想关闭这个页面: PayActivity.instance.finish();这样就关闭了这个 PayActivity

2017-05-19 10:20:14 520

原创 WebView加载Html的图片文字,或者图文混排

<section class="wwei-editor"><blockquote style="padding: 10px; margin: 5px 0px 0px; white-space: normal; max-width: 100%; line-height: 25px; font-size: 14px; font-family: arial, helvetica, sans-serif;

2017-05-19 10:14:27 1413

原创 Go语言学习(一)下载安装Go编译器,并配置环境变量

这段时间,利用开发的闲暇之余学习一下Go语言,步骤和我刚学Java时候一样下载地址(1.8版本的):点击下载Go语言编译器下载完成后解压,双击安装,一路下一步记住你安装的路径,一会配置环境变量的时候要用到,完成后如下: api — 目录,包含所有API列表,方便IDE使用 bin— 目录,存放编译后的可执行文件 doc— 目录,帮助文档 pkg— 目录,存放编译后的包文件。pkg中的文件是G

2017-05-13 14:28:03 4442 3

原创 用建造者模式,为你创建一个女朋友

什么是建造者模式( 摘自百度百科) 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。啥意思呢比如你要创建一个女朋友,他有很多的属性,比如:性别,年龄,身高,体重,类型等等,虽然每个女朋友都有这些属性,但是每个人找女朋友的要求都是不一样的,有的人喜欢男的,有的人喜欢女的,有的喜欢胖的,不同的人可以根据自己的喜好去建造不同的女朋友,我们不需要

2017-04-24 11:40:37 1367

原创 利用CountDownTimer类几行代码实现倒计时功能

按照惯例是先看看效果 去年我也写过实现倒计时功能的博客,当时用的是Timer类,代码相对来说还比较多,今天用到的这个类似系统封装好的倒计时类,实现起来比较简单,源码也简单易懂,具体实现代码 //拿到countDownTimer对象,参数1:一共多少毫秒,参数2:间隔多少毫秒 CountDownTimer countDownTimer = new CountDownTimer(10

2017-04-21 10:42:17 2146

原创 RecyclerView展示多种布局

按照惯例 先看看效果图简介最上面是一个轮播图,然后下面是一个横向滑动的频道,然后下面就是一个GridView,再下面就是正常的布局显示了 当然这还不算是很复杂的布局,我这边只是讲讲原理和实现步骤,更多复杂布局可以根据这个去扩展原理给不同position的item设置不同的layout布局, 绑定不同的ViewHolder实现步骤1,定义不同的viewType常量(非必须) 2,在getItemV

2017-04-19 14:22:44 11753 13

原创 动态添加未知个View,并动态设置点击事件

先看看效果有时候,你不知道需求里面有几个View,要根据后台传的个数来动态添加撸代码因为是可以横向滑动的,所有我用一个HorizontalScrollView包裹一个LinearLayout,在LinearLayout里面动态add需要的View布局文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http:/

2017-04-13 10:02:21 7248

原创 关于Android 6.0运行时权限的一些理解和权限处理的三方库的应用

运行时权限:就是在手机运行中需要运用到什么权限就去申请授权什么权限; 这个是从Android 6.0出来的,在以往的Android版本里,权限只是在第一次安装的时候一次性全部授权,这就导致很多app一次申请n多个权限,私下里偷偷不知道在你手机里干什么,说不定你的艳照就被被人获取到了,基于这些个安全的考虑,所以推出了运行时权限这一说当然,也不是所有权限都需要在运行的时候去申请授权,有些不涉及到隐私等

2017-03-30 13:16:03 3872

原创 收集大牛的炫酷效果

本文收集的是博客或者github上大神的炫酷功能,如有侵权,请联系我删除1.Android 开源之StickyHeaderListView 标题渐变、吸附悬停、筛选分类、动态头部 作者博客地址:http://www.jianshu.com/p/3bf26722c489# 代码下载地址:http://download.csdn.net/detail/dl10210950/9797201 作者gi

2017-03-29 10:39:28 2639

转载 RecyclerView配合DiffUtil,数据对比,局部刷新

本文转载自作者: 承香墨影,附上作者微信和公众号一、前言DIffUtils 是 Support-v7:24:2.0 中,更新的工具类。因为已经更新了一段时间了,也不好说是最新更新的。它主要是为了配合RecyclerView 使用,通过比对新、旧两个数据集的差异,生成旧数据到新数据的最小变动,然后对有变动的数据项,进行局部刷新。接下来就 DiffUtil 的使用细节,进行一个详细的讲解,希望一篇文章就

2017-03-28 10:21:01 3364 3

原创 文字和图片等抖动提醒

首先声明我不是生产者,我只是搬运工,我只写怎么实现效果,原理请看这里大头鬼Bruce:http://blog.csdn.net/lzyzsd/article/details/39255341我也是看了这位大神的博客,下了demo看了自己写的demo看效果 看代码 布局文件<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmln

2017-03-21 14:32:57 691

原创 把汉字转换成拼音的util

package com.duanlian.daimengmusic.utils;/** * 汉字转化为拼音 */public class Cn2Spell { private static int[] pyvalue = new int[] {-20319, -20317, -20304, -20295, -20292, -20283, -20265, -20257, -20242, -

2017-03-21 09:49:02 1594

原创 Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换

首先是网上大神给的类package com.duanlian.daimengmusic.utils;public final class Base64Util { private static final int BASELENGTH = 128; private static final int LOOKUPLENGTH = 64; private static final

2017-03-21 09:40:29 7219

原创 MVP的一点理解

学习MVP已经有一段时间了,看了很多资料,也写了好几个demo,前段时间一直都在做项目,没时间总结一下,趁着这段时间没有那么忙了,把我学习的一些理解记录下来总结起来就这张图 举个我自己理解的例子 M和V在闹离婚,都不愿意和对方去沟通,这是后P就出现了,负责M和V的沟通工作… V把离婚条件告诉P,P接到条件后就去问M,M考虑好条件告诉(接口回调给)P,P在去告诉V,V在做相应的处理.总结起来就是

2017-03-16 16:04:15 482

原创 Android双击Home键返回桌面

2中方式,都是监听返回键 一种 /** * 双击返回桌面 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if ((System.currentTimeM

2017-03-08 09:16:00 2061

原创 Android接入免费的短信验证SMSSDK的应用

有些时候自己做个人项目需要使用短信验证,但是又不想花钱,就得用我接下来要说的这个良心的第三方了 官网地址:http://www.mob.com/ 短信接入的文档:http://wiki.mob.com/api-android/ sdk下载的地址:http://www.mob.com/downloadDetail/SMS/android接下来说说步骤,其实步骤在官方文档里面已经有了,但是会有很多

2017-03-01 13:07:03 1521 1

原创 下拉选择菜单Spinner的使用

先看效果如果加上属性:android:spinnerMode="dialog"下面是他的属性: xml : android:dropDownHorizontalOffset 代码中 : setDropDownHorizontalOffset(int) spinnerMode=”dropdown”时,下拉的项目选择窗口在水平方向相对于Spinner窗口的偏移

2017-02-27 13:44:15 814

原创 自动完成文本框-AutoCompleteTextView和MultiAutoCompleteTextView

看看效果 自动完成文本框是从EditText派生出来的,实际上也是一个文本编辑框,但是比普通的编辑框多了一个功能:当用户输入一定字符之后,自动完成文本框会显示一个下拉菜单,供给用户从中选择,当用户选择某个菜单选项之后,AutoCompleteTextView按照用户的选择自动填写改文本框其属性有android:completionHint setCompletionHint(CharSequen

2017-02-27 11:26:39 569

原创 动态给ViewPager添加Indicator导航

先看下效果小圆点的形状和颜色都是可以自己定义的,看需求首先第一步,滑2个圆点,一个是选中后的圆点,一个是未选中的圆点,看选中的圆点shape<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="ova

2017-02-24 08:34:38 532

转载 java学习--单例模式

出处:本文为【viclee】原创,如需转载请注明出处~简介 Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。       单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导

2017-02-15 10:35:13 294

原创 Fragment的隐藏与显示

一般fragment和activity一起用的时候有两种方法,一个是用fragment替换到activity里事先放置的站位布局FragmentTransaction fragmentTransaction = getFragmentTransaction(); fragmentTransaction.replace(res, fragment); fragmentT

2017-02-06 08:37:50 16950 2

原创 GridView实现多选,全选,反选等功能

先看看效果 我这里用到了数据库来储存选择的数据,数据库的简单实用我在前面的博客写过了,这里就不多说了,直接贴代码数据库操作类的代码package com.duanlian.gridviewmultiplechoicedemo.database;import android.content.ContentValues;import android.content.Context;import a

2017-02-03 16:16:03 7703 2

原创 利用GridView实现单选功能

先看看效果 如果是你需要的,你可以继续往下看了实现起来比较简单,直接上代码 主Activity的布局,一个Button用来跳转到筛选Activity一个TextView用来显示筛选后的到的结果<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/ap

2017-02-03 14:32:08 7093 4

原创 尺寸相关工具类

package com.duanlian.daimeng.utils;import android.app.Activity;import android.content.Context;import android.util.DisplayMetrics;import android.util.TypedValue;import android.view.View;import andr

2017-01-21 17:26:51 332

原创 SD卡工具类

package com.duanlian.daimeng.utils;import android.annotation.TargetApi;import android.os.Build;import android.os.Environment;import android.os.StatFs;import java.io.BufferedInputStream;import java.

2017-01-21 17:26:19 382

原创 手机号码验证工具类

package com.duanlian.daimeng.utils;/** * 手机号码验证工具类 段炼 * */public class NumberUtils{ /** * 中国移动拥有号码段为:139,138,137,136,135,134,159,158,157(3G),151,150,188(3G),187(3G * );13个号段 中国联通拥有号

2017-01-21 17:25:10 892

原创 字符串操作工具类

package com.duanlian.daimeng.utils;import android.util.Log;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.text.ParseException;import java.text.SimpleDat

2017-01-21 17:24:30 364

原创 农历操作工具类

package com.duanlian.daimeng.utils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;/** * 农历操作工具类 段炼 */public class LunarUtils {

2017-01-21 17:23:43 452

原创 Bitmap工具类

package com.duanlian.daimeng.utils;import android.content.Context;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;

2017-01-21 17:21:47 443

转载 源码解读之Intent解读

Intent在Android开发中,虽然他不是Android四大组件中的一个,但是他是四大组件通信的纽带,在我感觉,Intent在开发中有时候比Service,广播还重要,有的项目可以不用服务和广播,内容提供者,但是Intent基本都是必不可少的,好的废话不多说,开始解读Intent简介Intent 是一个消息传递对象,您可以使用它从其他应用组件请求操作;作用尽管 Intent 可以通过多种方式促进

2017-01-08 18:46:40 417

原创 知识重温之帧动画的两种实现方式

闲来无事,复习一下知识,今天复习一下帧动画的两种实现方式:代码实现,xml实现,看看效果 1,通过Animation-list实现逐帧动画 首先在drawable下创建一个xml文件,代码如下:<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/r

2016-12-23 10:03:39 1743

帧动画demo

帧动画demo

2016-12-23

给RecyclerView添加上拉加载更多的布局

给RecyclerView添加上拉加载更多的布局

2016-12-12

ShineButton-master爆炸按钮

ShineButton-master爆炸按钮

2016-12-09

根据日期获取最近几天的日期

根据日期获取最近几天的日期

2016-12-09

根据日期算近今天的日期

根据日期算近今天的日期

2016-12-09

项目框架1.01

项目框架1.01

2016-11-10

ScrollView和ListView和GridView冲突解决之自定义ListView和GridView

ScrollView和ListView和GridView冲突解决之自定义ListView和GridView

2016-11-02

ScrollView和ListView和GridView冲突解决

本人博客的demo

2016-10-31

解决scrollView和gridView和ListView嵌套的冲突

解决scrollView和gridView和ListView嵌套的冲突,动态测量ListView和GridView的高度

2016-10-28

FastAndroid

这是一个封装了多方面开源库后基于MVP模式的一个Android快速开发框架,融入了MVP模式,将Activity或Fragment做为View层、抽象出Presenter用于处理业务逻辑、Model处理网络访问,数据封装等。 降低模块之间耦合,提高可维护性及扩展性

2016-10-10

集成源生QQ登录,并获取到用户的信息

集成源生QQ登录,并获取到用户的信息

2016-10-09

两个上传头像的demo

两个上传头像的demo

2016-10-09

自定义popupWindow修改版

自定义popupWindow修改版

2016-10-08

漂亮的下拉刷新

漂亮的下拉刷新

2016-10-07

点击实现倒计时,按钮变成不可点击,倒计时结束,按钮重新可点击

点击实现倒计时,按钮变成不可点击,倒计时结束,按钮重新可点击

2016-10-07

自定义popupWindow

自定义popupWindow

2016-10-07

Android储存---SQLite数据库的简单使用,实现增删改查

本人博客:Android储存---SQLite数据库的简单使用,实现增删改查demo

2016-09-16

Android常用控件(能折叠的ListView)--ExpandableListView的使用模仿QQ好友列表

本人博客:Android常用控件(能折叠的ListView)--ExpandableListView的使用模仿QQ好友列表的demo

2016-09-13

Android音乐播放器制作(三)加入控制台

本人博客Android音乐播放器制作(三)加入控制台的demo

2016-09-12

自定义控件验证码

自定义控件验证码

2016-09-09

虾扯蓝牙1demo

虾扯蓝牙1demo,蓝牙状态的监听,以及获取蓝牙当前的状态

2017-12-09

切换头像功能kotlin版本

切换头像功能

2017-06-08

切换头像功能

切换头像功能,调用系统剪裁

2017-06-07

Java常用算法手册

Java常用算法手册

2017-05-19

KotLin中文文档

KotLin中文文档

2017-05-19

Go语言Eclipse插件

Go语言Eclipse插件

2017-05-13

Go语言安装包

Go语言安装包,安装配置环境变量请看我博客

2017-05-13

RecyclerView展示多种布局

RecyclerView展示多种布局

2017-04-19

动态添加view

动态添加view

2017-04-13

炫酷的弹出选择按钮menu

炫酷的弹出选择按钮menu

2017-03-29

炫酷的循环翻页

炫酷的循环翻页

2017-03-29

2017年3月29最新版的git,官网下载

2017年3月29最新版的git,官网下载

2017-03-29

Android 开源之StickyHeaderListView 标题渐变、吸附悬停、筛选分类、动态头部

Android 开源之StickyHeaderListView 标题渐变、吸附悬停、筛选分类、动态头部,http://www.jianshu.com/p/3bf26722c489#

2017-03-29

抖动提醒demo

文字和图片抖动提醒demo

2017-03-21

Mvp的简单demo

MVP的demo

2017-03-16

给ViewPager添加indicator

给ViewPager添加indicator

2017-02-24

Fragment的显示与隐藏demo

Fragment的显示与隐藏demo

2017-02-06

GridView实现多选,全选,反选功能

GridView实现多选,全选,反选功能

2017-02-03

利用GridView实现单选功能

利用GridView实现单选功能的demo

2017-02-03

通用上拉加载下拉刷新

通用上拉加载下拉刷新

2017-02-03

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

TA关注的人

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