- 博客(23)
- 资源 (4)
- 收藏
- 关注
原创 Android 自定义构建类型 BuildType
最近接触到自定义构建类型 BuildType,发现这一块有些地方稍不注意的话会被绕进去浪费点时间,既然我这边已经花费时间了,如果正好你也需要接触到 BuildType,也许接下来分享的 tips 可能会帮你节省些时间。缘起BuildType 相信许多开发者都不陌生,很常见的一种使用场景是线上、线下的后台接口 BaseUrl 不同,许多人会选择在 build.gradle 文件的 buildTypes
2017-12-21 00:24:18 7517 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 847
原创 Android 沉浸式状态栏的实现
一提到沉浸式状态栏,第一个浮现在脑海里的词就是“碎片化”。碎片化是让 Android 开发者很头疼的问题,相信没有哪位开发者会不喜欢“write once, run anywhere”的感觉,碎片化让我们不得不耗费精力去校验代码在各个系统版本、各个机型上是否有效。因此以前我一直把沉浸式状态栏看作一块难啃的骨头,但是该面对的问题迟早还是要面对,所以,不如就此开始吧。沉浸式状态栏的实现方法一:通过设置
2017-10-30 15:37:50 2555
原创 JIRA 知多少:聊一聊 Android Studio 、工作流相关设置
Android Studio 相关配置 JIRA 服务器如果细心的话会发现有一个选项卡:Commit Message。这一段代码是不是有点熟悉呢?你没有猜错,这段代码就是 commit 模板,当你切换 task 后在git commit 时会自动将任务的id 和 简介配置到 commit 信息里。切换到某个 JIRA 任务点击工具栏上的 Default task ,下方显示的是最近打开的任务。点击
2017-10-30 15:37:24 868 1
原创 Mac 上使用 Shell 脚本 + adb shell 实现简单的 Android 模拟点击自动化测试
需求在 A 界面,点击跳转到 B 界面(该界面会执行一些业务),再点击返回键出现 Dialog 弹窗,点击确认退出按钮,返回 A 界面。不断循环。思路一开始想到的就是按键精灵,下了 mac 版使用后发现功能太不完善,于是试了试 Windows 版,实在是操作不习惯。在搜索资料过程中了解到还可以使用 adb 来实现模拟设备操作,那肯定是写代码更顺手啊,配合使用脚本重复输入命令,就能实现简单的自动化重复
2017-10-30 15:36:40 6677
原创 [译] 使用 Espresso 隔离测试视图
原文地址:Testing Views in Isolation with Espresso 原文作者:Ataul Munim 译文出自:掘金翻译计划 译者:yazhi1992 校对者:lovexiaov, Phoenix 使用 Espresso 隔离测试视图在这篇文章里,我将会告诉你为何并且如何使用 Espresso 在 Android 设备上测试你的自定义视图。你可以使用 E
2017-10-30 15:36:20 284
原创 Android 自定义控件demo集合
各种写着玩的自定义控件demo有时网上看到一些比较有意思的开源项目,有时间的话就会自己也撸一个出来,但是一般只关注实现样式、动画等,不会太去细致完整地完成,俗称占个坑~持续更新中…
2017-10-30 15:35:54 425
原创 [译] ConstraintLayout 可视化[Design]编辑器(这到底是什么)[第四部分]
ConstraintLayout 可视化[Design]编辑器
2017-10-30 15:34:03 1168
原创 《Effective Java》读书笔记
创建和销毁对象静态工厂模式构造器里未传参的成员不会被初始化。int类型是0,布尔类型是false,String类型是null,List<>也是null重叠构造器进阶1:javabean模式,使用set方法来初始化成员,缺点是构造过程中javabean可能处于不一致状态(可以理解成该模式下成员的设置的分步进行的,可能某处使用到该类的某个成员时其还未被初始化),并且该模式阻止了把类变成不可能的可能
2017-01-28 16:15:54 1448
原创 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 1762
原创 Fresco 二三事:图片处理之旋转、缩放、裁剪切割图片
关于Fresco加载图片的处理,例如旋转、裁剪切割图片,在官方文档也都有提到,只是感觉写的不太详细,正好最近项目里有类似需求,所以分享一些使用小tip,后面的朋友就不用再走弯路浪费时间了。
2016-12-03 13:24:05 5878
原创 React Native Android(一)环境搭建
因为工作需要,最近正在学习React Native Android。温故而知新,把学习的内容记录下来巩固一下知识,也给有需要的人一些帮助。对程序员来说,入门的第一课毫无疑问就是搭建环境。
2016-10-29 13:18:20 1502
原创 Kotlin简单使用手册
在昨天和做android的前辈一番交谈后,觉得很惭愧,许多东西还只是知其然而不知其所以然,也深感自己的技术还太浅薄。以后要更加努力地学习,要着重学习原理、方法论,不能只停留在会用的阶段。 今天又要献丑分享一些关于使用Kotlin这门新兴的编程语言的一些要注意的地方。因为上一个项目全部使用了kotlin,算是给后面接手的朋友的一份交接文档吧。
2016-07-15 09:31:16 15459 6
原创 Adnroid源码学习笔记:Handler 线程间通讯
常见的线程间通讯一般用于在子线程更新UI。在主线程创建一个handler,重写handlermessage方法,然后在子线程里发送消息,主线程里就会接受到消息。这就是简单的线程间通讯。如果在子线程创建handler对象则会报错。根据Log提示,子线程创建handler需要调用Looper.prepare()
2016-06-29 15:26:42 755
原创 Hello Python!用python写一个抓取CSDN博客文章的简单爬虫
网络上一提到python,总会有一些不知道是黑还是粉的人大喊着:python是世界上最好的语言。最近利用业余时间体验了下python语言,并写了个爬虫爬取我csdn上关注的几个大神的博客,然后利用leancloud一站式后端云服务器存储数据,再写了一个android app展示数据,也算小试了一下这门语言,给我的感觉就是,像python这类弱类型的动态语言相比于java来说,开发者不需要分太多心去考
2016-06-25 00:14:59 11101 4
原创 eclipse再见,android studio 新手入门教程(三)Github(.ignore忽略规则)的使用
上传代码到githubandroid studio里集成了上传代码到github的功能,所以使用上还是很简单的,设置里添加账号并测试,之后就可以很方便地上传代码到github了如果你的项目是使用android studio新建的,那么关于github基本就没什么问题了。android studio新建项目是自带.ignore文件的,也就是说默认是使用了忽略规则上传。默认忽略的是*.iml.grad
2016-05-25 13:50:35 2780
原创 第一个开源控件:Google官方下拉刷新控件SwipeRefreshLayout强化版,支持上拉刷新
最近比较闲,所以趁着这时间撸了个SwipeRefreshLayout的加强版,Github地址。原版只支持下拉刷新,强化之后支持上拉刷新和一进入页面就加载刷新,整个控件的加载动画是一致的,毫无违和感:),也算是为开源社区尽了点绵薄之力啦。 很惭愧,就做了一点微小的工作,谢谢大家。
2016-04-22 08:49:33 771
原创 eclipse再见,android studio 新手入门教程(二)项目的导入
上一篇博客介绍了AS的一些常用设置方法,当工具调教妥当后,自然就要开始项目的开发啦。从零开始新建一个项目,这个简单,不必多说,这篇博客会分享我从旧平台eclipse导入项目到AS的过程,以及遇到的一些问题并如何解决。开篇先粗略的提一些需要注意的地方。结构目录和eclipse不同,在android 视图下的项目目录分为java,res和manifests。 - manifests目
2016-04-18 15:43:30 4218
原创 eclipse再见,android studio 新手入门教程(一)基本设置
写在前面:作为一个刚半只脚踏入android开发的新手,至今为止使用eclipse开发了两个自我感觉不甚成熟的商城类app之后,期间遇到了一些问题,总结为如下:1,代码复用性。findviewById,onclick事件等,一遍遍重复这类无聊的代码简直浪费生命,这个问题推荐通过依赖注入框架ButterKnife解决,直接一键生成布局中的所有控件,包括onclick点击事件,但是诸如行布
2016-03-29 16:31:11 4668 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 2580 1
原创 android安卓布局总结
一,LinearLayout(线性布局)中的特有属性,即控件(例如textview或imageview等)在L布局中才有的属性:1,排列方式:orientation=”horizontal横向排列(即控件横着排,一个控件占一列)/vertical纵向排列(即控件竖着排,一个控件占一行)”2,子控件在L布局中的对齐方式:(1)只在横排L布局中生效的: layout_gr
2015-10-04 21:49:22 861
原创 字节输入输出流的代码注意事项
输入输出是站在当前程序的角度,输入即从外界读取数据,输入即向外界输出数据。写代码时要注意以下几点,见代码:字节输入流:package TestFileInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public c
2015-09-13 14:16:47 905
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人