自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 资源 (11)
  • 收藏
  • 关注

原创 ScrollView嵌套RecyclerView,RecyclerView总是把它上面的控件顶出页面

ScrollView嵌套RecyclerView,当我离开当前页面,然后又回来时,RecyclerView就会把它上边的控件都挤出页面,它显示在页面最上边。原因应该是RecyclerView抢了焦点,只需要把ScrollView中最上边的那个控件加上几句代码就可以解决这个问题。android:focusable=“true”android:focusableInTouchMode=“true...

2018-12-03 14:26:29 259

原创 H5调用手机相册 在vivo手机不显示

需要注意的事,上传的给图片的路径必须是Uri格式,在实际测试中发现,大部分手机能识别file开头的uri,但有少部分手机,如魅族,vivo不识别该种uri格式,只识别content开头的uri,因此,需要做兼容处理,调用的系统图库,默认返回的uri为content开头,兼容较好,自定义图库则为file开头。将file开头转换成content开头public static Uri g

2017-09-26 14:20:06 4991

原创 Android 6.0 运行时权限

什么时候需要考虑运行时权限运行时权限是Android6.0推出的安全机制,当你的app运行在 Android 6.0 及以上设备上,使用危险权限(下面介绍)的时候。既targetSdkVersion >= 23(关于targetSdkVersion可以看看http://blog.csdn.net/qq_27280457/article/details/53541033)如果你的app应用

2017-09-26 13:52:08 366

原创 Android 6.0 运行时权限

什么时候需要考虑运行时权限运行时权限是Android6.0推出的安全机制,当你的app运行在 Android 6.0 及以上设备上,使用危险权限(下面介绍)的时候。既targetSdkVersion >= 23(关于targetSdkVersion可以看看http://blog.csdn.net/qq_27280457/article/details/53541033)如果你的app应用到运行时权

2017-06-23 14:26:14 437

转载 ScrollView嵌套RecyclerView,RecyclerView总是把它上面的控件顶出页面

ScrollView嵌套RecyclerView,当我离开当前页面,然后又回来时,RecyclerView就会把它上边的控件都挤出页面,它显示在页面最上边。原因应该是RecyclerView抢了焦点,只需要把ScrollView中最上边的那个控件加上几句代码就可以解决这个问题。 android:focusable="true" android:focusableInTouchMode

2017-05-31 13:25:52 313

转载 你真的了解 Instant Run 吗?

原文地址:http://www.tuicool.com/articles/YraYVnA什么是Instant Run?我们都知道,Android Studio功能非常强大,在各个功能性方面都要优于Eclipse,唯独在速度方面被吐糟得比较惨。Android Studio团队为此也是做了很多的优化,在Android Studio 2.0中,对速度方面进行了大幅度的改进:

2017-05-09 09:25:11 537

原创 RecyclerView的点击事件

方法一:利用View.onClickListener及onLongClickListener利用了java回调机制,这里我们依赖于子Item View的onClickListener及onLongClickListener。首先对MyAdapter.java代码做出如下修改:①新建两个内部接口: public interface OnItemClickListener{

2017-05-05 16:18:53 864 1

原创 RecyclerView(ScrollView嵌套,添加HeardView、FootView)

ScrollView里面嵌套RecylerView我们的recyclerView有多个layoutmanager,通过重写layoutmanager的方法就可以让recyclerView和ScrollView嵌套了在应用的时候 recyclerView.setNestedScrollingEnabled(false);//让RecyclerView不可以滑动LinearLayoutManager

2017-05-05 09:39:19 680

原创 RecyclerView(入门)

一、简介Android5.0 v7扩展包之RecyclerViewRecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。二、简单实现步骤1.添加依赖compile 'com.android.support:recyclerview-v7:25.3.

2017-04-28 10:44:35 370

原创 ApplicationId与PackageName的区别

在android开发中,应用包名应用的唯一标示在没有采用Gradle构建系统之前,包名是通过AndroidManifest.xml中的package属性标识的,如下所示:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.XXXX.app.XXX">在ecli

2017-04-24 11:09:02 1219

转载 android studio下的NDK开发详解(一)

好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好。学了一年多的硬件,现在来做Android,不知道是对是错,跟着感觉走,开始总是想把android和硬件挂上勾,所以第一个android应用写的是关于蓝牙的。现在学习NDK开发,有时说得也是JNI开发。那为什么要学习JNI,JNI会学习到比较底层的东西,Java可以实现上层应用的开发,但是不能写底层驱动,有些android项目必

2017-03-10 11:37:08 658

转载 一键打包出多个不同包名,不同应用名称和图标的APK

此Demo的原理与多渠道打包的原理相同(动态设定App名称,应用图标,替换常量,更改包名,变更渠道)最近有一个需求,就是一套代码要根据不同的客户打包出不同包名,不同appName,图标的apk,如果一个客户更改一次打包出一个apk的话效率非常的低,并且不利于维护本demo的软件环境是AS,ES现在已经逐渐被AS取代,所以后期都会转向AS开发 主要工作就是修改moudle中的build.grad

2017-01-09 15:49:37 10687 2

原创 新手引导库详解

工作原理首先我们通过GuideBuilder来构造,这个时候我们构造的时候参数通过Configuration来保存;构造完后,我们调用createGuide()来获得Guide,传过去的是我们设置的Configuration和监听对象OnVisibilityChangedListener、Component;我们获得Guide对象后,调用show()方法,这个时候才是真正的绘制(MaskView

2017-01-04 16:39:34 1335

原创 Android Studio 打正式包

第一步:第二步:第三步:第四步:第五步:

2017-01-03 10:22:46 6742

原创 RxJava 详解

RxJava 到底是什么一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。Rxjava的看起来很想设计模式中的观察者模式,但是有一点明显不同,那就是如果一个Observerble没有任何的的

2016-12-28 09:54:44 498

原创 Retrofit使用详解

介绍Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的本文全部是在Retrofit2.0+版本基础上论述引用Gradle :compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'Maven :<dependency> <groupId>com.squareup.ret

2016-12-28 09:54:12 686

原创 OkHttp完全解析(三)

Cache-Control:Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中 的缓存处理过程。请求时的缓存指令有下几种:Public指示响应可被任何缓存区缓存。Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息 对于其

2016-12-28 09:53:53 731

原创 OkHttp完全解析(二)

文件上传和下载不带参数上传文件/** * 上传文件 * @param actionUrl 接口地址 * @param filePath 本地文件地址 */public <T> void upLoadFile(String actionUrl, String filePath, final ReqCallBack<T> callBack) { //补全请求地址 String

2016-12-28 09:53:33 434

原创 OkHttp完全解析(一)

okHttp介绍:OkHttp是一个相对成熟的解决方案,据说Android4.4的源码中可以看到HttpURLConnection已经替换成OkHttp实现了,所以决定选择采用okhttp。官网地址:http://square.github.io/okhttp/官方API地址:http://m.blog.csdn.net/article/details?id=50747352github源码

2016-12-28 09:52:51 699

原创 Android Preference详解

介绍代表着一种基本的Preference的UI构件当指定使用XML的层次架构的时候,每一个元素都是preference的子类,跟视图的层次跟布局类似这个类中包含一个Key值,这个key值跟SharedPreference的存储键有关系(自己能够储存用户的行为偏好)Android系统会将Preference元素的值存储在sharedPreference文件中。该文件存放路径位于DDMS视图下的

2016-12-16 15:49:32 1103

原创 ThumbnailUtils

介绍ThumbnailUtils类,此类位于android.media包下,此类有一个公有的无参构造函数,有三个静态的公有方法,一个用来获取视频第一帧得到的Bitmap,另外两个方法用来对图片进行缩略处理。1.无参的构造函数:ThumbnailUtils()2.三个静态的公有方法: (1).创建一个视频缩略图的方法:public static Bitmap createVideoThumb

2016-12-14 11:19:23 1313

原创 WindowManager详解

WindowManager介绍WindowManager是Android中一个重要的Service,是全局且唯一的。WindowManager继承自ViewManager。WindowManager主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。Android中真正展示给用户的是window和view,activity所起的作用主要是处理一些逻辑问题,比如

2016-12-14 11:18:50 814

原创 compileSdkVersion, minSdkVersion 和 targetSdkVersion详解

API levelAPI level是一个整数,它指的是我们使用的框架(Framework)的版本,也就是我们使用的sdk中的各个平台下的android.jar。但是这个API level又和Android系统的版本有着对应关系,并且每个系统都会在内部记录它所使用的API level。https://developer.android.com/guide/topics/manifest/uses

2016-12-09 16:34:05 19558

原创 Android Studio 单元测试与模拟测试详解

测试的分类单元测试位于:module-name/src/test/java/.这些测试运行在本地JVM和没有访问Android框架api功能设置环境:您还需要为您的项目配置测试依赖使用标准api提供的JUnit 4的框架。如果您的测试需要与Android依赖关系,包括当地Mockito(详解见文章的下面内容)库来简化你的单元测试。在你的应用程序的顶层。gradle文件时,您需要指定这些库的依

2016-12-07 16:55:28 1841

原创 Android_选项卡

TabHost和FragmentTabHostTabHost命名空间: android.widget.TabHost初始化函数(必须在addTab之前调用): setup(); 包含两个子元素: 1.Tab标签容器TabWidget(@android:id/tabs) 2.Tab内容容器FrameLayout(@android:id/tabcontent)Fra

2016-12-06 11:36:01 529

转载 Android 自定义控件:打造流布局实现热门搜索标签

最终实现后的效果:具体实现1,自定义一个类继承GridView/** * 自定义流布局 * @author zhouyou */public class ZFlowLayout extends ViewGroup{ // 存储所有子View private List> mAllChildViews = new ArrayList<>();

2016-12-05 11:05:21 610

原创 AppCompatActivity

AppCompatActivity介绍在API22之前我们使用标题栏基本都是在ActionBarActivity的Activity中处理的,而API22之后,谷歌遗弃了ActionBarActivity,推荐我们也可以说是强制我们使用AppCompatActivity。AppCompatActivity与Toolbar结合其实我们并不是要使用AppCompatActivity自带的标题栏,那样扩

2016-12-02 16:36:09 1590 1

原创 C语言基础006

结构体结构体类型的定义:结构体是由C语言中的基本数据类型构成的、并用一个标识符来命名的各种变量的组合,其中可以使用不同的数据类型。结构体类型的定义Struct结构体名{ 类型标识符1 成员名1;类型标识符2 成员名2;……类型标识符n 成员名n;};Struct结构体名——结构体类型名关于结构体类型的说明:(1)“struct 结构体名”是一个类型名,它和

2016-10-08 09:24:52 646

原创 C语言基础005

指针是什么指针:一个变量的地址指针变量:一个变量专门用来存放另一个变量的地址(即指针)指针变量存放地址的变量例子:#include<stdio.h>int main(){ int a=100,b=10;//定义整型变量并且初始化 int *pointer_1,*pointer_2;//定义指向整型数据的指针变量 pointer_1,pointer_2 pointer

2016-10-08 09:24:14 598

原创 C语言基础004

C语句的作用和分类控制语句 函数调用语句由一个函数调用加一个分号构成例如:printf("haha");表达式语句由一个表达式加一个分号构成(比如赋值语句)空语句只有一个分号复合语句用{}把一些语句和声明括起来成为复合语句(又称语句块)C语言结构选择:1.if(表达式) 语句;2.if(表达式) 语句1; else 语句2;3. if(表达

2016-10-08 09:23:50 489

原创 C语言基础003

数据类型1、变量:官方定义:程序执行过程中,其值可以改变的数据称之为变量。变量包括三个非常重要的属性:变脸名、变量值、变量在内存中的地址a、变量名:用标识符命名,对应一定数量的内存存储单元,其单元数据视变量类型而定,用来访问对应数据的最重要途经。标识符:符合一定命名规则的字符串序列b、变量值:暂存在变量对应存储单元的数据,可进行数据的保存及后续计算。c、变量在内存中的地址:当我们在程序中

2016-10-08 09:23:07 547

原创 C语言基础002

运行环境windows:windows是大家最熟悉的平台,使用起来最得心应手,windows开发C语言也是大家入手最快的,windows下最常见的一些开发环境如下:1、Turbo C Turbo C是美国Borland公司的产品,主要版本有:2.0\3.0\tc for win等,是学生党们听说过的最多版本,现在基本上没人用了2、Visual C++ 6.0(vc6.0)经典中的经典,如果x

2016-10-08 09:22:35 473

原创 C语言基础001

1、C语言的起源1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。 意思是将CPL语言煮干,提炼出

2016-10-08 09:21:28 410

原创 PVS实战02

搭建游戏架子GameCotroller 游戏开始后的控制类FightLine 把一行的操作 抽取出来 每一行可以添加僵尸 安放植物 僵尸攻击植物 植物攻击僵尸游戏开始 public void stratGame(CCTMXTiledMap map, List<ShowPlant> selectPlants){ this.map = map; this.selectPlants =

2016-09-19 15:55:47 576

原创 PVZ实战01

logo的显示private void logo() { CCSprite logoSprite=CCSprite.sprite("image/popcap_logo.png"); //设置坐标位置 位于手机屏幕的中央 logoSprite.setPosition(cGSize.width/2,cGSize.height/2); //添加到图层 this.ad

2016-09-18 11:25:08 690

原创 游戏开发入门03

地图的制作工具:tiled步骤:1.新建——指定宽度和高度——显示网格2.讲拾取的图片拖到图块图层——拾取(进行填充背景)——拾取填充道路3.讲地图保存——notepad打开——讲引入的图片的绝对路径改成相对路径(把中文改成英文)4.图层——添加对象层(rode名字)5.插入对象(将路按顺序点出来)新建的地图用notepad打开<?xml version="1.0" encoding=

2016-09-12 15:17:05 390

原创 Android支付宝支付

接入流程及说明官方地址:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.erBW90&treeId=59&articleId=103657&docType=1接入前准备阶段1.商户签约审核(一般是公司的运营人员来做,生成PID)https://doc.open.alipay.com/doc2/detail.htm?tre

2016-08-31 14:58:44 1244

原创 Android微信支付

支付接入流程官方文档https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5项目的应用(AppRegister有什么用?求指导)1.导入jar包https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&

2016-08-30 15:18:39 1553

原创 游戏开发入门02

CCAction对于一个游戏来说,动作是非常重要的,好的动作可以使游戏的可玩性大大提高,在cocos2d引擎中有一个动作类,CCAction是动作类的基类,动作是定义在节点(CCNode)上的,以节点为目标,主要分为两类瞬时动作和延时动作 CCIntervalAction(延时动作)Cocos2d提供的基本延时类动作都提供了ActionTo和ActionBy两种(七种) :ActionTo是

2016-08-25 15:08:33 457

原创 事件分发机制的详解及源码分析

事件分发机制详解MotionEvent 主要分为以下几个事件类型:ACTION_DOWN 手指开始触摸到屏幕的那一刻响应的是DOWN事件ACTION_MOVE 接着手指在屏幕上移动响应的是MOVE事件ACTION_UP 手指从屏幕上松开的那一刻响应的是UP事件所以事件顺序是: ACTION_DOWN -> ACTION_MOVE -> ACTION_UP事件分发机制的三个主要方法:publi

2016-08-23 15:53:16 1395

Android 一款安卓弹框封装框架

一款安卓弹框框架的封装,适配各种格式和数据

2018-11-30

Android 6.0运行时权限

android 运行时权限

2017-06-23

新手引导页面实现

新手引导页面实现

2017-01-04

安卓选项卡

安卓选项卡详解

2016-12-06

自定义控件 热门搜索标签

自定义控件 热门搜索标签

2016-12-05

AppCompatActivity

AppCompatActivity

2016-12-02

植物大战僵尸demo

植物大战僵尸的源码,仅仅写了一个植物

2016-09-19

游侠开发 简单李子

游戏开发的一个简单的小李子

2016-09-12

游戏开发代码02

游戏开发 cocos2d api

2016-08-25

游戏开发代码

游戏开发的代码

2016-08-19

类股票列表联动

需要的自取

2016-06-14

空空如也

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

TA关注的人

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