自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xinyang_code的博客

记录自己的学习成长之路

  • 博客(22)
  • 收藏
  • 关注

原创 Android中集成FFmpeg及NDK基础知识

前言在日常App开发中,难免有些功能是需要借助NDK来完成的,比如现在常见的音视频处理等,今天就以ffmpeg入手,来学习下Android NDK开发的套路.JNI和NDK很多人并不清除JNI和NDK的概念,经常搞混这两样东西,先来看看它们各自的定义吧.JNI是什么 JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其...

2018-08-06 15:50:44 1991

原创 Android属性动画

动画效果在App开发中是不可或缺的重要内容,我们首选用3.0之后的属性动画来实现动画效果.概念顾名思义,属性动画就是通过改变View某些属性值而产生动画效果.通过设置好的目标值及动画时间等参数,系统会帮我们计算好某个时间对应的属性值,甚至在ViewPropertyAnimator和ObjectAnimator中会直接帮我们更新计算后的属性值.系统为我们提供了三种使用属性动画的API...

2018-08-06 15:50:02 228

原创 Android中View的测量和布局过程

一直以来只是粗略的知道View的绘制会经过measure、layout到最终的draw三个过程,但对其中详细的measure和layout过程一无所知,很影响对一些特殊场景下的布局。ViewRoot和DecorViewViewRootViewRoot对应ViewRootImpl类,它是连接WindowManager和DecorView的纽带,View的三大流程均是通过ViewR...

2018-08-06 15:49:05 575

原创 Android自定义Behavior

Behavior是CoordinatorLayout的核心,系统提供了一些实现好的效果,如ScrollingViewBehavior、BottomSheetBehavior、SwipeDismissBehavior等,但想要根据业务要求实现一些复杂的效果,还是需要掌握自定义Behavior。如何自定义Behavior自定义Behavior有两种方式,当然都需要继承Coordinator...

2018-08-06 15:47:04 634

原创 Android中ToolBar&AppbarLayout的基本使用

Toolbartoolbar使用来替代ActionBar的,更灵活,也更符合md设计规范.如何使用?替换主题为NoActionBar系列xml中加入toolbar控件activity中使用 setSupportActionBar(toolbar);替换ActionBar设置相应属性咋可使用 getSupportActionBar()来获取ActionBar实例设置tool...

2018-08-06 15:46:00 1107

原创 Hexo+Github搭建个人博客(一)

前言经常在查看技术文章时跳转到大佬们的个人博客,看起来很酷很炫。也想自己搭一个。嗯,于是有了这篇博客。基础概念个人以为,学习使用一项技术之前首先要简单了解下它的基本概念,不要一上来就干~没前戏是不行的。所以我们不妨先来看一下Hexo 和 GitHub Pages分别都是什么,通过他们是怎么来搭建个人博客的。 Hexo是什么Hexo官网上对它的定义是一个快速,简单而强大...

2018-06-17 12:44:53 170

原创 Android 普通View截图 RecyclerView截图 ScrollView截图分享

思路实际开发中经常会遇到应用内截图的相关问题,如果是普通View的话我们可以使用View的绘图缓存来获取截图,但是RecyclerView和ScrollView呢就稍微有点不同了。ScrollView还好,只有一个子View,而RecyclerView中会有itemView重用的问题,只会绘制在屏幕上显示出来的itemView,因此我们可以依次获取每个itemView的视图存储到LruCache中,

2017-12-22 22:40:56 2759

原创 Android闪屏页圆形倒计时进度条实现

前言现在我们的App中基本都会有闪屏页面,而闪屏页中大多又都会加入广告信息或者我们自己logo等宣传图片的展示,类似如下效果: 思路使用自定义View,通过View的重绘方法Invalidate()在onDraw()中不断绘制不同弧度的圆弧来改变显示进度,是不是很简单?下面就来一起看一下具体的实现啦~确定绘制位置,首先在onDraw()中获取View的宽高,定义出一个矩形为我们的绘制范围:

2017-12-15 01:15:27 1490

原创 Hibernate入门(四)之持久化对象的三种状态

持久化对象的三种状态概述Hibernate为了更好的管理持久化类,将持久化类分成了三种状态。 - 瞬时态(transient) 瞬时态也被称为临时态或自由态,瞬时态的实例是由new命令创建、开辟内存空间的对象,不存在持久化表示OID(相当于主键值),尚未与Hibernate Session关联,在数据库中也没有记录,失去引用后将被JVM回收。瞬时态在内存中是孤立存在的,与数据库中的数据无任何关联

2017-12-02 01:22:52 274

原创 Hibernate入门(三)之持久化类编写规则

什么是持久化类?Hibernate是持久层的ORM映射框架,专注于数据的持久化工作。所谓的持久化,就是将内存中的数据永久的存储到关系型数据库中。那么知道了什么是持久化,什么又是持久化类呢?其实持久化类就是一个Java类与数据库表建立了映射关系,那么这个类称为是持久化类。其实你可以简单的理解为持久化类就是一个Java类有了一个映射文件与数据库的表建立了关系。持久化类的编写规则持久化类需要提供无参构造

2017-11-30 00:04:46 472

原创 Hibernate入门(二)之相关API

Configuration 配置对象.Configuration主要用于Hibernate框架加载核心配置文件和映射文件.//这种写法会去src下读取hibernate.cfg.xml文件.默认写法Configuration conf = new Configuration().configure();//如果不想使用默认的配置文件,也可以使用指定目录下的配置文件Configuration c

2017-11-27 23:42:36 159

原创 Hibernate入门(一)之基本配置

Hibernate是什么?Hibernate是一个开源的持久层ORM(对象关系映射)框架.Hibernate能做什么?它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Jav

2017-11-26 23:26:21 198

原创 Android 国际化之多语言切换

前言android的国际化很简单,大家都知道创建对应国家编码的values文件夹就好啦。可是很多人不知道如何手动切换app的语言,而不是只能跟随系统语言变化,下面就介绍一下啦!直接贴代码吧/** * 设置当前语言 * * @param language */ private void setLanguage(String language) {

2017-06-11 22:24:47 4318 2

原创 Android_RecyclerView实现上下滚动广告条(带图片)

前言公司新项目首页有个类似京东/淘宝滚动广告条,查了一下大概都是两种实现方式,一是textview,如果只有文字的话是可行的,但我们这个上面还有个小图片,所以pass;二是两个viewGroup,使用动画交替滚动,可以实现,就是显得很麻烦,于是偷懒的我就想着用recyclerView来解决这个小问题!思路这个滚动广告条高度通常是固定的,用一个固定高度的viewGroup来包裹一个recyclerVi

2017-06-11 20:21:35 2970

原创 Android 仿去哪儿携程地址互换效果

昨天朋友项目中有个需求让我帮忙看看怎么搞,就跟去哪儿携程买机票时点中间按钮互换出发地和目的地的效果,当时一看觉得挺简单,用补间动画,在动画完成时设置给两边各textview互换值就好,做出来后发现效果不好,在最后互换值得时候会有闪烁,于是就用了一种较为麻烦的方法,不过效果是达到了,记录一下.git效果不好… 内容 简单说下思路,在点击互换按钮后:计算互换位置的需要的偏移量: 这里需要需

2017-03-03 20:01:25 2740 2

原创 Material Design 学习之Toolbar(第二行代码笔记)

概述Material Design(以下简称md)是google在2014年的 I/O大会上推出的android设计语言.15年I/O大会上推出了Design support库,这个库将md中最具代表性的一些效果和控件进行了封装,使得开发者可以更方便的来实现md设计语言.OK,开始学习吧!toolbartoolbar是用来替代actionbar的。actionbar只能固定在顶部,不能配合完成一些m

2017-02-28 19:08:16 615

原创 Android View的事件分发

概述在android中View的事件传递也算是比较核心的知识点,只有掌握了事件传递机制才能在项目中处理滑动冲突.概念 view的事件传递,首先要知道事件是什么,一般指的就是MotionEvent,我们从点击屏幕到抬起,会生成一个down、若干个move、和一个up事件(有时还有cancel),这一系列事件合在一起就是一个事件序列。事件分发的主要方法dispatchTouchEvent(); 此

2017-02-26 17:49:59 450

原创 高德地图找不到so文件的错误解决

概述之前在集成高德地图时刚开始一切正常,后来项目中加了一个图片选择的框架后地图成了白屏,一开始没注意,后来经过仔细查找才发现原因.就是找不到高德自己的so文件了. 原因 一般我们会把需要的so文件放在jniLibs目录下. android目前支持7种架构的cpu,所以一般会在jniLibs下放置几种对应cpu架构的文件夹(即使你只放一个,有些依赖的库也会使用多个). 这样就会

2017-02-25 19:47:49 2523

原创 item可拖拽的GridView实现

之前的项目中有个类似网易新闻的标签排序功能.长按某个标签后可拖动进行排序,当时用GridView实现的,今天复习总结,记录一下.概述这个效果实现起来并不难,我先说一下大体思路,随后附上代码.创建一个当前item的镜像view,并隐藏当前item,在move时更新view的layoutParams来改变镜像view的位置,同时判断当前位置的pos,如果有变化则隐藏当前位置item,让之前隐藏的item

2017-02-25 19:04:35 426

原创 Android BLE低功耗蓝牙开发

啦啦啦在上一个项目中有用到BLE低功耗蓝牙开发,当时baidu google了很多资料,但大多数都是千篇一律,英文文档我这种渣渣又看不懂。。。总之刚开始查的很痛苦。所以要把自己的踩坑之路写下来记录下,,,或许能帮到后来人呢?概念 这是低功耗蓝牙的官方文档,英文好的同学可以直接看看这个:https://developer.android.google.cn/guide/topics/connec

2017-01-24 19:08:01 1974 1

原创 Android 解决打包时提示65536问题

公司项目在打包时遇到了传说中的65536问题,如以下提示:Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]: 65536在Android中,一个Dex中存储方法id用的是short类型数据,所以我们的方法总数不能超过64K解决方法:第一步:修改主module中的build.g

2017-01-22 15:09:10 2869

原创 Android 签名打包后的APP在后台运行时按icon导致程序重启的奇葩问题解决

公司项目在完结时遇到一个问题,用正式签名打包后进行测试发现,在程序正常运行时按下home键返回桌面,此时再点击APP的icon并不会回到之前的状态,而是会从splash页开始重启程序,而从任务列表里打开APP则无此问题,在debug签名下也并没有遇到这个问题.后来查了查据说这是studio打包的bug.解决方法如下在你的启动页加入如下代码:if (!isTaskRoot()) {

2017-01-22 14:14:41 1154

空空如也

空空如也

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

TA关注的人

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