Android 在 Multidex 下使用 Instant Run

2016-04-18
阅读 3 分钟
11.6k
Instant Run是Android studio 2.0新的逆天功能,在Run和Debug的时候,只有在第一次build会花费大量的时间,之后再次Run或者Debug的时候会直接把变化的代码更新到手机,再上面生成一个新的APK直接运行,这样就能很快的显示出更改代码之后的变化,加快了开发效率和调试效率,每次更改代码50多秒的build时间还是挺浪费的。

Ubuntu安装MariaDB

2016-04-17
阅读 2 分钟
5.5k
MariaDB是MySQL的一个分支,主要是用来替换MySQL的,采用GPL授权许可,开源,完全兼容MySQL,包括API和命令行。由MySQL的创始人Michael Widenius主导开发。为什么要开发MariaDB?因为MySQL早就卖给了SUN,而SUN被甲骨文收购了,也就是说MySQL的所有权在Oracle手里。Maria是Michael Widenius女儿的名字。MariaDB的包并没有在...

使用Atom配置Golang开发环境

2016-04-13
阅读 2 分钟
20.9k
Golang作为一种新的编程语言,也有着非常多的IDE,其中个人觉得使用IntelliJ开发是一种很不错的选择,但是免费版有功能是缺失的,如果又不想付费购买专业版的,Atom就是一种不错的选择。Atom是更为先进的文本代码编辑器,是由Github打造的下一代编程开发利器,Atom是开源的,美观,各种炫酷效果,还有有各种强大的插件。A...

LeakCanary傻瓜式的内存泄露检测工具

2016-04-12
阅读 4 分钟
7.8k
在开发Android应用的过程中如果需要处理图片或者大量数据的时候,就有可能会遇到OOM(java.lang.OutOfMemoryError),一般出现最多的是在创建Bitmap上,也有可能是在内存中处理了大量的数据上。出现OOM应用会直接崩溃,即使没有出现OOM,内存使用过大的时候应用也会出现卡顿。所以内存的优化在开发Android应用时是一个比较...

使用JSPatch热修复IOS App

2016-04-12
阅读 3 分钟
8.2k
IOS App常常会遇到这种情况,线上发现一个严重bug,可能是某一个地方Crash,也可能是一个功能无法使用,这时能做的只有赶紧修复Bug然后提交app store等待漫长的审核。即使申请加急审核但是审核速度仍然不会快到那里去,即使审核完了之后,还要盼望着用户快点升级,用户不升级同样的漏洞一直存在,这种情况让开发者付出了很...

Android-构建不同环境的Apk

2016-04-09
阅读 3 分钟
4.5k
在开发Android过程中,常常需要构建不同环境的Apk,比如我们有可能会需要有三个环境 开发环境 测试环境 线上环境 三种环境对应不同的服务器地址: {代码...} 可以使用一个变量配置使用不同的环境: {代码...} 定义一个获取不同环境url的方法,默认为dev环境: {代码...} 这样可以通过设置ENV_SETTING构建不同的Apk: 开发的...

Android-Java和JavaScript相互调用

2016-04-08
阅读 3 分钟
27.4k
当前的Android开发中,会使用大量的h5(html5+css3+js),甚至出现了混合开发模式(Hybrid),使用Hybrid开发,h5页面开发效率高和移植便利性为主。但在一些地方使用h5开发的确会不太容易实现,这个时候就需要调用Java原生方法来完成,就会遇到JavasSript和Java相互调用,用Java原生方法实现那些Javascript代码不容易实现的...

Android-使用FindBugs

2016-04-06
阅读 3 分钟
8.5k
在开发Android的过程中,会出现一些比较不容易发现的Bug,比如没有对null做判断,会出现'NullPointException'的崩溃,下面的代码就会出现崩溃:

清理ios项目无用的图片资源

2016-04-03
阅读 3 分钟
5.8k
项目经过需求的变更,产品迭代,再多次的改版之后,有些不再使用的图片不一定能够及时的清理掉,这些无用的图片一方面让项目图片资源的结构更加的复杂,另一方面会导致ipa包的体积变大。 及时的清理掉不用的图片资源很有必要,在Android项目中使用Lint可以轻松的完成这个任务,而在ios上没有找到比较好的清理无用图片的...

清理无用的Android项目资源

2016-04-02
阅读 2 分钟
3.6k
项目长期的积累,就会造成部分资源不在使用,而这些资源还存在项目中没有被清理掉,这些无用资源只会占空间毫无用处。如何清理这些这些无用的资源呢?下面介绍下一个工具的使用,Andorid Lint是SDK Tools 16(ADT 16)之后提供的一个工具,可以对于Android项目的源代码进行扫描和检查,发现潜在的问题,其中的一个功能是Un...

apk包的破解与反编译

2016-03-28
阅读 2 分钟
14.5k
处于学习和研究的目的,还有为了反破解和反逆向的目的,有时候需要破解apk,关于apk包的破解,需要使用三个反编译工具: 提取资源:apktool, [链接] 反编译:dex2jar, [链接] 查看源码工具:jd-gui, [链接] 这里以开源中国的android版本为例,看下利用上面的三个工具如何进行破解和反编译apk。 apktool apk-tool是apk反编译...

beego的ORM-配置数据库

2016-03-27
阅读 2 分钟
15.5k
Object Relational Mapping ,简称ORM,用于实现面向对象编程语言里不通类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。beego是谢大神开发的一个快速开发Go应用的Http框架,一个RESTful的框架。记录下如何在beego中配置数据库,以MySql为例

Ubuntu安装Jenkins

2016-03-24
阅读 1 分钟
7.3k
在Ubuntu上安装Jenkins的持续集成环境。参考地址:[链接] 安装 下载Debian package的repository,并安装到系统中,方便安装和升级: wget -q -O - [链接] | sudo apt-key add 添加Jenkins的源到/etc/apt/sources.list: sudo sh -c 'echo deb [链接] binary/ > /etc/apt/sources.list.d/jenkins.list' 更新本地包,安装j...

CentOS 安装 Jenkins

2016-03-19
阅读 2 分钟
27.7k
Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装。记录下安装的过程,方便以后查找。需要先安装Java,如果已经Java可以跳过该步骤。

CentOS上面搭建Docker

2016-03-18
阅读 2 分钟
2.8k
在CentOS上面搭建一个Docker,不要为我为什么不用Ubuntu(因为某种我不想说的原因^_^)。 环境要求 Docker要求系统必须在CentOS 6以上,内核版本必须是2.6.32-431以上查看CentOS版本: cat /etc/issue {代码...} 查看内核版本: uname -r {代码...} 安装Docker 运行命令: yum updatesudo yum install docker-io 第一条命令...

使用Jenkins持续集成Android项目遇到的坑

2016-03-17
阅读 2 分钟
11.5k
example/bulid.gradle {代码...} Could not find property 'VERSION' on root project 'workspace'.

Jenkins持续集成Android项目

2016-03-17
阅读 3 分钟
14.1k
Jenkins是一个基于Java的开源的CI项目:[链接]。它包括持续的软件版本测试/发布,监控外部调用执行的工作等...在开发Andorid项目时,常常需要build新的APK,给内部人员或者外部人员测试使用,还有就是运行单元测试等...执行gradle assembleRelease本身又比较费时。所以借助Jenkines完成自动打包,发布的工作是一个不错的选择。

Mac OS上编译JNI的动态库

2016-03-15
阅读 2 分钟
10.9k
JNI是Java Native Interface的缩写,是为了在Java上能够调用本地语言尤其是C和c++设计的。 下面就看下如何在Mac OS上面如何使用JNI的调用C语言。 ##编写Java类 先定义一个Java类

使用Docker运行jenkins

2016-03-07
阅读 1 分钟
7.5k
Docker 是一个开源的应用容器引擎,一种虚拟化技术。Jenkins是一个开源的持续集成工具使用java开发。首先要安装Docker:[链接]安装完成之后启动docker:

MacOS上安装Docker

2016-03-07
阅读 3 分钟
7.1k
Docker引擎是基于Linux内核特性的开源应用容器。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,发布到任何流行的Linux容器上,实现虚拟化,容器运行在类似与iphone的沙盒中。在MacOs上面运行Docker先安装Docker Toolbox。

WebStorm输入html标签属性的时候不自动补全""

2016-03-05
阅读 1 分钟
22.7k
但是在react开发中或者是支持jsx语法的开发中,常常需要使用style={styles.page}这个的语法,并不是输入字符串。这样就有个超级不方便的问题,每次都需要删除""。关闭""的自动提示:在Preferences->Editor->General->Smart Keys->Add quotes for attribute value on typing '=' and attribute completion可...

用gradle自动配置百度地图Key

2016-03-01
阅读 2 分钟
5.6k
在开发中需要使用百度地图,百度地图会需要有两个key:release和debug,需要使用对应的签名证书的SHA1在百度地图的开发平台上申请([链接])。获取签名证书SHA1的方式:cd到.android所在的目录:

react-native调用Native:回调(Android)

2016-02-29
阅读 3 分钟
16.3k
在react-native中可以通过在java层自定义ReactMethod([链接]方式给JavaScript调用,这样在JavaScript层就可以直接调用Android中的Native方法.但在大部分的方法调用中,都需要知道调用方法之后的处理结果是什么,有没有出现异常等情况。JavaScript本身是事件驱动的语言,需在JavaScript中可以使用回调方法来处理函数返回...

Javascript的异步编程:Promise

2016-02-28
阅读 2 分钟
6.6k
Promise对象是CommonJS工作组为异步编程提供的统一接口,是ECMAScript6中提供了对Promise的原生支持,Promise就是在未来发生的事情,使用Promise可以避免回调函数的层层嵌套,还提供了规范更加容易的对异步操作进行控制。提供了reject,resolve,then和catch等方法。

React Native 的开发工具:Nuclide

2016-02-26
阅读 2 分钟
8.4k
做React Native开发的时候,没有一个好用的IDE,Android Studio打开Android下的项目还可以,JS部分的代码打开并不方便,xcode大家OC项目还可以,对于其他的语言也不友好。也没有一个比较好的方式运行React Natvie的服务,每次Run的时候都需要启动一个React Native的服务,这样就会降低开发的效率。还好有Nuclide,Nuclide是Face...

react-native:调用Native方法(Android)

2016-02-24
阅读 4 分钟
17.1k
有的时候我们使用React Native无法满足一些使用特定场景,这个时候就需要使用原生的Android方法,比如一些耗时的写操作,操作数据库或者多线程操作等。React Native可以直接调用系统的API(java方法),实现JavaScript与java语言的通讯,如果React Native中没有满足我们需求的Api,可以封装原生的方法提供JavaScript调用。...

ReferenceError: Can't find variable: __fbBatchedBridge

2016-02-24
阅读 1 分钟
11.9k
把react-native运行Android设备上的时候出现错误: {代码...} 解决方案:确保你的电脑和手机处于同一个wifi网络,在手机启动你的app。进入菜单页面:1.摇晃手机2.点击菜单键3.在电脑上面运行命令 adb shell input keyevent 82 选择Dev Settings 设置 Debug server host & port设置为<电脑ip>:8081返回主页面,...

react-native:环境搭建

2016-02-23
阅读 2 分钟
8k
React Native是Facebook开源的,在Javascript和React的基础上构建原生的Android和IOS应用的平台。React Native着力于提高多平台的开发效率,Learn once,write anywhere。

Meteor:路由(1)

2016-02-04
阅读 2 分钟
3.9k
Meteor本身并没有好的路由使用规则,还好有比较好用的第三方Package使用。Iron.Router就是一个比较好的Meteor的路由框架,提供了Client 和 Server的路由设置,还可以用来开发restful风格的api。

Meteor:发布与订阅

2016-02-03
阅读 3 分钟
5.2k
我们可以使用安全的方法让用户端不直接操作数据库,但是还是可以直接读取数据库内容,如果我们还需要保护私有的数据存储,在客户端直接使用Collection.find(),这样的操作方式在实际的项目中并不会使用,这样的数据无法保证私有性和安全性。如果一些数据我们并不想自动的在客户端更新,就需要自定义publish和subscribe,...