自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (3)
  • 收藏
  • 关注

原创 Flutter Android IOS 三端共用同一份配置文件

前言Flutter 是 Google 使用 Dart 语言开发的一套移动应用开发框架,介绍Flutter开发的文章已经汗牛充栋, 所以这里我们主要不是来讨论怎么去开发一个Flutter应用,而是来解决在开发过程中遇到的问题。现状环境配置在应用开发过程中, 我们往往是有很多配置的,比如开发环境,一般我们分为线上和测试,在不同的环境中链接不同的服务器,也可能根据不同的环境本地加载不同的代码,以...

2020-04-08 11:09:21 1382

原创 嵌套滚动多TAB可悬浮头效果实现

前言       在前面的文章中我们已经实现过嵌套滚动可以悬浮头效果,当时有两种实现:        1. Listview多tab上滑悬浮 一种是一个ListView里面切换数据源,同时监控页面滚动,布局页面中设置两层,一层放置悬浮头,滚动到一定位置时,显示出悬浮头        2. 多TAB可悬浮头控件还有一种是上面悬浮头部内容,底层多tab采用viewpager来实现,在viewpage

2017-12-31 18:00:45 2674 7

原创 MediaProjection与MediaRecorder实现录屏

纸上得来终觉浅,绝知此事要躬行,Android在5.0提供了MediaProjection来实现录屏,但是一直都没有尝试过,这里尝试了一下该方式进行录屏。       其实Demo已经写好很久了,但是始终有一个问题,在某些机型上会偏色,因此这里写出来看看是否有人遇到同样的问题,且希望告知解决方案。录制       这里界面上有两个按钮,一个控制录制与暂停,另外一个是播放按钮,既然是录制,当然录制完成

2017-10-30 15:42:46 2637

原创 扫脸动画

需求       现在视频应用越来越多了,这里我们希望在视频开始之前,希望用户脸部能够正对着手机屏幕,以达到更好的效果。       基于上述的需求,这里我们就需要在视频流上层叠加一个让用户正对手机屏幕的效果,要求是悬浮层具有半透明,不完全遮挡视频流,同时在界面上留出脸部的形状,让用户有参考物,最后为了更好的视觉效果,我们需要在脸部有一个扫描效果。效果图       这里我们先呈现一个视觉效果图:

2017-10-19 10:40:14 1192

原创 ShimmerTextView

产品中有一个需求,要求TextView的文字有一个高亮的效果,高亮的同时有跑马灯效果!       本来想在网上找一个现成的用用,比如Facebook出的Shimmer,还有很多,但是都感觉代码太多,因此撸了一个简单版的,talk is cheap,show me you code。实现       我们知道TextView的文字的颜色是由Paint根据Color控制的,我们可以设置Paint的Sh

2017-10-17 14:51:47 435

原创 Binary XML file line #17<vector> tag requires viewportWidth >0

[TOC]前言       近期把项目中的support包升级到了26.1.0,看起来在手机上运行的稳稳的,没翻船!之后提交,测试就报了一个bug说5.0以下的手机都不能运行了!因此就排查了问题原因。问题       首先我们复现一下问题,看看崩溃日志,崩溃日志主要有以下两个:E/VdcInflateDelegate: Exception while inflating <vector>org.x

2017-10-10 16:36:13 1810

转载 码流 | 码率 | 比特率 | 帧速率 | 分辨率 | 高清的区别

前言       现阶段由于网络,手机性能的提升,视频越来越成为一个app的标配,很多手机都有实时音视频功能的出现,音视频中有很多名词,比如码流,码率,帧率,各种各样的专有名词,网上也有很多专有文章讲解这些名词,这里转载了一篇文章,来源已经不清楚了,我看的时候已经加入了转载,主要是由于他文章的格式太差,可读性不好,就调整了一下排版格式,同时调整了部分内容的顺序。名词解释帧|场       当采样视频

2017-09-30 13:46:39 7522

原创 Android View部分消失效果实现

老需求       我们经常会有需求就是View消失的效果,这里我们说的消失往往是全部消失,我们可能采用一个alpha动画,在指定的时间内消失掉View,出现则实现相反的动画。我们一般都采用如下的实现:       采用tween动画实现:private void alphaTween() { AlphaAnimation alpha = new AlphaAnimation(1.0f, 0

2017-08-14 16:34:35 2554

原创 命令行指定的类打入单独的DEX

需求       Android有的时候有分DEX的需求,当方法数超过了66535这个数,我们就需要开启MultiDex,还有的时候我们有的部分需求是一直不会改变,那这个时候我们可以将对应的代码单独打包成DEX,可以预先放置到Assert目录下, 在需要的时候进行加载       热更新也有这样的需求,将出问题的代码单独打入一个path dex中,我们知道在加载dex到内存中时,如果不存在odex文

2017-07-20 17:24:19 1113

原创 Error: Expected resource of type raw [ResourceType]

问题       工程里面用到了将一个drawable图片当做输入流来使用:InputStream inputStream = getResources().openRawResource(R.drawable.guide1);       在debug包使用的时候是没有问题的,但是一旦打release包的时候就会打包失败,提示:Error: Expected resource of type ra

2017-07-13 15:08:32 1868

原创 Android送花动画

近期有一个需求,需要做一个送花的动画,初始点击一朵花就出现一个动画,再点一次又出现一次,就算是连击,点击多少次就出现多少次,但是感觉效果太丑,因此将连击合并在一起只更改数字。效果       这里先做一个demo,效果就是demo运行中截取的,大致效果如下:       多次连击只需要更新数字,不在需要重新出现动画,只有当动画执行完毕后,才出现下一次动画。实现       这里主要包括几个元素,一个

2017-06-18 14:36:45 1302

原创 Android拖拽动画实现

前言       在Android开发过程中,经常会遇到需要实现拖拽动画,拖拽动画的实现比较简单,可以采用多种方式来进行实现,这里主要是因为在使用过程中遇到了一种不常见的情况,因此记录一下。拖拽实现       这里我们先写一个demo来实现拖拽动画, 效果如下:       上面的效果就是最终需要实现的效果,按住可以拖动,放开手指后,向靠近的一边移动比贴边,如果是点击则处理点击事件,其实就是微信视

2017-06-18 12:37:41 4860

原创 Glide解析

前言       移动应用几乎都有图片加载的需求,很多时候需要从远程加载,有时也需要从本地加载,以前都往往是自己实现,这就需要考虑各种各样的情况,比如缓存策略,需要综合考虑内存使用,不同的图片有不同时间,不同空间的缓存策略,其次是加载策略,是原图加载,还是需要裁剪,是一次生成多种尺寸的缩略,还是不生成,有时还需要考虑网络状况来加载更小尺寸的图。加载的图片是否是gif,还需要对图片的展示进程处理。有时

2017-05-15 16:53:40 796

原创 Android TV Overscan

开发的TV应用发现在部分电视上可以显示完整,而其他部分电视显示不全,周围都会遮挡了。原因       这是因为部分老的电视有一个overscan的概览,什么叫overscan呐?官方解释如下: During the evolution of TV technology, overscan originally described an area of TV content outside of

2017-04-06 10:59:39 4432

原创 Lottie-移动动画效果框架

Lottie简介       Airbnb开源了一个名叫Lottie的动画库, 他同时支持ios, android, react_native。 Android : https://github.com/airbnb/lottie-android iOS : https://github.com/airbnb/lottie-ios React Native : https:/

2017-03-31 11:37:59 4369

原创 Sources for 'Android API 25 Platform' not found

前言       采用Android Studio开发Android工程,很多时候都需要去翻源码!很多人都应该出现过导航过去是.class,看不到源代码信息,这种情况很多人往往采用降低gradle中指定的sdk版本来解决。我也遇到了这个问题,之前sdk指定为24源代码就能查看,可是一旦指定为25就只能导航到.class,可是我本地明明已经下载了Sources for Android SDK 25,

2017-02-10 15:31:03 8986 9

原创 SVN迁移到git

前言&nbsp; &nbsp; &nbsp; &nbsp;目前同步开发有好几个项目,有的采用svn管理,有的采用git管理,一想也知道svn管理的项目都比较老,每次切换工程开发都要改变提交代码的方式。因此就打算把svn管理的项目迁移到git上,其实前面说的都不是重点,重点是svn服务器有时不稳定,所以才打算迁移到git上。迁移过程&nbsp; &nbsp; &nbsp; &nbsp...

2017-02-08 17:11:36 8751 3

原创 RecyclerView Adapter简单封装

前言       今天是新年第一天,本来打算在上一年的最后一天写下来的,但是由于玩的时间长了一点,所以今天才写,算是在新的一年开一个好头,新年新气象嘛!       至于为什么要写这个文章呐!由于项目中以前都是用ListView实现的列表,很多东西都已经习惯化了,每次都是由的新的模块或者功能才使用RecyclerView,因此一直都没有完整的总结一遍,这次也是在一个新的项目中,准备完全采用Recyc

2017-01-02 01:17:18 2440

原创 Android TextView disable颜色坑

今天在项目中发现我们有一个小细节以前运行好好的视觉效果现在不对了,应该说有一段时间不对了,只是没有关注这一个小细节,刚好今天改代码碰到他,就探究了一下,顺便把解决方案给记录一下。还原整个过程       这里我们来还原一下整个过程,我们就写一个类似的效果来复现一下整个过程,看看到底是什么原因。布局        我有如下一个TextView的布局: <TextView android

2016-11-13 20:26:44 5949

原创 React Native 集成到已有项目

前言       React Native已经出现很久了,有很多应用也在进行尝试,前面我们也讲述了怎么创建React Native工程以及怎么搭建原生语言与js的开发环境。       但是在实际应用中,很多项目都不是从零开始的,而是在已有项目中进行尝试,这就需要将React Native集成到已有项目,这里我们就来讲讲怎么集成到已有项目。需求       这里我们会用Android Studio创

2016-10-20 17:06:26 7306 2

原创 React Native JS环境搭建

前言       俗话说,工欲善其事必先利其器,在前面的 React Native for Android环境搭建文章中,我们搭建了原生语言的开发环境,发现里面有很多代码都是JS写的,开发模式从以前的单一一种语言或者同一个IDE开发变成了多种语言进行开发了,如果你已经是前端人员了,那你可能对JavaScript很熟悉了,也有很多好的开发工具,但是如果你之前没有开发过,那环境将是很重要的工具,虽然说高

2016-10-17 17:07:31 1716

原创 React Native for Android环境搭建

前言       React Native已经出来很久了,一直想学习来着,但是由于事情太多,就一直搁置搁置,近端时间在周六周日稍稍空的时候,需求池中惊坐起,再不学习就会被时代给抛弃了。还有一个原因是后续的项目也想进行尝试一下。环境搭建       React Native的开发是采用JavaScript与系统原始语言,这里我们主要来说说Android的环境搭建,如果是其他的系统,请大侠异步其他地方,

2016-10-13 17:51:15 4448

原创 Android动画之属性动画(下)

前言       前面我们已经完整的讲述了属性动画的实现,我们已经学会了怎么实现动画,如果没有属性我们也学会了怎么添加属性,还学习了用ValueAnimator来实现动画。Evaluator       这里我们来学习剩下的属性,首先我们来看看Evaluator,Evaluator是什么?他有什么用?       Evaluator翻译为求值器,或者表达式,反正只可意会不可言传,就是给一个表达式,计

2016-10-03 20:21:28 1728

原创 Android动画之属性动画(上)

前言       在前面的文章中我们讲述了Android动画之视图动画学习了怎么对一个view实现动画,可以实现动画包括平移,旋转,缩放,渐变和帧动画,这一篇我们来学习一个新的动画实现方式。属性动画为什么需要属性动画?       Android在3.0引入了属性动画,既然之前已经有属性动画了,为什么还要引入属性动画呐?视图动画不好用吗?还是视图动画不能够实现功能?随着系统的迭代更新,和设计的发展,

2016-10-03 19:08:50 1262

原创 Android开发环境搭建

前言       学习Android遇到的第一个拦路虎不是知识点的问题,而是开发环境的搭建,尤其是在国内这个环境,有点时候仅仅环境的安装就需要很久的时间,下面就给出搭建步骤,主要会介绍两个平台的搭建,windows,mac,linux在开发环境中比较少见,会稍稍带一笔。系统要求       Windows Microsoft® Windows® 7/8/10(32 位或 64 位) 最低:2GB

2016-09-27 19:48:12 547

原创 Android动画之视图动画

前言       动画在Android中是一个相当于重要的知识点,使用场景也很多,炫酷的界面效果少不了动画来提升,这里我们就先来说说Android中的动画,在说Android的动画之前,我们先来了解一下动画这个效果的通用含义。什么是动画?       我们在平常生活中,经常会遇到动画这个词,大家也不要想歪了,可不是大家理解的岛国xx片哦!,那动画究竟是什么呐?在不同的场景中,这个词的名词解释都不一样

2016-09-17 13:12:11 3075 5

原创 网易大学课程

分享几个课程资源,有兴趣的同学可以关注一下:Android课程Ios课程UI设计师交互设计师产品运营VR游戏设计师

2016-08-25 19:00:05 577

原创 Android 标题栏(二)

在前一篇文章Android标题栏(一)中我们已经讲解了一些属性,接下来我们继续讲解剩下的属性。ActionBar & Toolbar设置ActionView       我们可以在菜单中设置ActionView,比如搜索,他是一个带图标和输入框的控件,他分别有两种不同的形态,展开和折叠。接下来我们就讲讲怎么设置ActionView。        1.在menu菜单的item中设置actionVi

2016-08-20 23:17:21 1781

原创 Android 标题栏(一)

标题栏在每个应用中都有,有各种各样的标题栏,今天我们就主要来说说标题栏怎么做,主要内容涉及到自定义标题,ActionBar,Toolbar等知识。自定义标题       几年前开发安卓是没有统一的标题的,每一个页面都需要自己来布局标题,如果有多个页面标题类似,往往就统一编写出来一个布局,统一管理和处理,这里我们来看看怎么编写自定义布局标题,不采用系统提供的,因为有时候有些特定的或者特殊效果的标题,自

2016-08-20 21:01:36 12237 1

原创 Android Studio NDK/JNI开发

前言       我们在一步一步学习JNI(一)学习了怎么进行Jni开发,当时说道了怎么编写native函数,怎么进行加载,怎么进行so生成,当时的都是在eclipse下生成的。这里我们就来说说Android Studio下怎么进程开发。下载ndk       在jni开发之前,需要先下载NDK。路径如下:       下载完成后,NDK是放置在SDK下的,有一个ndk-bundle文件夹。老版本是

2016-08-13 23:05:01 803

原创 一步一步学习JNI(二)

在一步一步学习JNI(一) 文章中我们对JNI进行了初步的入门,并且也给出了一个例子,并且在各个平台怎么生成动态链接库做了讲解。在这一篇中我们进行更深入的学习。函数原型       我们在来看一下前面的样例代码。package com.sunny;public class Hello { static{ //System.loadLibrary("Hello");

2016-08-07 17:48:05 580 5

原创 Android TV开发

前言       这里主要记录几个TV问题的解决方案,如果对这个不感兴趣的其实就不用往下看了。       这几天有一个需求就是要求出一个TV版本的app,之前没有具体的了解Tv版的app有手机端的app到底有什么区别,因此就做了一下研究,写了些Demo,在做的过程中确实出现了好几个问题。一开始碰到这些问题时,浅尝辄止的试了试,发现很多都没有解决方案,本着外事问google的,search了一把,也

2016-07-10 23:46:15 14407 18

原创 一步一步学习JNI(一)

前言       本篇的主要目的就是JNI开发入门,使大家对JNI开发流程有一个大致的了解,后续再进行深入学习。       JNI不是Android特有的,JNI是Java Native Interface单词首字母的缩写,就是指用C或者C++开发的接口。JNI是JVM规范中的一部份,因此JNI程序在任何实现了JNI规范的Java虚拟机中都可以运行。       作为一个Android开发,这里不

2016-06-01 21:56:03 1026

原创 Android WebView填坑记录

前言       在应用程序开发过程中,经常会采用webview来展现某些界面,这样就可以不受发布版本控制,实时更新,遇到问题可以快速修复。       但是在Android开发中,由于Android版本分化严重,每一个版本针对webview都有部分更改,因此在开发过程中会遇到各种各样的坑,因此在此总结一下在开发过程中遇到的一些坑!样例       这里不是讲解怎么进行webview开发,而是只罗列

2016-05-28 14:37:50 16101 3

原创 Android Html解析

在前一篇 Android SpannableString浅析中我们采用html实现了文本处理的效果。当时设置部分的代码如下:private void setText() { String originText = "#重磅消息#近日谷歌放出Android N的第二个开发者预览版(Developer Preview)"; String effect1 = "<font color='

2016-05-22 18:05:20 19884

原创 Android SpannableString浅析

引言       在应用程序开发过程经常需要对文本进行处理,比如说对一段描述文字的其中一段加入点击事件,或者对其设置不一样的前景色,有什么方法可以实现要求的功能呐?需求样例       比如我们需要实现如下图所示的功能,将文本:#重磅消息#近日谷歌放出Android N的第二个开发者预览版(Developer Preview) 处理成第二种或者第三种的形式。实现方案       根据上图,我们可以采

2016-05-13 21:08:24 13089

原创 Android事件分发机制浅析

事件机制是Android中一个比较复杂且重要的知识点,比如你想自定义拦截事件,或者某系组件中嵌套了其他布局,往往会出现这样那样的事件冲突,坑爹啊!!事件主要涵盖onTouch,onClick,onTouchEvent,dispatchTouchEvent,onInterceptTouchEvent等等一系列事件,并且事件间还相互交互耦合,甚至有的事件还有返回值,一会true,一会false,什么情况

2016-05-05 16:58:29 6458 3

原创 Android前置摄像头视频录制失败(MediaRecorder: start failed: -19)

错误日志       今天遇到一个手机录制视频的错误,mx4前置摄像头不能进行录制,后置摄像头ok,错误日志如下:com.example E/MediaRecorder: start failed: -19com.example W/System.err: java.lang.RuntimeException: start failed.com.example W/System.err:

2016-04-29 15:47:01 12131 1

原创 Android应用启动界面分析(Starting Window)

我们打开一个应用程序时,会出现一个启动界面,不同的手机,启动界面不一样,甚至有的手机还会出现一段时间的黑屏,出现时间的长短与启动启动的速度有关。启动画面是什么?       我们看到了启动的画面,那显示内容是在哪儿配置的呐?它是什么? 我们在应用程序配置清单AndroidManifest.xml中的application节点配置android:theme属性,如果不配置则获取系统默认属性,在该属

2016-04-27 20:13:40 12360

原创 Android应用程序管理服务启动过程浅析(PackageManagerService)

在之前的文章中分析了应用程序的安装的过程,里面使用到了PackageManagerService,这里就来说说PackageManagerService的启动过程。启动过程       我们知道安卓应用程序的安装最终都是通过应用程序管理服务PackageManagerService来管理安装的,系统在启动时就会启动该服务,我们来看看PackageManagerService的启动过程。 系统进程

2016-04-20 12:40:59 2072

多TAB可刷新悬浮头控件

多TAB可以滑动切换,下拉可以刷新,向上滑动头部悬浮在顶部,

2015-03-22

仿Tumblr动画

仿tumblr动画,也是根据别人的仿path动画改的。只是改变成向上飞出的效果。

2013-08-27

qsort

函数名称: qsort<br><br>函数原型: void qsort(void *base, size_t nelem, size_t width, int (*fcmp)(const void *,const void *)<br><br>函数功能: 使用C.A.R.Hoare排序法对数组base进行排序<br><br>函数返回: <br><br>函数说明: base 待排序的数组,melem 数组的元素个数,width 每个元素的大小,<br> fcmp 用于对数组元素进行比较的函数指针,该函数由自己另外编写,有2个参数.<br><br>所属文件: <stdlib.h><br><br><br>

2007-08-10

空空如也

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

TA关注的人

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