自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(443)
  • 资源 (11)
  • 收藏
  • 关注

原创 Android基于坐标对View进行模拟点击事件

在Android中,我们对于View进行模拟点击事件,很容易,比如调用View.performClick即可。但是有些时候,我们想要更加精细的点击,比如View的某一区域或者某一点进行点击。比如下面的例子。上面是一个WebView加载了一个视频,我们必须手动点一下播放按钮才能让视频播放,当然我们想要的最好是如下的自动播放效果(进入界面后,自动播放视频)当然方法有很多,比如通过javas...

2018-03-11 20:30:00 451

原创 关于应用Kotlin后的编译速度问题

2017年 Kotlin 被 Google 钦定为 Android 开发官方语言之一后,便如火如荼。很多团队开始应用了Kotlin,可谓是收益良多,可是也有一些问题,一个比较明显的就是Kotlin应用后编译速度会比较慢。这种感觉就像我们从Eclipse迁移到Android Studio变慢差不多。本文将尝试介绍一些方法来改善这一问题。关于项目编译慢有很多原因,在Android项目中,通常会和Ko...

2018-01-31 22:10:00 506

原创 网站第一次被黑的记录

一直以来技术小黑屋的博客都运行良好,总以为一个全部静态的博客不会导致被黑。直到最近才着实地体验了一次被黑的滋味。仅以此文记录一下,便于给同样问题的人一些帮助。大概是周三(2018年1月17号)的时候,有人反馈,访问我的网站,会跳转到支付宝。当然还奇怪,调到支付宝有个甚用,后来使用手机上的浏览器才发现。这个跳转回自动的打开支付宝然后领取红包。又是一起为了支付宝红包的行为。以前听说过用有人用基站发短...

2018-01-23 22:14:00 123

原创 Kotlin中常量的探究

在我们尝试使用Kotlin作为开发语言的时候,应该会想到在Kotlin中如何定义一个常量,就像Java中这样的代码一样1public static final double PI = 3.14159265358979323846;在Kotlin中,提供了两个简单的关键字,一个是var,另一个是valvar 表示普通的可变的变量,可读和可写val 表示为只读的变量。相当于Java中用...

2017-11-05 20:53:00 180

原创 我学习Android的一些套路

今天我将给大家分享一下我学习Android的一些方法和想法,分享中并不局限于Android哪一块怎么学习。而是一个总体的,普适性的学习套路和方法。希望可以帮助大家解决一些问题。注意本文为知乎Live底稿,知识点相对分散,后面部分包含了一些听众提出的问题,但是不影响总体的阅读和理解。Android需要打好哪些编程基础Java基础(Kotlin)(参考技能树 http://olabqc6d8...

2017-10-22 21:43:00 233

原创 Kotlin中的单例模式

在编程中,我们都应该接触到设计模式,无论是从时间总结,亦或者是从书上习得后尝试使用。这其中单例模式,是我们编程过程中很常见,也很简单的一种设计模式。我曾经写过一篇比较通用的关于该模式的文章,即单例这种设计模式。目前,随着Google钦定Kotlin为Android 开发官方语言,Kotlin的学习热潮也应声而起。本文尝试讲解单例模式在Kotlin的具体实现和应用。希望能够对大家学习使用Kotli...

2017-07-17 22:03:00 296

原创 如何看待 Kotlin 成为 Android 官方支持开发语言?

Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言。一时间朋友圈和Android圈被各种刷屏。当然我也顺势而为发布了一篇的文章《为什么我要改用Kotlin》,着实狠狠地蹭了一波热度(尽管这样会被鄙视)。眼下Android圈已经躁动了,甚至严重到如果对Kotlin视而不见就显得自己不像一个合格的Android程序员。本文尝试从一个客观全面一点儿的角度来看待这件事情,

2017-05-21 21:34:49 31354 23

原创 为什么我要改用Kotlin

写在前面的话,作为一个不熬夜的人,一觉醒来发现Kotlin成为了Android的官方语言,可谓是大喜过望。为了趁热打铁,我决定提前三天放出原定本周日Release的文章。希望能及时让大家了解一下Kotlin。相信很多开发人员,尤其是Android开发者都会或多或少听说过Kotlin,当然如果没有听过或者不熟悉也没有关系。因为本篇文章以及博客后期的内容会涉及到很多关于Kotlin的知识分享。在写这篇文

2017-05-18 08:40:19 102482 44

原创 一个简单实用的Android调试应用技巧

在应用开发中,我们常常会进行日志打印或者debug调试,以此来分析运行时的一些信息,便于发现bug和问题。Android Studio的Debug功能很好用,但是有时候有些情况下,就显得不是那么快捷和便利。比如我们调试的点在应用一打开的时候,很靠前,例如Application的onCreate方法中,以至于我们不能足够快的设置进程为debug模式虽然上面的情况可以通过Android St...

2017-05-14 20:37:00 144

原创 研究学习Kotlin的一些方法

Kotlin是一门让人感到很舒服的语言,相比Java来说,它更加简洁,省去了琐琐碎碎的语法工作,同时了提供了类似Lambda,String template,Null Safe Operator等特性。让开发者用起来得心应手。普通的Java/Android程序员通常只需要很短的时间就能快速使用Kotlin。综合Kotlin的诸多优点,加上Flipboard美国团队自2015年已引入Kotlin...

2017-05-08 22:05:00 130

原创 一些关于加速Gradle构建的个人经验

目前绝大多数的Android项目都是基于Grale了,因为Gradle确实给我们带来了很多便利,然而,在使用了Gradle后,最大的不满就是编译起来太慢了。解决慢的问题无非有两种方法 提升硬件配置,选择CPU和内存和硬盘等更优的硬件 在软件方面,减少不必要的耗时,充分利用现有机器的性能。本文的主要经验围绕着如何减少不必要的耗时操作和如何充分利用机器性能展开。调整gradle配置开启...

2017-04-16 20:52:00 306

原创 Error-prone,Google出品的Java和Android Bug分析利器

是什么静态的Java和Android bug分析利器由Google出品由error-prone接管compiler,在代码编译时进行检查,并抛出错误中断执行在抛出错误的同时给出具体的原因和相应方案error-prone github 地址为 https://github.com/google/error-prone举几个例子12345private void test...

2017-04-09 20:19:00 988

原创 控制RecyclerView Item的宽度

自从Android中引入RecyclerView之后,它就逐步的替换掉了ListView和GridView。本文很简单,行文目的是记录和备忘。如果能帮到你,那再好不过了。关于控制RecyclerView item的宽度,说起来还不是那么清晰,上一张图,就明白了。上面的实际上是一个Grid布局前三行每个item均分RecyclerView的宽度最后一行的Others占大概三分之一,而F...

2017-03-21 21:54:00 1190

原创 Android中一个简单有用的发现性能问题的方法

在Android中,性能优化是我们持之不懈的工作。这其中,在主线程执行耗时的任务,可能会导致界面卡顿,甚至是ANR(程序未响应)。当然Android提供了很多优秀的工具,比如StrictMode,Method Tracing等,便于我们检测问题。这里,本文将介绍一个更加简单有效的方法。相比StrictMode来说更加便于发现问题,相比Method Tracing来说更加容易操作。首先,我们有...

2017-03-13 21:57:00 144

原创 Java性能调优之容器扩容问题

在Java和Android编程中,我们经常使用类似ArrayList,HashMap等这些容器。这些容器少则存储几条,多则上千甚至更多。作为性能调优的一部分,容器调优往往被我们忽略,本文将尝试探索阐述一些关于容器调优中的扩容问题。虽然以Java为例,但是也同样适用于其他编程语言。首先以我们最常用的ArrayList为例,它是一个基于数组的List实现。123456public s...

2017-03-05 20:31:00 275

原创 一个关于安卓打包提速的小改进

作为App开发者,打包和发包是经常要进行的工作。鉴于国内的特殊情况,造就了不可胜举的应用市场。为了便于跟踪统计必要的数据信息,我们通常会针对每个市场都进行打包。这些包总的来说几乎是一致的,可能唯一的的差别就是渠道号信息不一样。Flipboard中国版本目前覆盖了大概10几个渠道,目前唯一不同的就是渠道号信息。最早的实现方式为1buildConfigField "String&#3...

2017-02-19 20:19:00 211

原创 深入剖析 Android中的 ArrayMap

数据集合在任何一门编程语言中都是很重要的一部分,在 Android 开发中,我们会实用到ArrayList, LinkedList, HashMap等。其中HashMap是用来处理键值对需求的常用集合。 而Android中引入了一个新的集合,叫做ArrayMap,为键值对存储需求增加了一种选择。ArrayMap是什么一个通用的key-value映射数据结构相比HashMap会占用更少的内...

2017-02-12 17:51:00 294

原创 关于 Android 应用多进程的整理

在计算机操作系统中,进程是进行资源分配和调度的基本单位。这对于基于Linux内核的Android系统也不例外。在Android的设计中,一个应用默认有一个(主)进程。但是我们通过配置可以实现一个应用对应多个进程。本文将试图对于Android中应用多进程做一些整理总结。android:process应用实现多进程需要依赖于android:process这个属性适用元素:Applicati...

2017-01-15 20:38:00 226

原创 一个事半功倍的Java反射库

在Java和Android中,我们常常会使用反射来达到一些兼容的目的。Java原生提供的反射很是麻烦,使用起来很是不方便。比如我们想要调UserManager的静态方法get,使用原生的实现如下1234567891011try { final Method m = UserManager.class.getMethod("get", Context....

2017-01-09 19:02:00 142

原创 为什么程序员应该要尝试写一写博客

作为程序员,最平常不过的就是敲代码了。然也,这是我们自身以及外界对我们最朴实的认知。在编码过程中,我们可能会遇到并解决掉一些问题,积累经验和心得,有的人选择用自然语言记录下来,形成博客,而大多数人往往不会做这种记录。本文将试图探讨,为什么程序员都应该尝试记录自己遇到的问题,经验和心得,以及为什么我们需要以公开的博客的形式来展现。首先,做个简单的自我介绍,我是一名 Android 开发,在大学...

2017-01-02 19:59:00 158

原创 我的2016年总结

岁末年初,辞旧迎新,这一年转瞬即逝,2016年里经历了很多,虽不及大书特写,但还是有必要记录一下,以作日后回顾。读书2016年,由于更换了工作,通勤方式由原来的公交转为了地铁。于是重拾了已经吃灰多年的PaperWhite。这一年读了十几本书,抽取一些简单列举朴素真实的传记,非鸡汤的《褚时健传》读完让人“中毒”的《断舍离》年度最火的东野圭吾的《解忧杂货店》简约不简单的历史书 《你一...

2017-01-01 13:08:00 155

原创 关于对象池的一些分析

在日常的开发工作中,我们可能使用或者听说过对象池,线程池以及连接池。本文将介绍对象池的产生缘由,具体实现细节,以及需要注意的问题。什么是对象池(模式)对象池(模式)是一种创建型设计模式它持有一个初始化好的对象的集合,将对象提供给调用者。对象池的目的减少频繁创建和销毁对象带来的成本,实现对象的缓存和复用什么条件下使用对象池创建对象的成本比较大,并且创建比较频繁。比如线程的创...

2016-12-12 18:57:00 194

原创 Mac为外接显示器调出更多分辨率

最近开始使用媳妇的MBP写代码,接上了买了有一段时间的可以竖屏的戴尔显示器,本以为可以开心写代码了。结果发现还是有问题。我的显示器是1920 * 1080的分辨率,结果找不到,只有上图的两个。于是点了一下1280 * 1024 发现变得严重拉伸变形,瞬间蓝瘦香菇。后来试了几个工具都不太好使,总感觉很是麻烦。无意中Google到了一个小窍门,能调出更多的分辨率来。进入显示设置界面,如...

2016-12-06 09:13:00 2689

原创 关于Java中枚举Enum的深入剖析

在编程语言中我们,都会接触到枚举类型,通常我们进行有穷的列举来实现一些限定。Java也不例外。Java中的枚举类型为Enum,本文将对枚举进行一些比较深入的剖析。什么是EnumEnum是自Java 5 引入的特性,用来方便Java开发者实现枚举应用。一个简单的Enum使用如下。123456789101112// ColorEnum.javapublic enum C...

2016-11-29 07:15:00 135

原创 系统剖析Android中的内存泄漏

作为Android开发人员,我们或多或少都听说过内存泄漏。那么何为内存泄漏,Android中的内存泄漏又是什么样子的呢,本文将简单概括的进行一些总结。关于内存泄露的定义,我可以理解成这样没有用的对象无法回收的现象就是内存泄露如果程序发生了内存泄露,则会带来如下的问题应用可用的内存减少,增加了堆内存的压力降低了应用的性能,比如会触犯更频繁的GC严重的时候可能会导致内存溢出错误,即OO...

2016-11-23 07:13:00 193

原创 Android内存泄漏:谨慎使用getSystemService

Android中有很多服务,比如PowerManager,AlarmManager,NotificationManager等,通常使用起来也很方便,就是使用Context.getSystemService方法来获得。一次在公司开发项目开发中,突然LeakCanary弹出了一个内存泄漏的通知栏,不好,内存泄漏发生了。原因竟是和getSystemService有关。为了排除干扰因素,我们使用一个简...

2016-11-14 20:58:00 393

原创 解决Mac下Chrome发热严重的问题

Mac电脑是一款程序员得力的开发机器,而Chrome也是一个高效率的浏览器.通常,大多数开发都会在Mac上使用Chrome.我也不例外,只是最近遇到了一些比较麻烦的事情.那就是自从用了Chrome之后,电脑发热太严重了,有时候都可以在上面煎个鸡蛋了。打开电脑进程管理器,发现了Chrome进程居然这么多。后来Google到了一些解决方案,做法如下打开Chrome浏览器进入设置选择S...

2016-10-31 22:19:00 4429 1

原创 记一场 Android 技术答疑

之前在Stuq的Android课程中有幸分享了一些关于优化的问题,后期又处理了一些来自网友的问题,这里简单以文字形式做个整理.网络IO应该在哪种形式的线程中执行首先网络IO一般耗时比较长,有的可能到几十毫秒由于耗时较长,如果采用单一线程处理,势必导致后续的请求无法快速执行建议使用线程池来处理达到快速响应和线程的复用。简单示例:123456789101112...

2016-10-24 20:35:00 196

原创 Android中使用ViewStub提高布局性能

在Android开发中,View是我们必须要接触的用来展示的技术.通常情况下随着View视图的越来越复杂,整体布局的性能也会随之下降.这里介绍一个在某些场景下提升布局性能的View,它就是ViewStub.ViewStub是什么ViewStub是View的子类它不可见,大小为0用来延迟加载布局资源注,关于Stub的解释A stub is a small program routi...

2016-09-11 19:57:00 173

原创 两分钟理解Android中SP与DP的区别

从一开始写Android程序,就被告知这些常识长度宽度的数值要使用dp作为单位放入dimens.xml文件中字体大小的数值要使用sp作为单位,也放入dimens.xml文件中然后,就没有然后了,仿佛潜台词就是说,你记住去用就行了.偶然有一天,当我们阴差阳错地将字体写成了dp,也是可以工作,而且效果和sp一样.这时候,就开始怀疑了,到底有啥区别呢,dp和sp有什么不同呢?我们做个简...

2016-09-05 19:41:00 191

原创 探究Android中的注解

本文系GDG Android Meetup分享内容总结文章注解是我们经常接触的技术,Java有注解,Android也有注解,本文将试图介绍Android中的注解,以及ButterKnife和Otto这些基于注解的库的一些工作原理.归纳而言,Android中的注解大概有以下好处提高我们的开发效率更早的发现程序的问题或者错误更好的增加代码的描述能力更加利于我们的一些规范约束提供解决问题...

2016-08-14 20:42:00 271

原创 如何在Android中避免创建不必要的对象

在编程开发中,内存的占用是我们经常要面对的现实,通常的内存调优的方向就是尽量减少内存的占用。这其中避免创建不必要的对象是一项重要的方面。Android设备不像PC那样有着足够大的内存,而且单个App占用的内存实际上是比较小的。所以避免创建不必要的对象对于Android开发尤为重要。本文会介绍一些常见的避免创建对象的场景和方法,其中有些属于微优化,有的属于编码技巧,当然也有确实能够起到显著效果的...

2016-08-01 19:28:00 153

原创 读懂 Android 中的代码混淆

在Android开发工作中,我们都或多或少接触过代码混淆。比如我们想要集成某个SDK,往往需要做一些排除混淆的操作。本文为本人的一些实践总结,介绍一些混淆的知识和注意事项。希望可以帮助大家更好的学习和使用代码混淆。什么是混淆关于混淆维基百科上该词条的解释为代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。代...

2016-07-10 20:19:00 246

原创 程序员怎样才能写出一篇好的技术文章

首先,这算是一篇回答知乎问题 程序员怎样才能写出一篇好的博客或者技术文章?的文章。什么是技术文章这是一个超级简单的问题,技术文章通常是指的涉及技术(这里指的是程序设计)的文章。技术文章可以是原创文章翻译文章,如最常见的翻译英文文章一篇阐述问题相关的文章一个系列的文章,如教程。为什么写技术文章写技术文章的目的据不完全统计,如下备忘帮助他人知识体系积累知识变现提高知...

2016-06-19 20:53:00 238

原创 自定义View:Padding与绘制内容

有些时候,扩展Android框架提供的view并不能很好地解决问题。很多情况下,我们需要进行view绘制来实现想要的效果。本文我们将介绍如何使用Canvas绘制折线图,同时也会介绍一些视图的尺寸和padding的一些工作原理。简单绘制如果你打算在自定义的view中控制绘制内容,最好是直接继承自View类。它是最基础的UI绘制单元。它相对来说功能齐全,虽然相比其他子类少一些功能,但对于本文还是...

2016-06-05 21:29:00 490

原创 Android代码规范利器: Checkstyle

程序代码向来都不仅仅是用来运行的,写的一手好代码,易读,可维护应该是每个程序员所追求的。每个团队都(应该)有一套优良统一的代码规范,而规范的检查依赖于人工检测就不太现实,好在我们有一些分析工具可以辅助我们做这件事。checkstyle是一个帮助我们检查java代码规范的工具。checkstyle具有很强的配置性。本文将简单介绍一些实用的checkstyle知识。配置checkstyle如...

2016-05-22 22:40:00 314

原创 探究Java中的克隆

克隆,想必大家都有耳闻,世界上第一只克隆羊多莉就是利用细胞核移植技术将哺乳动物的成年体细胞培育出新个体,甚为神奇。其实在Java中也存在克隆的概念,即实现对象的复制。本文将尝试介绍一些关于Java中的克隆和一些深入的问题,希望可以帮助大家更好地了解克隆。Java中的赋值在Java中,赋值是很常用的,一个简单的赋值如下1234567//原始类型int a = 1;int ...

2016-05-15 21:10:00 105

原创 一些快速提高Android开发的脚本与技巧(终端篇)

正所谓“工欲善其事必先利其器”,一个好的工具或者技巧能让提升工作效率,起到事半功倍的效果。在这里斗胆列出一些窃以为一些可能快速提高Android日常开发的脚本,希望可以为大家提供一些好的工具,有帮助的思路。打印Debug日志信息该脚本打印了包含崩溃,异常,dalvikvm信息,严格模式和网页CONSOLE等信息。123456789#!/bin/sh#Explanatio...

2016-05-02 21:09:00 142

原创 详解Java中的注解

在Java中,注解(Annotation)引入始于Java5,用来描述Java代码的元信息,通常情况下注解不会直接影响代码的执行,尽管有些注解可以用来做到影响代码执行。注解可以做什么Java中的注解通常扮演以下角色编译器指令构建时指令运行时指令其中Java内置了三种编译器指令,本文后面部分会重点介绍Java注解可以应用在构建时,即当你构建你的项目时。构建过程包括生成源码,编...

2016-04-24 22:06:00 114

原创 计算机领域的日系书籍

在计算机的设计里,很多经典的书籍多为欧美人所撰写,毕竟他们占据了英语这个优势。这里的主题不是推荐英文书籍,而是推荐几本日系的计算机图书。为什么推荐日系首先,我读过几本日系的计算机相关的书,即《计算机是怎么样跑起来的》和《程序是怎么样跑起来的》,我觉得这两本书写的很浅显易懂,引人入胜。在我的观点里,能把一件事或者一个概念能用很浅显的方式描述出来的人必定对这件事真正研究透了。浅显易懂作为日系图书...

2016-04-19 08:10:00 604

Java applet测试用的au音频文件

测试Java Applet的音频文件资源,很难找的,共享一下,免费不需要资源分,欢迎大家下载

2011-06-12

CodeIgniter 或许是最好的讲解

免费共享,从Google Code下载下来的CodeIgniter讲解教程,或许是最好的

2011-05-28

drupal汉化工具

优秀建站软件drupal 水滴的汉化版本,很有用的,如果英语很好,可以不用下载 支持版本6.20

2011-05-08

smarty学习手册 php模板引擎

php 模板引擎smarty 手册 很有用的手册,免费下载啦!

2011-04-30

Zend_Framework_zh.chm zend框架中文手册

Zendf Framework 框架中文手册 phper必备 新浪围裙:开源技术群 @Android月 开源资料

2011-01-03

Apache2.2中文手册.chm 服务器相关

Apache2.2中文手册.chm 当今最流行的服务器软件,是lamp架构之一 新浪围裙:开源技术群 @Android月

2011-01-02

PHP编码规范 编程风格系列

PHP编码风格手册 有助于大家养成一个良好的编写风格!新浪微群:开源技术群(218846)@Android月

2011-01-01

jQuery1.2API(黑色版)

jQuery是一个很流行的JavaScript框架,感觉到很不错的,适合新手学习。再次分享一下。

2010-12-06

AspnetPager

Asp.net 分页控件 实现分页的一个不错的空间,有需要的可以下载一下,分享资源哈

2010-11-26

中英文词典数据库实例

这是我写的一个数据库关于中英文词典的,大家交流一下,哈哈

2010-09-15

vb做的Google播放器 附带源代码

自己写的,看一下吧,感觉还不错,如果有什么bug发给我,适合vb刚入门的新手和有一定编程基础的人员

2010-09-14

空空如也

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

TA关注的人

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