自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(65)
  • 资源 (3)
  • 收藏
  • 关注

转载 Android Ripple的详解

转自:Android L Ripple的使用总纲没有边界的Ripple(Ripple With No Mask)用颜色作为Mask的Ripple(Ripple With Color Mask),然而颜色并没有什么卵用用图片作为Mask的Ripple(Ripple With Picture Mask)用设定形状作为Mask的Ripple(Ripple With Shape Mask)搭配se

2016-09-19 11:02:48 14430 4

转载 Style在Android中的继承关系

转自:Style在Android中的继承关系Android的Styles(样式)和Themes(主题)非常类似Web开发里的CSS,方便开发者将页面内容和布局呈现分开。Style和Theme在Android里的定义方式是完全一样的,两者只是概念上的区别:Style作用在单个视图或控件上,而Theme用于Activity或整个应用程序。由于作用范围的不同,Theme也就需要比Style包含更多的定义属

2016-09-18 18:04:53 2999

原创 android 获取汉字拼音

由于前段时间项目需要,研究了下android各个版本中的汉字转拼音方法。虽然Android系统本身自带有有将汉字转化为英文拼音的类和方法, 但是还没有对外开放接口, 需要把代码copy到项目中。其类为HanziToPinyin.Java,主要是在联系人应用中用到,但是在android中4.4版本(包含)和4.4之下的版本方法不一样。直接上代码android4.4之后的方法:public class

2016-09-02 10:57:02 2623 1

原创 andriod 获取当前函数名

缘由 开发输出Log时经常会打印当前函数,于是就在网上查找相应的方法, 自己也总结了下:直接上代码:public class Utils { private static final int STACK_TRACE_INDEX = 3; private static final String SUFFIX = ".java"; public static String ge

2016-09-02 10:27:03 2237

转载 Android技术积累:开发规范

转自:Keegan小钢书写规范1、 编码方式统一用UTF-8. Android Studio默认已是UTF-8,只要不去改动它就可以了。 2、缩进统一为4个空格,将Tab size设置为4则可以保证tab键按4个空格缩进。另外,不要勾选上Use tab character,可以保证切换到不同tab长度的环境时还能继续保持统一的4个空格的缩进样式。 3、花括号不要单独一行,和它前面的代码同一行。而

2016-04-22 14:21:40 606

原创 获取进程名的两种方法

方案一:目前网上主流的方案public static String getProcessName(Context cxt, int pid) { ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE); List<RunningAppProcessInfo> r

2016-04-06 10:11:40 1650

转载 开发安全指南:如何安全地储存用户密码

转自:开发安全指南:如何安全地储存用户密码0×00 前言首先如果你对密码学的概念以及使用并不熟悉,或者你正需要进行一些密码学的引导,那么我推荐你阅读一下这篇内容。此前我们就曾明确的表示,即使是安全建议也应该有个保质期。因此和我们过去发布的大多数博客文章不同,上面那篇内容实际上是处在一种“随时更新”的状态:当对安全的需求变化以及新的攻击形式被发现时,我们都会做出相应的变更。这里我们提出一个密码安全观点

2016-02-23 10:15:46 783

转载 Android官方数据绑定框架DataBinding(二)

转自: Android官方数据绑定框架DataBinding(二)十、inflate 不知道大家注意没有,上面的代码我们都是在activity中通过DataBindingUtil.setContentView来加载的布局的,现在有个问题了,如果我们是在Fragment中使用呢?Fragment没有setContentView怎么办?不要着急,Data Binding也提供了inflate的支持!

2016-01-15 13:12:30 616

转载 Android官方数据绑定框架DataBinding(一)

转自: Android官方数据绑定框架DataBinding(一)从这篇博客开始,我们就来了解一下android最新给我们带来的数据绑定框架——Data Binding Library。数据绑定框架给我们带来了更大的方便性,以前我们可能需要在Activity里写很多的findViewById,烦人的代码也增加了我们代码的耦合性,现在我们马上就可以抛弃那么多的findViewById。说到这里,有人可

2016-01-14 19:47:55 790

转载 Android性能优化之如何避免Overdraw

转自:Android性能优化之如何避免Overdraw什么是Overdraw?Overdraw就是过度绘制,是指在一帧的时间内(16.67ms)像素被绘制了多次,理论上一个像素每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67ms时,就会出现掉帧现象,也就是我们所说的卡顿,所以对重叠不可见元素的

2016-01-05 19:36:14 570

转载 Android夜间模式最佳实践

转自:Android夜间模式最佳实践由于Android的设置中并没有夜间模式的选项,对于喜欢睡前玩手机的用户,只能简单的调节手机屏幕亮度来改善体验。目前越来越多的应用开始把夜间模式加到自家应用中,没准不久google也会把这项功能添加到Android系统中吧。业内关于夜间模式的实现,有两种主流方案,各有其利弊,我较为推崇第三种方案: 1、通过切换theme来实现夜间模式。 2、通过资源id映射的

2016-01-05 10:08:40 4178 1

转载 Android Studio很实用的调试技巧

转自:Android Studio你不知道的调试技巧写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug;那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点;可是你听说过日志断点吗,Method Breakpoint, Exception Breakpoint 呢?还有高大上的 Field Watchp

2015-12-30 19:23:41 558

转载 Github上找好东西的方法

使用Github 的站内搜索,搜索:Awesome + 你的关键字 例如:Awesome android

2015-12-28 10:06:07 5096

转载 常用单位转换的辅助类

public class DisplayUtil { /** * dp转px */ public static int dp2px(Context context, float dpVal) { return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,

2015-12-25 09:38:57 618

转载 内存泄漏弄个明白

转自:内存泄漏弄个明白处理内存泄漏的问题是将软件做到极致的一个必须的步骤,尤其是那种将被用户高强度使用的软件。一个简单的C和Android的例子char *ptr1 = (char *)malloc(10);char *ptr2 = (char *)malloc(10);ptr2 = ptr1;free(ptr1)这里最后发生了10个字节的内存泄漏,那么到底发生了什么?首先各自分配了两块10个

2015-12-11 10:27:01 1858

转载 Launcher3源码分析 — 加载Workspace的数据

转自:Launcher3源码分析 — 加载Workspace的数据Launcher3的数据加载过程涉及到了两个主要的类LauncherProvider和LauncherModel。LauncherProvider LauncherProvider继承自ContentProvider类,内部基于数据库存储实现了ContentProvider的CRUD接口,这个类主要用于更新数据库的数据。Launch

2015-12-08 20:27:44 3973 1

转载 Launcher3源码分析 — 数据加载过程

转自:Launcher3源码分析 — 数据加载过程在一般情况下Launcher3的数据加载过程如下图所示: 以上是完整的数据加载过程,但在特殊情况下,加载过程会稍微有些不同,比如all apps页面和workspace页面的加载顺序,是否需要从数据库加载数据(如果数据已加载到内存中就不需要重新加载,只需要执行bind的过程),使用同步还是异步加载等。我们通过具体代码来看不同情况下的数据加载过程。L

2015-12-08 20:19:11 1009

转载 Launcher3源码分析 — 启动过程

转自:Launcher3源码分析 — 启动过程1.执行Application的onCreate方法 在Main Activity执行之前会先执行Application类的onCreate方法,通过LauncherAppState.getInstance()实例化LauncherAppState。public class LauncherApplication extends Application

2015-12-08 20:15:44 1434

转载 Launcher3源码分析 — ui结构

转自:Launcher3源码分析 — ui结构在android4.4后,nexus设备使用Google Now Launcher作为默认的Launcher,其实它的代码就是android4.4源码里的Launcher3,只是针对google now做了些修改,大体框架还是一样的。我们可以通过hierarchyviewer工具和布局文件launcher.xml来查看Launcher3的UI结构。lau

2015-12-08 20:11:58 2387

转载 OkHttp:Java 平台上的新一代 HTTP 客户端

转自:OkHttp:Java 平台上的新一代 HTTP 客户端在 Java 程序中经常需要用到 HTTP 客户端来发送 HTTP 请求并对所得到的响应进行处理。比如屏幕抓取(screen scraping)程序通过 HTTP 客户端来访问网站并解析所得到的 HTTP 文档。在 Java 服务端程序中也可能需要使用 HTTP 客户端来与第三方 REST 服务进行集成。随着微服务(microservic

2015-12-08 15:54:03 1861

转载 Strictmode的使用

转自:Strictmode的使用StrictMode通常用于抓取在应用程序的主线程中来操作磁盘或者网络访问的问题,比如界面操作和动画,在非UI线程中处理磁盘文件和网络 操作使得程序更快、响应更及时,在保证你的程序足够流程的同时,你还需要阻止ANR事件的发生。 ANR窗口产生的原因是多种多样的。 程序的主线程因为IO读写或网络阻塞而导致被阻塞了,外部存储设备被独占了或系统负荷过高都可能导致ANR。 从

2015-12-08 10:21:54 608

转载 设计模式(九)装饰模式(Decorator)

转自:设计模式(九)装饰模式(Decorator)一、咖啡店的故事这次我们借用HeadFirst中的咖啡店的故事来讨论一下装饰模式。咖啡店中有各种种类的咖啡和咖啡需要加的配料。有一家咖啡店为了提高效率打算开发一套咖啡订购系统,用户可以根据清单选择咖啡和咖啡所加的配料,系统可以自动的计算总价格。第一种方案是这个样子的:这里写图片描述Beverge是一个抽象类,店内所有的饮料都必须继承自这个类。desc

2015-12-07 11:24:00 429

转载 APP切入后台的事件监听

转自:APP切入后台的事件监听或许你曾遇到这样的场景,把APP切入后台,这个APP弹了个Toast告诉你,它还要在你的手机后台运行。从这个场景里我们能捕获两个信息,1:Toast并不是传统意义上的view,它的存在不依赖当前Activity。2:APP被切入后台这一事件是可以捕获的。我们今天只讲第二点,第一点以后再说。方案一循环判断当前runningProcess,百度会告诉你这种方法。public

2015-12-07 10:26:55 1067

转载 Android处理崩溃的一些实践

转自:Android处理崩溃的一些实践对于任何程序来说,崩溃都是一件很难避免的事情,当然Android程序也不例外。在Android程序中,引起崩溃的多属于运行时异常或者错误,对于这些异常我们很难做到类似Checked Exception那样显式捕获,因而最终导致了程序崩溃。本文讲介绍一些如何处理崩溃的实践,比如收集崩溃的stacktrace,甚至如何避免出现程序已停止的对话框。如何收集崩溃信息

2015-12-07 10:07:52 644

转载 用 LeakCanary 检测内存泄漏

转自:用 LeakCanary 检测内存泄漏介绍 (0:00)大家好,我是 Pierre-Yvews Ricau (叫我 PY 就行),现在在 Square 工作。Square 出了一款名为:Square Register 的 App, 帮助你用移动设备完成支付。在用这个 App 的时候,用户先要登陆他的个人账号。不幸的是,在签名页面有的时候会因为内存溢出而出现崩溃。老实说,这个崩溃来的太不是时候了

2015-12-03 11:04:27 2744

转载 10 条提升 Android 性能的建议

转自:10 条提升 Android 性能的建议简介 (0:00)大家好,我是 Boris,现在是 Google 的一枚员工,目前专注于需要高性能的 App。这个分享是我长期以来从错误中,以及在给合作伙伴做咨询的时候攒下的最佳实践。如果你有一个小型的 App,读过之后,会在你的 App 成长阶段起到帮助。我常常会见到那些启动时间很长,滑动不流畅,甚至出现没有反应的 App。我们通常要花很多时间去改善这

2015-12-03 10:08:00 472

转载 android addIdleHandler 空闲线程 解析

转载:android addIdleHandler 空闲线程 源码分析描述 在项目中偶然看到其他人有在用Looper.myQueue().addIdleHandler(new IdleHandler() { @Override public boolean queueIdle() { ... return false; }}之前一直不知道这么

2015-12-02 20:04:55 7480

转载 Android并发编程之全方位解析AsyncTask

版权声明:欢迎转载,转载请注明出处http://blog.csdn.net/nugongahou110目录(?)[+]前言这篇文章我不会直接去分析源码,因为有太多分析AsyncTask的源码的文章了,我再去分析一遍源码也没有意义,因此这篇文章我会根据问答的形式,提出问题,然后再到源码中寻找答案,这样可以将AsyncTask理解的更加透彻。As

2015-12-02 10:55:36 507

转载 【转载】Android Monkey 命令行可用的全部选项

原文参见:http://www.douban.com/note/257030384/常规–help列出简单的用法。-v命令行的每一个 -v 将增加反馈信息的级别。Level 0(缺省值)除启动提示、测试完成和最终结果之外,提供较少信息。 Level 1提供较为详细的测试信息,如逐个发送到Activity的事件。 Level 2提供更加详细的设置信息,如测试中被选中的或未被选中的Activity。

2015-12-01 15:27:43 509

转载 使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-11-30 15:35:40 377

转载 Android M新特性Doze and App Standby模式详解

2015-11-06 timor      QQ空间终端开发团队 QQQQQjiad  ad点击打开链接aaaszhanaOptimizing for Doze and App Standby 1.从Android6.0开始,Android提供了两种省电延长电池寿命的功能:Doze和App Standby;2.表现形式:当设备没有连接

2015-11-11 09:46:18 1120

转载 Android开源二维码识别项目zxing横屏改为竖屏识别解决方案

转载:http://www.cnblogs.com/moka/archive/2013/05/24/3096937.html首先你需要有zxing项目的简化版代码,在这里。使用简化版可以免去许多不必要的代码,方便学习研究,更好定位核心功能。如果你调试成功后,就可以着手修改将其变为竖屏识别了。第1步:在AndroidManifest中将Captur

2015-01-04 15:31:38 989

转载 ANDROID内存优化(大汇总——全)

转自:http://blog.csdn.net/a396901990/article/details/38904543写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马

2014-11-29 23:35:49 413

转载 ANDROID内存优化(大汇总——中)

转自:http://blog.csdn.net/a396901990/article/details/38707007写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要

2014-11-29 22:44:27 682

转载 Android内存性能优化

转自:http://blog.csdn.net/yzzst/article/details/26621861刚入门的童鞋肯能都会有一个疑问,Java不是有虚拟机了么,内存会自动化管理,我们就不必要手动的释放资源了,反正系统会给我们完成。其实Java中没有指针的概念,但是指针的使用方式依然存在,一味的依赖系统的gc,很容易就造成了内存的浪费。 Java基于垃圾回收的内

2014-11-29 21:07:17 451

转载 Android studio gradle配置

Gradle 基本概念首先我们学习几个gradle 的脚本语法,掌握了这几个语法,你就能非常简单的用gradle构建打包android项目了。 首先,我们来看下一个最简单android build.gradle。build.gradle?1234567891011

2014-11-20 23:19:20 667

转载 GitHub 优秀的 Android 开源项目(值得研究)

主要介绍那些不错个性化的View,包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar及其他如Dialog、Toast、EditText、TableView、Activity Animation等等。  一、ListView android-pulltorefre

2014-11-13 19:17:50 7635 2

转载 android Wifi热点

Android系统信息获取 之十四:获取WIFI热点相关信息当在Android设备终端上使用Wifi热点的时候,需要获知Wifi热点的运行状态,热点是否打开,连接到该WIFI热点的设备数量,以及连接设备的具体IP和MAC地址。使用re文件管理器去"/proc/net/arp",打开,发现连接上热点的设备信息都在这里了,包括mac ip等。鉴于此,我们可以在代码中

2014-11-12 19:01:19 940

转载 横幅广告(1)

横幅广告使用屏幕的一小部分空间来吸引用户通过点击获得更丰富的全屏体验(例如网站或应用商店页面)。本指南将向您说明如何让您的应用开始投放横幅广告。Android (Google Play)Android(6.4.1及更低版本SDK)iOSWindows Phone 8以下说明与Google Play服务中的Mobile Ads API相关。要在Android应用中展示横幅广告

2014-04-09 18:25:30 1615

转载 android Toast大全(五种情形)建立属于你自己的Toast

http://www.cnblogs.com/salam/archive/2010/11/10/1873654.htmlToast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。1.默认效果代码Toast.makeText(getApplicationContext(), "默认Toast样式",

2014-04-03 11:02:35 591

豌豆荚(apk)

android2.1及以上, 豌豆荚apk文件

2013-07-10

黄历数据库(mdb)

从1901年-2100年间200年的黄历信息数据库

2013-07-10

黄历数据库(DB)

从1901年—2100年 200年的黄历数据信息

2013-07-08

空空如也

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

TA关注的人

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