自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiangzhihong8的专栏

技术群:515980159,278792776;招聘群:188716429

原创 React Native运行原理解析

Facebook 于2015年9月15日推出react native for Android 版本, 加上2014年底已经开源的IOS版本,至此RN (react-native)真正成为跨平台的客户端框架。本篇主要是从分析代码入手,探讨一下RN在安卓平台上是如何构建一套JS的运行框架。一、 整体架...

2016-09-22 15:54:18

阅读数 43052

评论数 4

原创 RecyclerView 实现横向滚动效果

我相信很久以前,大家在谈横向图片轮播是时候,优先会选择具有HorizontalScrollView效果和ViewPager来做,不过自从Google大会之后,系统为我们提供了另一个控件RecyclerView。RecyclerView是listview之后的又一利器,它可以实现高度的定制。今天就利...

2016-09-01 18:51:53

阅读数 19149

评论数 13

原创 React Native项目组织结构介绍

代码组织:目录结构:. ├── components //组成应用的各个组件 │   ├── Routers.android.js //每个组件若实现不一样,分为android的实现和ios的实现。 │   ├── Routers.ios.js │   ├── common ...

2016-09-28 18:57:41

阅读数 8604

评论数 2

原创 Android开发模式之MVC,MVP和MVVM的简单介绍与区别

相信大家对MVC,MVP和MVVM都不陌生,作为三个最耳熟能详的Android框架,它们的应用可以是非常广泛的,但是对于一些新手来说,可能对于区分它们三个都有困难,更别说在实际的项目中应用了,有些时候想用MVP的,代码写着写着就变成了MVC,久而久之就对它们三个的选择产生了恐惧感,如果你也是这样的...

2016-09-26 16:06:20

阅读数 8130

评论数 5

原创 React Native控件只TextInput

学习React Native也有2个月了,从最开始的页面到点点击事件,到调用接口大体都会了,今天实现一个简单的登录功能。这里需要说明几点:1、组件在React Native中,默认是带一条横线的,如果想去掉输入框下面的横线,需要给指定一个underlineColorAndroid='tr...

2016-09-17 19:06:27

阅读数 6867

评论数 3

转载 React 之props属性

React 里有一个非常常用的模式就是对组件做一层抽象。组件对外公开一个简单的属性(Props)来实现功能,但内部细节可能有非常复杂的实现。可以使用 JSX 展开属性 来合并现有的 props 和其它值:return ;如果不使用 JSX,可以使用一些对象辅助方法如 ES6 的 Object.as...

2016-09-08 12:32:26

阅读数 5892

评论数 0

原创 Android的DataBinding原理介绍

Activity在inflate layout时,通过DataBindingUtil来生成绑定,从代码看,是遍历contentView得到View数组对象,然后通过数据绑定library生成对应的Binding类,含Views、变量、listeners等。生成类位于build/intermedia...

2016-09-28 11:20:59

阅读数 5454

评论数 2

原创 android dataBinding详解

官方介绍地址:http://developer.android.com/intl/zh-cn/tools/data-binding/guide.html2015 Google IO 大会带来的 Data Binding 库使得 Android 开发者可以方便的实现 MVVM 架构模式。使用Data...

2016-09-26 20:41:38

阅读数 4720

评论数 0

原创 AnimatedPathView实现自定义图片标签

老早用过小红书app,对于他们客户端笔记这块的设计非常喜欢,恰好去年在小红书的竞争对手公司,公司基于产品的考虑和产品的发展,也需要将app社交化,于是在社区分享这块多多少少参照了小红书的设计,这里面就有一个比较有意思的贴纸,标签等设计,这里用到了GpuImage的库,这个demo我也将代码开源了,...

2016-09-30 16:15:14

阅读数 3958

评论数 2

转载 react-native版本升级

时刻将React Native更新到最新的版本,可以获得更多API、视图、开发者工具以及其他一些好东西(译注:官方开发任务繁重,人手紧缺,几乎不会对旧版本提供维护支持,所以即便更新可能带来一些兼容上的变更,但建议开发者还是尽一切可能第一时间更新)。由于一个完整的React Native项目是由An...

2016-09-17 12:50:31

阅读数 2765

评论数 0

原创 Android原生嵌入React Native

1.首先集成的项目目录我使用的是直接按照react-native init Project 的格式来导入的,也就是说,我的Android项目目录是跟node_modules是在一个目录下的。我们init完项目之后,项目初始化完成了,这时候我们可以用命令react-native run-androi...

2016-09-19 20:26:58

阅读数 2623

评论数 0

原创 Android性能优化之TraceView和Lint使用详解

Android lint工具是Android studio中集成的一个代码提示工具,它主要负责对你的代码进行优化提示,包括xml和java文件,很强大。编写完代码及时进行lint测试,会让我们的代码变得非常规范而且避免代码冗余。让我们及时发现代码中隐藏的问题。lint的使用时非常简单的,我看可以用...

2016-09-02 11:40:02

阅读数 2587

评论数 0

原创 Flexbox布局指南

Flexbox布局概念Flexbox布局( Flexible Box 或CSS3 弹性布局),是CSS3中的一种新的布局模式,是可以自动调整子元素的高和宽,来很好的填充任何不同屏幕大小的显示设备中的可用显示空间,收缩内容防止内容溢出,确保元素拥有恰当的行为的布局方式。使用Flexbox来布局更容易...

2016-09-10 21:15:39

阅读数 2520

评论数 3

原创 android notification,notificationmanager详解

我们知道在使用Android的通知的时候一定会用到NotificationManager 、 Notification这两个类,这两个类的作用分别是:NotificationManager :  是状态栏通知的管理类,负责发通知、清楚通知等。Notification:状态栏通知对象,可以设置ico...

2016-09-25 11:34:08

阅读数 2506

评论数 0

原创 React Native移植原生Android

(一)前言之前已经写过了有关React Native移植原生Android项目的文章,不过因为RN版本更新的原因吧,跟着以前的文章可能会出现一些问题,对于初学者来讲还是会有很多疑难的困惑的,而且官方的文档移植没有更新,最新版本集成方法已经发生很大变化啦~OK,今天我们用新版本进行走一遍流程,具体原...

2016-09-27 19:31:56

阅读数 2496

评论数 3

原创 BottomSheet底部动作条使用

底部动作条底部动作条(Bottom Sheets)是一个从屏幕底部边缘向上滑出的一个面板,使用这种方式向用户呈现一组功能。底部动作条呈现了简单、清晰、无需额外解释的一组操作。使用环境底部动作条(Bottom Sheets)特别适合有三个或者三个以上的操作需要提供给用户选择、并且不需要对操作有额外解...

2016-09-04 22:21:26

阅读数 2394

评论数 0

转载 React Native调试心得

在做React Native开发时,少不了的需要对React Native程序进行调试。调试程序是每一位开发者的基本功,高效的调试不仅能提高开发效率,也能降低Bug率。本文将向大家分享React Native程序调试的一些技巧和心得。Developer MenuDeveloper Menu是Rea...

2016-09-17 18:41:20

阅读数 2344

评论数 0

原创 Android 仿百合网超火爆社交app首页滑动效果

探探,百合网等神器的首页有一个相册加载个控件,通过左滑右滑加载新的照片,同时左滑丢弃这个照片,右滑则表明对这个照片感兴趣。这个效果是怎么实现的呢?1,Android3.0以后控件中增加了setTranslationX,setTranslationY方法,用于控件沿X,Y轴移动。其原点是相对于控件开...

2016-09-03 22:47:30

阅读数 2319

评论数 0

翻译 React Native之Navigator

移动应用很少只包含一个页面。从你添加第二个页面开始,就得考虑如何管理多个页面间的跳转了。导航器正是为此而生。它可以管理多个页面间的跳转,也包含了一些常见的过渡动画,包括水平翻页、垂直弹出等等。NavigatorReact Native目前有几个内置的导航器组件,一般来说我们首推Navigator。...

2016-09-22 16:31:03

阅读数 2290

评论数 0

原创 记一个SwipeMenuListView侧滑删除错乱的Bug

做侧滑删除网上有很多方案,比如重写Listview实现滑动的监听,今天说下一个SwipeListView,这个是之前一个朋友在网上开源的一个封装组件,能够适用于多种情况,项目地址:https://github.com/baoyongzhang/SwipeMenuListView,我也采用了拿来主义...

2016-09-23 21:14:07

阅读数 2138

评论数 4

转载 React Native学习指南

React-Native学习指南字数2059 阅读1142 评论0 喜欢7本指南汇集React-Native各类学习资源,给大家提供便利。指南正在不断的更新,大家有好的资源欢迎Pull Requests!同时还有Awesome React-Native系列https://github.com/jo...

2016-09-01 12:37:07

阅读数 1879

评论数 0

原创 老司机带你玩转web service

当大型需求被数个公司分割开来,各公司系统相互交换数据的问题就会接踵而来。毕竟是多家不同的公司的产品,研发开发语言、采用技术框架基本上是百花齐放。怎样让自家系统提供的服务具有跨平台、跨语言、跨各种防火墙,让其他公司的研发用起来没障碍和爽呢?进过前期的技术调研和实践,最终将目光放在了轻量级 webSe...

2016-09-10 13:58:22

阅读数 1863

评论数 2

转载 Android Wear开发

Android Wear从2014年3月发布到现在已经从1.0发展到2.0(目前还没正式发布)。其产品定位也发化了巨大变化,因为Android Wear 1.0通讯方式只有蓝牙,限定了系统,比较依赖手机。比如:重新连接新的手机,手表端会删除所有安装的应用,重新同步新手机的应用到手表。所有应用更新,...

2016-09-06 14:01:21

阅读数 1821

评论数 0

原创 android的Drawable详解

Drawable简介Drawable有很多种,用来表示一种图像的概念,但他们又不完全是图像,他们是用过颜色构建出来的各种图像的表现形式。Drawable一般都是通过xml来定义的 ,当然我们也可以通过代码来创建,Drawable是一个抽象的类,是所以Drawable的基类,每个具体的Drawabl...

2016-09-16 21:17:44

阅读数 1699

评论数 0

原创 React Native控件之Listview

ListView组件用于显示一个垂直的滚动列表,其中的元素之间结构近似而仅数据不同。ListView更适于长列表数据,且元素个数可以增删。和ScrollView不同的是,ListView并不立即渲染所有元素,而是优先渲染屏幕上可见的元素。ListView组件必须的两个属性是dataSource和r...

2016-09-19 10:02:34

阅读数 1696

评论数 0

原创 Hibernate入门

Hibernate是什么    Hibernate是一个轻量级的ORMapping框架    ORMapping原理(Object Relational Mapping)  ORMapping基本对应规则:1:类跟表相对应2:类的属性跟表的字段相对应3:类的实例与表中具体的一条记录相对应4:一个类...

2016-09-10 20:01:40

阅读数 1545

评论数 0

原创 打包自己的aar库

在比较大的 Android 项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,但是如果通过include的方式来引入第三方库的时候,第一次编译会特别慢,所以Android在V7版本之后为我们添加了一种添加aar的方案,其实说白了...

2016-09-21 21:05:52

阅读数 1491

评论数 0

原创 命令模式

命令模式定义将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。作用命令模式主要应用于将行为调用者与实现者解耦。讲发出请求和执行对象分开来。例如:比如我们以前惯用的写代码的方式是LogicProcess logic = new Logi...

2016-09-07 22:21:15

阅读数 1444

评论数 0

原创 Android 6.0 运行时权限处理问题

序自从升级到Android M以来,最大的改变就是增加了运行时权限RuntimePermission,6.0以上的系统如果没有做适配,运行了targetSDK=23的App时就会报权限错误。我们知道6.0以下的系统是按照的时候权限申请的,6.0和之后的版本是我们想要使用某个app的权限,去动态申请...

2016-09-11 19:28:32

阅读数 1346

评论数 0

转载 android studio编译慢的问题

1.修改android studio的使用堆内存,根据自己电脑的内存,尽量设置的大一点,点击help->如下图:   2.接下来设置使用离线gradle构建,一开始就是使用了内置的默认路径gradle,勾选offline这个选项,编译的速度快的不止一点点,在.gradle的离线位置,建立一个...

2016-09-08 19:10:55

阅读数 1245

评论数 0

转载 Java 8新特性

编者注:Java 8已经公布有一段时间了,种种迹象表明Java 8是一个有重大改变的发行版。在Java Code Geeks上已经有大量的关于Java 8 的教程了,像玩转Java 8——lambda与并发,Java 8 Date Time API 教程: LocalDateTime和在Java ...

2016-09-17 14:07:56

阅读数 1147

评论数 0

原创 迭代器模式

迭代器模式(Iterator): 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。用途:在软件构建过程中,集合对象内部结构常常变化各异。但对于这些集合对象,我们希望在不暴露其内部结构的同时,可以让外部客户代码透明地访问其中包含的元素;同时这种“透明遍历”也为“ 同一种算法在多...

2016-09-03 10:54:14

阅读数 1094

评论数 0

转载 ECMAScript 6之变量的解构赋值

1,数组的解构赋值基本用法ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。var a = 1; var b = 2; var c = 3; ES6允许写成下面这样。var [a, b, c] = [1, 2...

2016-09-05 21:57:23

阅读数 1053

评论数 0

原创 Spring boot之hello word

环境准备一个称手的IDE(首选Myeclipse,也可以选Eclipse)Java环境(JDK 1.7或以上版本)Maven 3.0+(Eclipse和Idea IntelliJ内置,如果使用IDE并且不使用命令行工具可以不安装)一个最简单的Web应用使用Spring Boot框架可以大大加速We...

2016-09-15 11:00:06

阅读数 1008

评论数 0

转载 flexbox基本原理

新版的flexbox规范分两部分:一部分是container,一部分是 items。flexbox是一整套布局规范,包含了多个css属性,所以学习起来比`float: left;` 这样简单的布局要复杂很多。基本原理容器上有 主轴和纵轴的概念,默认主轴(main-axis)是横向,从左到右,纵轴是...

2016-09-10 21:04:09

阅读数 881

评论数 0

原创 SwipeListView实现仿ios的侧滑

github地址:https://github.com/xiangzhihong/SwipeMenuListView今天介绍一个SwipeMenuListView实现侧滑删除的例子,其实和listview的用法一样,就是多了创建删除等view的步骤,然后通过addview添加到父布局中。效果如果:...

2016-09-05 11:50:00

阅读数 748

评论数 0

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