自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(130)
  • 资源 (14)
  • 收藏
  • 关注

原创 使用Jenkins+gitlab自动化打包

简介Jenkins Jenkins,一个用Java编写的开源的持续集成工具,提供了软件开发的持续集成服务,可监控并触发持续重复的工作,具有开源,支持多平台和插件扩展,安装简单,界面化管理等特点。Gitlab GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。持续集成 持续集成, 简称CI(c

2017-05-07 22:48:45 9752 2

原创 UML笔记—九种图(一)

1.面向过程和面向对象面向过程面向过程方法认为我们的世界是一个一个相互关联的小系统组成的,然而如果系统比较简单,需求复杂度较低的情况下还是非常管用的,但是在系统需求复杂度高的情况下就会很难把这个过程模拟出来。这也是面向过程的困难所在。面向对象面向对象(Object Oriented,OO)方法将世界看做一个一个相互独立的对象,相互之间并无因果关系。面向对象的精髓在于抽象,同时也是困难所在,

2017-02-18 10:45:38 2478

原创 数据结构HashMap(Android SparseArray 和ArrayMap)

HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。HashMapHashMap.java源码分析: 三个构造函数: HashMap():默认初始容量ca

2017-01-20 16:30:47 7341 2

原创 Android App耗电量统计

还没有完成的,初稿App耗电量统计:源码PowerUsageSummary.java 继承PowerUsageBase.java类 BatteryHistoryPreference类--sp 获取耗电量历史(读取sp文件)--sp文件数据来自xml文件(power_usage_summary.xml)PreferenceGroup类--统计所有App耗电量同historyrefreshSt

2017-01-19 15:16:32 8454 2

原创 我的2016,展望2017

总的来说2016年就这么要过去了,真的感觉时间过得好快呀!看了好多人的2016年总结以及对2017年的计划,感觉自己也应该用文字把它记录下来。给自己定一个小目标:先挣他一个亿。2016回顾第一件事就是工作了从入职2015-5月-2016年~,以及在2016年这种互联网寒冬依然坚挺下来的创业型公司(算了下真正的应该只有20人,前端,后端,移动端,设计UI,产品经理,策划 ,运营等…,麻雀虽小五脏俱全

2016-12-31 23:58:42 592

原创 Android Utils

持续更新有用的Utils代码:之前写这篇文章主要是项目应用到的Utils,发现已经有一个更全面的开源库总结,所以还是非常震惊可以总结的这么全面,在此我准备重新梳理一遍~AndroidUtils:Android必备utilCode具体Demo参考开源github:AndroidUtilCodeActivity相关→ActivityUtils.javaisActivityExists : 判断是

2016-12-29 16:19:57 734

原创 Android 封装Fragment-BaseLazyFragment(懒加载)

Fragment 封装1.封装布局(比较简单)一般写Fragment继承android.support.v4.app.Fragment 重写Fragment的生命周期实现创建过程:添加布局 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,

2016-12-29 13:42:24 3629

原创 Android动画分析

Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类:View Animation: 视图动画在古老的Android版本系统中就已经提供了,只能被用来设置View的动画。Drawable Animation: 这种动画(也叫Frame动画、帧动画)其实可以划分到视图动画的类别,专门用来一个一个的显示Drawable的resources,就像放幻灯片一样

2016-12-19 00:02:45 380

原创 Android Drawable资源

Drawable种类很多,具体可以参考文档连接,常见的有以下的几种: name 功能 BitmapDrawable(位图文件) 位图图形文件(.png、.jpg 或 .gif) NinePatchDrawable 具有可拉伸区域的 PNG 文件,允许根据内容调整图像大小 (.9.png) LayerDrawable(图层列表) 管理其他可绘制对象阵列的可绘制对象。它们按

2016-12-17 00:09:16 457

原创 Android 开发编程规范

命名规范开发中中容易忽视的是命名规范,下面罗列出项目开发需要注意的命名规范:(其他规范参考下面的编码规范)常见的命名方法1.匈牙利命名法:该命名法是在每个变量名的前面加上若干表示数据类型的字符。基本原则是:变量名=属性+类型+对象描述。如i表示int,所有i开头的变量命都表示int类型。s表示String,所有变量命以s开头的都表示String类型变量。2.骆驼命名法:正如它的名称所表示的那样,是指

2016-12-02 14:03:23 1329

原创 Android 项目构建过程

Android项目构建过程:平常开发中使用ide可以很方便构建打包编译成一个Apk包安装到手机,那么整个流程到底是啥样的呢? 我们可以根据Google官方提供的流程图来具体了解构建的过程, 构建工具放在Android sdk目录下面的build-tools文件夹下: 下面是具体描述:1.AAPT(Android Asset Packaging Tool)工具会打包应用中的资源文件,如Androi

2016-11-27 23:57:18 471

转载 Android 6.0源码结构

1.目录abi定义:应用程序和操作系统之间、一个应用和它的库之间、应用的组成部分之间的底接口 查看文件夹abi/cpp下目录:include:cxxabi.h、new、typeinfosrc:Android.mkuse_rtti.mkabi文件的作用: abi规定了二进制文件的格式、内容,装载/卸载程序的要求,函数调用时的参数传递规则,寄存器、堆栈的使用ABI与API的区别:API定义了源

2016-11-27 00:11:10 1056

原创 隐藏软键盘出现的error

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@239ef665 is not valid; is your activity running?具体出现error代码或者有时会出现:java.lang.NullPointerException: Att

2016-11-23 10:38:43 4639

转载 Android Studio打包apk,aar,jar包

文本我们将讲解Android studio打包apk,aar,jar包的相关知识。apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是Java中特有的类库包,在具体的介绍打包之前,我们先来aar包和jar包的区别。jar包与aar包的区别jar是java字节码文件(class文件)的归档文件,其不包含android中的资源文件等信息;aa

2016-11-21 15:04:33 817

原创 Android基础(一)

1.android:clipToPadding属性的分析clipToPadding属性定义了是否允许ViewGroup在padding中绘制,该值默认为true,即不允许. * 所以若我们给ListView设置了android:paddingTop="70dip" android:paddingBottom="70dip" * 那么我们可以看到ListView的头部以上和尾部以下都占有70大小的

2016-10-30 21:13:14 2190

原创 Android studio常用插件

1.ButterKnife(快速代码注解)官网:http://jakewharton.github.io/butterknife/ github:https://github.com/JakeWharton/butterknife2.codota 官网: https://www.codota.com/ 该网站搜集了大量的代码,号称超过700W的代码实例。 它提供了chrome插件和as插

2016-10-30 18:55:46 450

原创 Android NDK配置

NDK官方文档:http://developer.android.com/intl/zh-cn/ndk/index.html The Android NDK is a toolset that lets you implement parts of your app using native-code languages such as C and C++. For certain types

2016-10-30 18:39:35 1573

转载 Android Looper Handler 和Message

android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被google的设计震撼了,特与大家分享。 android的消息处理有三个核心类:Looper,Handle

2016-10-30 18:30:50 333

原创 Android training

Managing Audio PlayBack1.Controlling Your App’s Volume and Playback: http://developer.android.com/intl/zh-cn/training/managing-audio/volume-playback.html2.Managing Audio Focus : http://developer.an

2016-10-30 12:11:32 721

原创 Android 使用jdk1.8新特性之lambda表达式

目前Java 8的新特性Lambda 结合 RxJava 在一起使用可以简化大量的代码,下面简单介绍在AndroidStudio中配置Gradle使得支持Java 8。Android 使用Java8 配置添加插件retrolambda在project层的build.gradle配置buildscript { repositories { jcenter() m

2016-10-28 11:27:33 2959

转载 Android 常用的adb命令

1、安装APK(如果加 -r 参数,保留已设定数据,重新安装filename.apk) adb install xxx.apk adb install -r xxx.apk 2、卸载APK(如果加 -k 参数,为卸载软件但是保留配置和缓存文件) adb uninstall xxx.apk adb uninstall -k xxx.apk3、查看当前所有连接的模拟器设备 adb devi

2016-10-27 17:07:37 382

转载 自定义CoordinatorLayout的Behavior实现知乎和简书快速返回效果

Design lib里面的CoordinatorLayout是一个非常强大的控件,它接管了child组件之间的交互。让你滑动交互使用更加方便简单,效果也更加强大,不需要向以前那样自己处理一坨什么乱七八槽的滑动 事件传递之类的恶心东西了。比如常见的顶部工具栏随内容滑动消失和显示,这个官方已经支持了Toolbar,但是有时候我们想让自己的组件也可以和滑动交互,这个时候我们就需要自定义一个我们自己的Beh

2016-10-27 14:02:31 651

转载 Android图片压缩

在网上调查了图片压缩的方法并实装后,大致上可以认为有两类压缩:质量压缩(不改变图片的尺寸)和尺寸压缩(相当于是像素上的压缩);质量压缩一般可用于上传大图前的处理,这样就可以节省一定的流量,毕竟现在的手机拍照都能达到3M左右了,尺寸压缩一般可用于生成缩略图。 两种方法都实装在了我的项目中,结果却发现在质量压缩的模块中,本来1.9M的图片压缩后反而变成3M多了,很是奇怪,再做了进一步调查终于知道原因了

2016-09-20 17:13:23 312

转载 使用PULL解析XML文件

XmlPull和Sax类似,是基于流(stream)操作文件,然后根据节点事件回调开发者编写的处理程序。因为是基于流的处理,因此Xmlpull和 Sax都比较节约内存资源,不会象Dom那样要把所有节点以对橡树的形式展现在内存中。 但Xmlpull比Sax更简明,而且不需要扫描完整个流。 下面来看一个pull解析xml的例子:<?xml version="1.0" encoding="utf-8"?

2016-09-07 11:07:14 297

转载 Java反射机制深入详解

一.概念  反射就是把Java的各种成分映射成相应的Java类。  Class类的构造方法是private,由JVM创建。  反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和方法并且显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如

2016-08-29 17:19:33 467

转载 Android WebView使用

Android WebView在Android平台上是一个特殊的View, 他能用来显示网页,这个类可以被用来在你的app中仅仅显示一张在线的网页,还可以用来开发浏览器。WebView内部实现是采用渲染引擎来展示view的内容,提供网页前进后退,网页放大,缩小,搜索,前端开发者可以使用web inspector(Android 4.4系统支持,4.4一下可以采用http://developer.an

2016-08-28 23:53:48 534

原创 android中singleTask的home键的问题

在Android设计中遇到这样一个问题:Activity A,在中设置它的一个为 AndroidManifest.xml代码 <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER

2016-08-23 13:17:42 6017 2

转载 Android屏幕适配

1、概述Android屏幕适配出现的原因在我们学习如何进行屏幕适配之前,我们需要先了解下为什么Android需要进行屏幕适配。由于Android系统的开放性,任何用户、开发者、OEM厂商、运营商都可以对Android进行定制,修改成他们想要的样子。但是这种“碎片化”到底到达什么程度呢?在2012年,OpenSignalMaps(以下简称OSM)发布了第一份Android碎片化报告,统计数据表明,20

2016-08-19 00:20:55 449

转载 android Listview,gridview局部刷新,部分刷新

众所周知Listview和Gridview的刷新界面的方式是调用adapter.notifyDataSetChanged()进行界面刷新。 但是此方法有其弊端,他是将界面中的数据全部刷新一遍,不论数据有没有变化。如果listview加载了很多的数据(如:100条) 在进行刷新时就会造成很大的系统开销如何像qq空间个人动态那样点赞只刷新一条呢: 主要原理: 对listview的某一个item进

2016-08-17 23:19:31 2713 1

原创 Getting started with JRebel for Android

介绍无意中发现zeroturnaround公司发布了一神器JRebel for Android,仅支持Android Studio,虽然这个JRebel for Android 目前来看功能还是比较有限的,主要作用就是类和UI的改动能够自动reload无需从新安装运行apk,已经算是大大的提高了工作效率,以及Android studio 2.0之后google发布的 Instant Run两者的区别

2016-05-17 11:32:43 855

原创 Android混淆APK直接copy使用

转载请注明出处: 混淆APK在Android Studio当中混淆APK实在是太简单了,借助SDK中自带的Proguard工具,只需要修改build.gradle中的一行配置即可。可以看到,现在build.gradle中minifyEnabled的值是false,这里我们只需要把值改成true,打出来的APK包就会是混淆过的了。如下所示:release { minifyEnabled t

2016-04-27 23:31:51 830

转载 ListView setAdapter has already been called 异常

一  遇到问题ListView HeaderView使用过程中遇到的问题1. 必须在setAdapter之前执行addHeaderView方法,否则会出现以下异常java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.

2016-04-18 14:58:34 541

转载 【android基础三】Android中SQLite应用详解

上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们对SQLite已经有所了解了,那今天呢,我就和大家分享一下在Android中如何使用SQLite。现在的主流移动设备像Android、iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动设备上的SQLite开发技巧。对于An

2016-01-18 22:35:52 407

转载 【android基础二】android重要控件——你有多熟悉listview?

今天给大家带来《android应用开发全程实录》中关于listview和adatper中的部分。包括listview的基本使用,listview的优化等。我们经常会在应用程序中使用列表的形式来展现一些内容,所以学好ListView是非常必需的。ListView也是Android中比较难以使用的控件,这节内容就将详细解读ListView的用法。一个ListView通常有两个职责。

2016-01-18 21:38:21 670

转载 【android基础一】Android四大基本组件介绍与生命周期

Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。一:了解四大基本组件Activity :应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。在Int

2016-01-18 21:21:38 475

原创 Unity3D让摄像机随player移动

代码很简单直接看:using UnityEngine;using System.Collections;public class CameraController : MonoBehaviour { public GameObject player; private Vector3 offset; // Use this for initialization voi

2016-01-06 15:41:01 992

原创 unity3D 使用rigidbody.AddForce(movement)

unity3D 使用rigidbody.AddForce()出错SeverityCodeDescriptionProjectFileLineSuppression StateErrorCS0619'Component.rigidbody' is obsolete: 'Property rigidbody has been deprecated. Us

2016-01-06 11:44:11 39194

转载 git的使用

以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下来继续使用。我这里简单的记录一下我使用的过程,最简单的使用都是,高级的功能我一直没有使用到,虽然买一本《Git权威指南》但是很多东西用不到就不能够真的会。下面开始简单介绍我使用的

2015-12-15 13:44:03 773

转载 Android 编程下 App Install Location

从 API 8 开始(参考官方文档:App Install Location | Android Developers),你可以将你的应用安装在外部储存中(例如,安装到设备的 SD 卡上)。这是一个可选的特征,你可以在你的应用的 AndroidManifest.xml 中声明 android:installLocation 属性。如果你没有声明这个属性,你的应用程序将会被安装在内部储存,并且不

2015-11-04 09:54:02 414

原创 (一)Android ViewTreeObserver的常用技巧

当一个视图树的布局发生改变时,可以被ViewTreeObserver监听到, 这是一个注册监听视图树的观察者(observer),在视图树的全局事件改变时得到通知。ViewTreeObserver不能直接实例化,而是通过getViewTreeObserver()获得。 A view tree observer is used to register listeners that can be

2015-09-14 15:49:57 694

Android项目架构

MVC MVP MVVM AndroidFlux

2017-02-09

架构风格与基于网络的软件架构设计(中文修订版)

架构风格与基于网络的软件架构设计(中文修订版)

2017-01-06

jd-gui-osx-1.4.0 MAC

jd-gui-osx-1.4.0 mac

2016-12-12

python-3.5.1 64位window

python-3.5.1 64位window

2016-06-01

python-3.5.1 32位window

python-3.5.1 32位window

2016-06-01

Genymotion plugin for Android Studio

To install Genymotion plugin for Android Studio

2015-12-04

下拉刷新Demo

下拉刷新的一个简单Demo供初学者使用 。不要积分下来看看啦

2015-11-11

EventBus study

EventBus是 针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。

2015-11-11

apktool_v2.0.0RC2.JAR

apktool_v2.0.0RC2.JAR

2015-09-17

okio-1.4.0

okio-1.4.0 okhttp相关联的jar文件

2015-08-27

okhttp-2.4.0.jar

okhttp-2.4.0.jar ,okhttp的jar文件

2015-08-27

动态修改状态栏颜色

动态修改状态栏颜色,可以查看,使用非常简单

2015-08-25

Android获取wifi热点,实现控制wifi链接

Android获取wifi热点,实现控制wifi链接

2015-08-19

site-1.6.16

1、从官网下载site-1.6.16.zip文件,网址是:subclipse.tigris.org, 2、从中解压出features与plugins文件夹,复制到E:\MyEclipse\myPlugin\svn里面,其它的*.xml文件不要。 3、在E:\MyEclipse\MyEclipse8.5\dropins下新建文件svn.link,内容是:path=E:\\MyEclipse\\myPlugin\\svn保存。 4、删除E:\MyEclipse\MyEclipse8.5\configuration\org.eclipse.update文件夹 5、重启myeclipse就一切正常了。

2014-10-15

空空如也

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

TA关注的人

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