自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 利用Android Material Design实现页签联动

以前写过一篇自定义页签的文章http://blog.csdn.net/yanglei0917/article/details/52472698 ,但是这种方法感觉不实用,在开发中为了快速开发我们不可能费事的自己去自定义,因为Google已经给我们实现了页签的功能,在Material Design中TabLayout已经给我们实现了,今天就简单的介绍一下怎么用TabLayout。我们先看看效果图再说:

2017-04-07 09:59:21 875

原创 如何快速集成Dagger2让你的代码完全解耦

最近在研究Dagger2,他是为了配合MVP出现的,为了让你的业务逻辑完全的与界面隔绝开,让代码完全解耦。一、Dagger2简介1、首先看看什么是Dagger2:Dagger是为Android和Java平台提供的在编译时进行依赖注入的框架。编译时:编辑时生成代码(rebulid),我们完成所需对象的注入。2、为什么是使用Dagger2Dagger2解决了基于反射带来的开发和性能上的问题。3

2017-04-06 09:56:29 820

原创 Android开发框架搭建——BaseActivity的抽取(二)

在日常的开发中,我们都会不断地抽取基类让自己的代码看起来更加简洁易懂,这样我们就要抽取我们自己的基类,让后面的类都继承这个Base基类,这样我们可以少写一些代码,可以增加复用性,降低耦合 今天我们就抽取了所有的应用程序都需要的BaseActivity,这个大家在开发过程中都需要用到的类,那么废话不说,看看我们的BaseActivity的源码:初始化布局initLayout(savedInstanc

2017-03-20 10:44:07 1883

原创 Android开发框架搭建——应用程序的入口Application配置(一)

大家都知道每一个Android程序都要配置一个application,今天我们就来了解一下application的这层神秘的面纱吧。什么是ApplicationApplication的生命周期Application的配置Application的实战应用 一、什么是Application Application和Activity,Service一样,是android框架的一个系统组件

2017-03-17 10:32:13 1753

原创 Glide加载图片,让你的网络框架更全面

上两篇文章,一篇是写rxjava和retrofit结合,另一篇是mvp+retrofit+rxjava构建开发框架的,但是大家会发现一个问题,我们成功请求了网络数据,但是前两个为什么加载不出来图片呢? 那么问题来了,这么一个完美的网络框架,图片怎么显示呢? 很简单当然是使用Glide了,接下来我们就来学一下Glide如何加载图片。在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的

2017-03-15 15:59:30 737

原创 使用MVP+Retrofit+rxjava让你的代码更简洁

上一篇文章[使用Retrofit和Rxjava让你的网络请求更简单](http://blog.csdn.net/yanglei0917/article/details/60964151),已经讲述了retrofit和rxjava的结合让你的网络请求变得不咋那么复杂,而且代码量清晰,高度解耦。在本篇文章中是继上一篇中的重构,因为mvp模式是当下解耦更加完全的模式,相比MVC更加简单好用下面看看什么是

2017-03-13 11:40:39 554

原创 使用Retrofit和Rxjava让你的网络请求更简单

去年的时候好多公司就已经使用Rxjava和Retrofit了,最近自自己学习了一下,感觉真的是很好用,让自己的网络请求变得更简单了,而且封装性极强。首先做一下准备工作,导入需要引用的文件compile 'com.android.support:appcompat-v7:25.1.0' testCompile 'junit:junit:4.12' compile 'io.react

2017-03-09 17:41:09 4827 4

原创 微信小程序的初体验

1、什么是小程序小程序是一种不需要下载、安装即可使用的应用,它出现了触手可及的梦想,用户扫一扫或者搜一下即开打开应用,也出现了用完即走的理念,用户不用关心安装太多应用的问题,应用随处可用,但又无须安装卸载。我当时是这样来定义什么是小程序的。2、小程序的四大特征 无需下载 直接使用不用像现在的APP要在应用市场下载 触手可及 我们只需要用微信的扫一扫就可以使用 用完即走 不需要担

2017-01-13 10:47:03 483

原创 关于Android直播那些小事-推流2完结

上一篇博客只是简单的说了一下如何搭建和怎么样推流,但是直播还有好多功能没有实现在这篇博客我将会一一实现。1、切换摄像头2、自动对焦设置3、美颜美白设置4、打开闪光灯5、对码率的设置1、切换摄像头:在initView(view)中找到切换摄像头的Button//初始化摄像头mBtnChangeCam = (Button) view.findViewById(R

2017-01-05 13:36:39 769

原创 关于Android直播那些小事-推流1

到年底了,闲暇之余学了点热门的东西,直播现在是很火的,所以我也玩玩直播,弄了个demo,准备玩一玩,这是第一篇,先说一下推流实现直播功能,陆续会有很多互动demo的功能,今天只是简单的实现一下推流可以从摄像头采集图片到View上,这里推流用的是Rtmp腾讯云的工具。1、今天只实现第一个功能直播推流效果是这样的,按钮下的功能会陆续实现2、开发前的准备工作如图具体要用到

2017-01-03 16:51:31 2033

原创 Android蓝牙Ble开发之获取心率

最近在研究Android的蓝牙Ble的开发,由于是低功耗蓝牙,以前没有接触过,看过好多博客,大多数都差不多,不过个人有一点心得关于蓝牙获取心率的。首先就是权限问题了,在AndroidMainfest清单文件中添加一下权限:这次研究开发的是mio的心率手表所以如果没有设备的大家仅供参考:1、首先 判断当前设备是否支持ble:/**         * 判断当前设备是否支持

2016-10-27 17:31:16 7478 18

原创 Android多线程并发访问网络

最近公司接入了心率设备,把心率传入到服务器,很轻松地完成了这个工作,但是由于没有压力测试的专业人员,测试的任务就落到了我的身上,没办法谁让Android开发人员是个全才呢!!先说说新的测试要求吧,要同时有不同的多个用户一起访问网络把心率传入到服务器端,那么Android怎么利用多线程来并发的访问网络呢?这个时候我们应该想到多线程的两种方法,继承Thread和实现Runnable接口。这里我用的

2016-10-19 13:57:30 6969

原创 简单封装okhttp的post方法

最近用到了OKhttp,但是由于原生方法使用步骤太多,复杂,所以自己就小小的封装了一下post请求 首先第一步当然是导入jar包了:我这用的是okhttp-2.7.5和okio-1.10.0废话不多说,看封装:package com.example.okhttpdemo;import java.io.IOException;import java.util.Map;im

2016-10-11 14:42:17 1338

原创 手把手教你Android集成第三方微信登录

最近公司要求集成第三方的微信登录功能,以前没做过,现在做完梳理下思路。  1、首先要在微信开放平台注册你的APP。获取APP的id和APPSecret。  2、然后要集成微信的sdk jar包3、创建一个和你包名一致的包例如:你的包名是com.yanglei.cn,那么你所需创建的包名就是com.yanglei.cn.wxapi,在这个包名下,我们要创建一个WXEntr

2016-09-29 17:46:54 2621

原创 Android自定义控件画笔Paint介绍

画笔Paint我们总用到,现在介绍一下API,给自己保留复习一下                Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色,       样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法,       大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。               1.图形绘制  

2016-08-18 13:30:42 2384

原创 RecycleView如何实现item的点击事件

RecycleView现在已经越来越受到大家的重视,因为他既可以代替listView还可以代替GridView,但是RecycleView本身不不像ListView那样具有setOnItemClickListener,这个关于子item的点击,但是我们往往会用到RecycleView并且希望他的自孩子可以被点击,那么如何实现他的item的点击事件呢?首先我们在RecyclerView.View

2016-08-17 09:39:58 2445

原创 Kotlin学习第一天

kotlin 中,定义变量 位置不同:在 Kotlin 中,数据类型要放到变量后面,并且用冒号(:)分隔,这 正好和 Java 相反。 > 变量和常量需要关键字:在 Kotlin 中,定义变量需要用 var 开头,定义常量需要用Kotlin val 开头。 > 数据类型首字母:在 Kotlin 中,数据类型都以大写字母开头,而在 Java...

2019-02-27 11:23:28 313

原创 教你MySQL数据库的增删改查

-- ********一、增删改数据********* ----- 1.1 增加数据-- 插入所有字段。一定依次按顺序插入INSERT INTO student VALUES(1,'张三','男',20);-- 注意不能少或多字段值-- INSERT INTO student VALUES(2,'李四','女');-- 插入部分字段INSERT INTO student(id,NAME

2017-07-19 14:14:05 597

原创 mysql 数据库入门

1.1 创建数据库create database (数据库的名字) test ; 1.2 删除数据库drop database test; 1.3 查看所有的表结构show tables; 1.4 创建表create table student[表名]( sid[字段名称] int[字段类型], sname varchar(20)[类型长度],

2017-07-19 13:58:28 479

原创 打造微信小程序联网请求的轮播图

微信小程序的轮播图和Android的轮播图一点不一样 ,这里我们看一下我们需要用到的控件介绍这里我们用到了swiper这个组件,上边的图片已经把这个组件的属性 都列出来了 我们用的时候直接用就可以了 接下来,再看一下网络请求的API,这里我们用到的是GET 请求,我们开一下微信小程序官方给我们的API 接下来就是开启我们小程序轮播图之旅了,附上一张效果图 首先,我们看一下我们

2017-06-29 11:22:31 3880

原创 微信小程序之切换页签tab

最近在自己学习微信小程序,为了印象深刻从简单到复杂给自己做一个笔记在Android中我们要做底部的标签栏 虽然不难 但是代码量还是很大的,这里我们看一下微信小程序的tab是如何实现的,首先先看图 在app.json中做配置 代码如下"tabBar": { "color": "#6e6d6b", //选中的颜色 "selectedColor": "#f9f027"

2017-06-29 10:35:15 7869

原创 微信小程序之绑定点击事件

微信小程序出来那么久了,趁着有时间自己研究一下,前阶段看一了一下,但是不允许个人注册,现在已经对个人开放了,所以爱好者们可以自己研究了。 首先,我们看一下如何添加底部的标签栏:在app.json里操作{ "pages":[ //在这里添加页面的路径 "pages/index/index", "pages/logs/logs", "pages/home/ho

2017-04-14 14:31:06 99712 5

原创 ViewPager嵌套fragment简单使用

最近在公司没有什么新的开发任务,就复习一下以前的知识,Android大多数应用都是ViewPager+fragment实现主页面的框架结构,今天就简单的介绍一下ViewPager和fragment的简单使用。首先看一下activity的布局:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://s

2017-03-31 11:37:50 3081

原创 利用SurfaceView和MediaPlayer打造一款简易的视频播放器

大家都知道Android原生的视频播放器是VideoView播放视频,现在第三方的视频播放框架也有好多,但底层都是利用SurfaceView+MediaPlayer来实现的,而Android播放原生控件VideoView就是对surfaceView和MediaPlayer的一层封装。 今天就说一下如何利用SurfaceView和MediaPlayer打造一款简易的视频播放器,播放网络视频。

2017-03-22 17:38:39 733

转载 【Android 开发】: Android 消息处理机制之一: Handler 与 Message

最近几讲内容,我们学习了Android中关于多线程的一些知识,上一讲我们讲解了异步任务 AsyncTask 的操作,Android中还提供了其他的线程操作,如Handler Message MessageQueue Looper 等模块,这些就是Android中的消息处理机制。这部分内容是Android学习过程中的重点和难点。 现在我们就来学习一下Android的消息处理,以及剖析一下相关

2017-03-02 10:52:12 406

原创 ListView多级联动

ListView联动好久没有学习了,年后一直在忙家里边的事情,感觉再不写代码,自己就不是一个合格的程序员了,所以研究了一下listview的联动。首先看一下listview联动的布局,很简单,首先是两个listview的布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.andr

2017-03-01 15:03:33 926 1

原创 Java面试知识点总结

1. Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么?booleanboolean数据类型非true即false。这个数据类型表示1 bit,但是它的大小并没有精确定义。《Java虚拟机规范》中如是说:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的bo

2016-10-21 09:41:19 293

原创 Android之连续按两次退出应用

现在大多数应用程序都有连续按两次返回键退出应用程序,那么如何实现的呢?其实很简单,废话不多少,只要在你的主界面的应用程序添加onKeyDown方法就可以实现,很简单的一个功能,所以直接上代码了://定义保存时间     private long mExitTime;    @Override    public boolean onKeyDown(int keyCode, KeyE

2016-10-17 14:51:47 411

原创 Android中的onNewIntent()牛刀小试

以前只是简单的了解一下Android的四种启动模式,而且有三个都在说onNewIntent这个函数,那么这个函数干什么的,到底怎么用呢?今天在公司需要做一个登出和直接跳过登录界面来来直接关闭程序。由于在程序的登录选择界面和主界面我的启动模式是singleTask的,所以要想直接关闭程序退出整个应用的根本退不了,相信大家看了http://blog.csdn.net/yanglei0917/art

2016-09-26 14:25:51 409

原创 Android多渠道打包apk

今天公司突然想要用到多渠道打包,大家都知道Android Studio 本身可以多渠道打包,但是很可怜的是小弟的公司还在用Eclipse啊 ,这个我还真没别的办法了,于是想到了友盟的多渠道打包工具酷传。下载地址:http://kuchuan.com/client-umeng/?spm=0.0.0.0.YZIoEa只需要按照这几步简单的就可以实现多渠道打包的apk了

2016-09-09 15:45:56 436

原创 自定义Android页签TabIndicator

现在很多应用都带有页签,随着 手势滑动来切换视图。下面我们来自定义一个页签来实现    首先,看一下自定义属性,attr.xml                接下来就是自定义的View了 这里我们自定义了LinearLayout,package com.example.tabindicator.view;import com.example.t

2016-09-08 16:19:09 1569

原创 Android之Activity的四种启动模式

每个应用程序都有一个或者多个Activity组成,因此Android内部使用通过退回栈来管理Activity实例。栈是一种先进后出的集合,对于Android来说,当前的activity就在栈顶,当用户点击后退或者点击应用上的返回按钮,系统就会将栈顶的activity出栈,此时原来栈顶下的activity就会显示在设备上。在Android系统中有4种启动模式,用户可以在清单文件中注册activity

2016-09-07 17:15:04 242

原创 Android四大组件之BroadcastRecevier

Android中的广播接收者是Android四大组件之一,广播机制是一个典型的发布—订阅模式,即观察者模式。广播机制最大的特点就是发送方并不关心接收方是否接收到数据,也不关心接收方如何处理数据,通过这样的方式来达到接收方完全解耦。Android广播机制包含三个元素,分别是用于发送广播的Broadcast,接收广播的BroadcastReceiver以及用于传递信息的intent。Andro

2016-09-01 11:14:02 447

原创 使用Gallery来实现图片的3D效果

利用Gallery自定义一个3D效果的图片列表,下面让大家看看具体实现:看看自定义的GalleryView:package com.mythou.grallery3d;import android.content.Context;import android.graphics.Camera;import android.graphics.Matrix;import an

2016-08-18 13:55:11 705

原创 Android 夜间模式的切换

现在大多数App都支持夜间模式的切换,其实不止切换夜间还能切换别颜色选择,其实切换模式并不难,下面我们看一下这个切换的demo。相信你看完这个例子一定可以轻松的掌握夜间模式可白天的切换了。下面我们看一下attrs.xml    接下来在Styles里面增加两个style白天的风格样式         @color/white           

2016-08-15 11:40:33 555

原创 利用PopupWindow和RecyclerView来实现头像的选择(在电视上选择头像)

在上两篇文章中我们都已经了解了如何在手机上进行头像选择和圆形头像的实现,但是有一点昨天晚上突然发现小弟我悲催了啊,因为我们公司做的是电视上的项目,电视上一没有图库,二没有摄像头照相,我擦这回这个头像选择功能怎么实现啊,和产品一说他说要用本地美工给的图片来给用户一个列表选择头像。那么问题来了如何不利用本地图库和在没有照相功能的电视上来做呢,于是我又写了个demo,没办法谁让程序员就是天生写dem

2016-08-12 13:47:40 1558

原创 设置圆形头像

在上一篇文章http://blog.csdn.net/yanglei0917/article/details/52180544里,写了一下关于上传头像的问题,但是上传头像默认的都比较丑,现在圆形头像很受欢迎,所以这里学习一下圆形头像的制作,其实圆形头像制作很简单;我们只需要在图片转成Bitmap的时候做一下相应的处理即可:  /**     * 展示头像     * @param

2016-08-11 15:07:09 647 1

原创 Android 实现头像上传(从手机或者相机上传头像)

最近公司在做项目的时候要求有头像上传的功能,以前没弄过,所以研究一下,写了个Demo仅供大家参考:  首先,大家要了解头像上传需要怎么做。第一。我们要选择图片或者从照相机照一张。第二,需要对头像图片进行处理,第三就是要把头像显示到ImageView上了。  先看看布局文件,特别简单    xmlns:tools="http://schemas.android.com/tools"

2016-08-11 10:49:44 2598

原创 如何在EditText中控制输入文本的长度

前几天在公司开发的产品中用到了EditText这个控件,原本这个控件不设定限制的话,他会一直的可以写好多,但是如果无限制的写会让服务器崩溃,因为数据太长所以在开发中我们应该规定一下EditText的输入长度。  下面是两种EditText的输入长度限制表示的方法方法一:可以在layout xml中加上属性android:maxLength比如:        andro

2016-08-09 09:49:27 3942

原创 Android实现计时与倒计时(限时抢购)

平常生活中我们会看到很多APP都有倒计时的功能,对于开发这而言倒计时是怎么实现的呢?其实非常简单我们只需要通过handler来发送消息就可以简单实现。下面是代码演示:在布局文件中:    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    andro

2016-08-08 15:04:02 825

空空如也

空空如也

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

TA关注的人

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