自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android 自定义构建类型 BuildType

最近接触到自定义构建类型 BuildType,发现这一块有些地方稍不注意的话会被绕进去浪费点时间,既然我这边已经花费时间了,如果正好你也需要接触到 BuildType,也许接下来分享的 tips 可能会帮你节省些时间。缘起BuildType 相信许多开发者都不陌生,很常见的一种使用场景是线上、线下的后台接口 BaseUrl 不同,许多人会选择在 build.gradle 文件的 buildTypes

2017-12-21 00:24:18 7502 3

原创 Jenkins 持续集成实现 Android 自动化打包

打 debug 包流程: 1. git pull 分支最新代码 2. Android Studio:Build - Generate Signed APK从 IDE 里可以看到,实际上该操作是执行了 assembleDebug,在打包完成后再将编译目录下的 apk 包安装到调试的手机上并运行。拷贝了工作目录下 app/build/outputs/apk 文件夹下的 apk 安装包交付测试显而

2017-10-30 15:38:27 837

原创 Android 沉浸式状态栏的实现

一提到沉浸式状态栏,第一个浮现在脑海里的词就是“碎片化”。碎片化是让 Android 开发者很头疼的问题,相信没有哪位开发者会不喜欢“write once, run anywhere”的感觉,碎片化让我们不得不耗费精力去校验代码在各个系统版本、各个机型上是否有效。因此以前我一直把沉浸式状态栏看作一块难啃的骨头,但是该面对的问题迟早还是要面对,所以,不如就此开始吧。沉浸式状态栏的实现方法一:通过设置

2017-10-30 15:37:50 2534

原创 JIRA 知多少:聊一聊 Android Studio 、工作流相关设置

Android Studio 相关配置 JIRA 服务器如果细心的话会发现有一个选项卡:Commit Message。这一段代码是不是有点熟悉呢?你没有猜错,这段代码就是 commit 模板,当你切换 task 后在git commit 时会自动将任务的id 和 简介配置到 commit 信息里。切换到某个 JIRA 任务点击工具栏上的 Default task ,下方显示的是最近打开的任务。点击

2017-10-30 15:37:24 847 1

原创 Mac 上使用 Shell 脚本 + adb shell 实现简单的 Android 模拟点击自动化测试

需求在 A 界面,点击跳转到 B 界面(该界面会执行一些业务),再点击返回键出现 Dialog 弹窗,点击确认退出按钮,返回 A 界面。不断循环。思路一开始想到的就是按键精灵,下了 mac 版使用后发现功能太不完善,于是试了试 Windows 版,实在是操作不习惯。在搜索资料过程中了解到还可以使用 adb 来实现模拟设备操作,那肯定是写代码更顺手啊,配合使用脚本重复输入命令,就能实现简单的自动化重复

2017-10-30 15:36:40 6638

原创 [译] 使用 Espresso 隔离测试视图

原文地址:Testing Views in Isolation with Espresso 原文作者:Ataul Munim 译文出自:掘金翻译计划 译者:yazhi1992 校对者:lovexiaov, Phoenix 使用 Espresso 隔离测试视图在这篇文章里,我将会告诉你为何并且如何使用 Espresso 在 Android 设备上测试你的自定义视图。你可以使用 E

2017-10-30 15:36:20 281

原创 Android 自定义控件demo集合

各种写着玩的自定义控件demo有时网上看到一些比较有意思的开源项目,有时间的话就会自己也撸一个出来,但是一般只关注实现样式、动画等,不会太去细致完整地完成,俗称占个坑~持续更新中…

2017-10-30 15:35:54 420

原创 ConstraintLayout 学习笔记

ConstraintLayout 学习笔记

2017-10-30 15:35:02 352

原创 [译] ConstraintLayout 可视化[Design]编辑器(这到底是什么)[第四部分]

ConstraintLayout 可视化[Design]编辑器

2017-10-30 15:34:03 1158

原创 《Effective Java》读书笔记

创建和销毁对象静态工厂模式构造器里未传参的成员不会被初始化。int类型是0,布尔类型是false,String类型是null,List<>也是null重叠构造器进阶1:javabean模式,使用set方法来初始化成员,缺点是构造过程中javabean可能处于不一致状态(可以理解成该模式下成员的设置的分步进行的,可能某处使用到该类的某个成员时其还未被初始化),并且该模式阻止了把类变成不可能的可能

2017-01-28 16:15:54 1445

原创 App Shortcuts 快捷方式 Android7.1 的"3D Touch"

Hello shortcuts从Android7.1(API level25)开始,开发者可以为自己的app定制shortcuts。shortcuts使用户更便捷、快速的使用app。我个人感觉有点像ios的压力感应,但是我认为Google的shortcuts动画做的更好看:)

2017-01-10 23:02:32 1753

原创 Fresco 二三事:图片处理之旋转、缩放、裁剪切割图片

关于Fresco加载图片的处理,例如旋转、裁剪切割图片,在官方文档也都有提到,只是感觉写的不太详细,正好最近项目里有类似需求,所以分享一些使用小tip,后面的朋友就不用再走弯路浪费时间了。

2016-12-03 13:24:05 5838

原创 React Native Android(一)环境搭建

因为工作需要,最近正在学习React Native Android。温故而知新,把学习的内容记录下来巩固一下知识,也给有需要的人一些帮助。对程序员来说,入门的第一课毫无疑问就是搭建环境。

2016-10-29 13:18:20 1491

原创 Kotlin简单使用手册

在昨天和做android的前辈一番交谈后,觉得很惭愧,许多东西还只是知其然而不知其所以然,也深感自己的技术还太浅薄。以后要更加努力地学习,要着重学习原理、方法论,不能只停留在会用的阶段。 今天又要献丑分享一些关于使用Kotlin这门新兴的编程语言的一些要注意的地方。因为上一个项目全部使用了kotlin,算是给后面接手的朋友的一份交接文档吧。

2016-07-15 09:31:16 15453 6

原创 Adnroid源码学习笔记:Handler 线程间通讯

常见的线程间通讯一般用于在子线程更新UI。在主线程创建一个handler,重写handlermessage方法,然后在子线程里发送消息,主线程里就会接受到消息。这就是简单的线程间通讯。如果在子线程创建handler对象则会报错。根据Log提示,子线程创建handler需要调用Looper.prepare()

2016-06-29 15:26:42 753

原创 Hello Python!用python写一个抓取CSDN博客文章的简单爬虫

网络上一提到python,总会有一些不知道是黑还是粉的人大喊着:python是世界上最好的语言。最近利用业余时间体验了下python语言,并写了个爬虫爬取我csdn上关注的几个大神的博客,然后利用leancloud一站式后端云服务器存储数据,再写了一个android app展示数据,也算小试了一下这门语言,给我的感觉就是,像python这类弱类型的动态语言相比于java来说,开发者不需要分太多心去考

2016-06-25 00:14:59 11086 4

原创 eclipse再见,android studio 新手入门教程(三)Github(.ignore忽略规则)的使用

上传代码到githubandroid studio里集成了上传代码到github的功能,所以使用上还是很简单的,设置里添加账号并测试,之后就可以很方便地上传代码到github了如果你的项目是使用android studio新建的,那么关于github基本就没什么问题了。android studio新建项目是自带.ignore文件的,也就是说默认是使用了忽略规则上传。默认忽略的是*.iml.grad

2016-05-25 13:50:35 2774

原创 第一个开源控件:Google官方下拉刷新控件SwipeRefreshLayout强化版,支持上拉刷新

最近比较闲,所以趁着这时间撸了个SwipeRefreshLayout的加强版,Github地址。原版只支持下拉刷新,强化之后支持上拉刷新和一进入页面就加载刷新,整个控件的加载动画是一致的,毫无违和感:),也算是为开源社区尽了点绵薄之力啦。 很惭愧,就做了一点微小的工作,谢谢大家。

2016-04-22 08:49:33 766

原创 eclipse再见,android studio 新手入门教程(二)项目的导入

上一篇博客介绍了AS的一些常用设置方法,当工具调教妥当后,自然就要开始项目的开发啦。从零开始新建一个项目,这个简单,不必多说,这篇博客会分享我从旧平台eclipse导入项目到AS的过程,以及遇到的一些问题并如何解决。开篇先粗略的提一些需要注意的地方。结构目录和eclipse不同,在android 视图下的项目目录分为java,res和manifests。 - manifests目

2016-04-18 15:43:30 4211

原创 eclipse再见,android studio 新手入门教程(一)基本设置

写在前面:作为一个刚半只脚踏入android开发的新手,至今为止使用eclipse开发了两个自我感觉不甚成熟的商城类app之后,期间遇到了一些问题,总结为如下:1,代码复用性。findviewById,onclick事件等,一遍遍重复这类无聊的代码简直浪费生命,这个问题推荐通过依赖注入框架ButterKnife解决,直接一键生成布局中的所有控件,包括onclick点击事件,但是诸如行布

2016-03-29 16:31:11 4657 1

原创 Android 增强版百分比布局库 Eclipse Demo

android的碎片化问题一向令开发者十分头疼,提到针对碎片化的界面适配机制,就不得不提到几个开发者熟悉的单位:px:像素,说白了就是屏幕上的点。当我们自定义控件时,代码设置的单位就是px。dp(dip):一种基于屏幕密度的抽象单位,指代单位面积的像素数,以320×480分辨率,像素密度为160为标准密度,1dp=1px。dp的计算公式为:dp*ppi/160 = px。在An

2016-03-26 13:24:50 2576 1

原创 android安卓布局总结

一,LinearLayout(线性布局)中的特有属性,即控件(例如textview或imageview等)在L布局中才有的属性:1,排列方式:orientation=”horizontal横向排列(即控件横着排,一个控件占一列)/vertical纵向排列(即控件竖着排,一个控件占一行)”2,子控件在L布局中的对齐方式:(1)只在横排L布局中生效的:      layout_gr

2015-10-04 21:49:22 857

原创 字节输入输出流的代码注意事项

输入输出是站在当前程序的角度,输入即从外界读取数据,输入即向外界输出数据。写代码时要注意以下几点,见代码:字节输入流:package TestFileInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public c

2015-09-13 14:16:47 900

Fresco 二三事:图片处理之旋转、裁剪切割图片demo

Fresco 二三事:图片处理之旋转、裁剪切割图片demo

2016-12-03

抓取CSDN博客文章的简单爬虫python源码

抓取CSDN博客文章的简单爬虫python源码

2016-06-25

免积分 android城市json数据 按拼音排列/按省市区排列 附带使用方法

免积分 android城市json数据 按拼音排列/按省市区排列 附带使用方法

2016-05-25

android城市json数据 按拼音排列/按省市区排列 附带使用方法

android城市json数据 按拼音排列/按省市区排列 附带使用方法

2016-05-24

空空如也

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

TA关注的人

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