自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Alex Tam 的专栏

努力对了,努力就对了.

  • 博客(19)
  • 资源 (8)
  • 收藏
  • 关注

原创 Fragment的通信问题, 新建Fragment为何不要在构造方法中传递参数?

最近有个新进来的同事做Android开发,因为之前都是做Java的,所以新建对象习惯在构造方法里面去传递参数回调方法什么的.于是当他在Activity中创建Fragment的时候,也使用了类似new TestFragment( "content" ) 这样的方式去将Activity中的参数传递到TestFragment中. 第一次用的时候没报错,然后进出几次TestFragment就报androi

2015-03-31 00:56:00 6253 4

原创 关于Activity使用startActivityForResult()跳转后,onActivityResult()无法响应RESULT_OK的原因

最近碰到这个问题, 然后Google一番. 于是记录下来. 去翻Android Developers网站的Reference, 在Activity的介绍中有段文字如下:意思是当Activity的启动模式是singleTask时,这个Activity不会运行在该task任务栈中.并且会马上收到一个cancel result的信号.这就是原因了.比如Activity A

2015-03-26 11:57:31 3089

原创 Android基础视图组件之计时器( Chronometer )

安卓系统是内置了计时器(Chronometer)的,但是不很强大,只能显示以秒为单位的计时。如果要具体到毫秒级,就要自己写方法实现了。因为Chronometer这个组件灰常简单,提供的api方法也少,可直接通过例子了解。计时器(Chronometer)的核心方法有:start()   //开始计时stop() //结束计时setBase() //设置开始时间,一般使用S

2015-03-23 22:23:16 1751

原创 安卓动画系列之属性动画实现跳起落下圆圈运动

最近看了淘宝手机端的有些页面是类似下面这个小球的加载效果。后来了解了下,淘宝是直接一个gif图片实现效果的,这当然是最简单的方法。为了加深了解属性动画,这次就做个类似的效果。这依旧由几个简单的属性动画组合在一起,所有动画都在代码里实现了。看注释就好。上个效果图:实现代码:小球圆圈的XML文件 drawable_dot.xml:<shape xmlns:an

2015-03-22 23:14:23 1680

原创 安卓动画系列之五, 属性动画PropertyAnimation(下) - 通过官方例子深入了解

这里继续之前写的上篇属性动画PropertyAnimation(上)之初步印象 来写下篇,了解一下自定义的对象如何调用实现属性动画,还有AnimatorSet的一些灵活用法.本来也尝试像之前那样写demo去讲,但发现android官方在这方面已经提供了非常好的例子,于是就拿官方的这个小球下落回弹来作为例子,深入的了解属性动画的用法吧. 代码中的注释我已经非常详细,所以不再另外写出来了.过一遍代码,

2015-03-18 20:43:41 1130

原创 android的ShapeDrawable源码解析

相信很多人都用XML里面的shape标签,就能实现椭圆,矩形等图形.然后直接当做Drawable来使用.比如ImageView.setImageDrawable(Drawable). 没错,这个shape标签所实现的图形Drawable其实就是ShapeDrawable对象,而ShapeDrawable是 Drawable的子类.(按照这个规律,也许你还会发现Drawable的子类还有Gradie

2015-03-13 22:36:26 2178

原创 插入排序算法之C++实现

插入排序,顾名思义其实现形式是插入.在整个大小不一的队列中, 第一次: 从一个元素开始,将后面相邻的元素(第二个元素)提取出来,放在一个变量中暂时保存,然后和第二个元素前面的那个元素(第一个元素)做比较,如果比它大,当然就不变动位置;但如果比它小,就将前面那个元素移动到第二个元素的位置,然后将变量的元素插入放在第一个元素的位置; 第二次: 从第二个元素开始将后面相邻的元素(第三个元

2015-03-12 23:31:42 2434

原创 Android性能优化之实现双缓存的图片异步加载工具(LruCache+SoftReference) - 拿来即用

之前在郭大神的博客看到使用LruCache算法实现图片缓存的.这里仿效他的思路,自己也写了一个. 并加入ConcurrentHashMap>去实现二级缓存,因为ConcurrentHashMap是多个锁的线程安全,支持高并发.很适合这种频繁访问读取内存的操作.下面整个思路是,使用了系统提供的LruCache类做一级缓存, 大小为运行内存的1/8,当LruCache容量要满的时候,会自动

2015-03-11 00:32:42 1610

原创 选择排序算法之C++实现

选择排序算法, 和上篇讲的冒泡算法很类似.很容易混淆理解.所以这篇紧接着就讲选择排序算法.上篇讲过,之所以叫冒泡排序, 是因为从第一个数开始和自己相邻的元素做两两比较,哪个最大就后置,然后这样第二个元素就比第一个元素大,用同样的方法就保证了第三个元素又比第二个元素要大.不断重复这个过程, 最后一个元素肯定是最大的.这样,整个排序是两两比较,找出最大的,从大到小找出所有元素去排列,就就像

2015-03-10 01:03:35 966

原创 冒泡算法之C++和Java实现

(大神可以请直接忽略这篇文章了...)最近碰到一些算法的问题,于是重新去温习了.冒泡算法应该是最简单实现的算法之一,复杂度也不算高.在日常用还是经常被用到.至于为什么叫冒泡算法? 是因为数值大小不一的散乱排列的元素,经历这样的处理: 第一次,先将排列的第一个元素和临近的第二个元素对比,谁的数值大就放在后面,数值小的元素就往前移. 然后第二次, (这个时候第二个元素已经比第一个元素大了) 将第二个元

2015-03-09 01:14:12 688

原创 android之手机开机启动Service服务

之前,介绍了四大组件的BroadCastReceiver和Service,这次我们利用广播来启动Service服务. 这种实现在很多APP都有出现,比如很多应用安装后,只要使用过一次,后面重启手机它可能就会推送一些消息给用户的手机,在顶栏显示某个应用又有什么消息之类的.这只是Service的行为, 只要成功启动了Service服务,还可以根据需要自定义其他的行为.关于BroadCast

2015-03-08 18:07:54 1530

原创 android四大组件之Service和子类IntentService

四大组件中, Service跟Activity的生命周期非常类似,它也是可执行的.甚至可看做是没有界面的"Activity", 因为它的运行,用户并不会像Activity那样能看到它能呈现出来具体的视图界面. 同样,就像Activity一样, 需要继承Service来使用它的子类. 并且同样需要在AndroidManifest.xml中配置所定义的Service.Service的生命周

2015-03-07 10:14:53 1427

原创 android四大组件之广播接收器BroadcastReceiver

Android有一个非常重要的特性,就是广播.也可以将广播看做是通信机制.  Android四大组件: Activity, service, broadcastReceiver 和contentProvider, 只有Activity和service有完整的生命周期, 其他 broadcastReceiver 和contentProvider 都没有.  broadcastReceiver 本质上

2015-03-05 23:16:45 1020

原创 android四大组件之Activity - (2)onNewIntent()的作用

要说onNewIntent(), 就不得不提到Activity的四种启动模式.分别是:1, standard, 标准模式 (也是系统默认的模式) 每次都会新建Activity放置任务栈中.2, singleTop 模式这个模式能够确保每次使用的Activity都处于任务栈的栈顶.如果Activity已经处于栈顶则不再创建,否则会创建新的Activity实例并放置在栈顶.

2015-03-05 19:42:33 1653

原创 android四大组件之Activity - (1)从源码中理解并巧用onWindowFocusChanged(boolean hasFocus)

这里开始到后面,想趁着有时间,将Android四大组件和一些系统组件做一些总结和记录.由于网上已经有很多写的很好并且总结也全面的文章.小弟我也囊中羞涩不敢献丑,就记录一些自己觉得重要的有用的知识点,顺便大家一起学习讨论啥的也好Activity作为四大组件之一,对于整个Android开发有多重要就无需赘言了.关于它的生命周期,这里借用下官网的图,便一目了然:那么它的生命周期和

2015-03-04 23:56:11 2298 1

原创 android调用系统的分享功能实现分享到短信,邮件和其他

之前写过一篇文章利用友盟等第三方实现分享到微信,微博和豆瓣等第三方社交站点.本次我们利用系统自带的分享功能去做,虽然简单,但对于以前类似友盟等第三方社交分享组件还没做的成熟的时候,也是一种好的选择.所以这里直接上代码对系统分享做个记录,代码有必要注释,所以就不做啥说明了:/** * 弹出分享列表 */ private void showShareDialog(){

2015-03-03 17:43:57 5939

原创 安卓性能优化之Activity和Fragment通过onSaveInstanceState()保存和恢复数据

Activity和Fragment 都有自己的生命周期,而且很类似.Fragment比Activity多了onAttach()和onCreateView()这些方法.整体它们两者是一样的周期,都会经历从创建视图( onCreate(),onCreateView(),onStart() )到暂停( onPause(), onStop() ) 到重新返回( onResume() ) 到最后销毁( on

2015-03-03 15:04:50 4672 1

原创 安卓解决WebView中无法执行js的问题

WebView中支持js 使得WebView变得一下子强大起来,甚至很多web app的应用直接使用WebView去传参.有时候明明在测试的时候js是没问题的,而混淆打包后就无法执行了.比如在WebView所加载的图片中给各个图片都添加了点击事件的响应,但是混淆加密发布正式的包后安装发现点击相应WebView的图片毫无反应.归类后主要有下面2种情况:情况一,测试时js可执行,混淆加密后js不可

2015-03-02 14:48:56 10941

原创 安卓静默安装之shell命令实现(需要root权限)

现在很多应用比如360卫士,很多应用市场都搞后台的静默安装.对于静默安装,首先需要设备已经root了, 不然只能依赖系统自带的安装了.(之前在网上论坛看到有评论说不root也能实现静默安装,但最近了解下还是没研究出来,也许是我研究的不够深入吧,后面继续学习这方面的东西.) ,实现一般使用隐藏的PM接口, 或者shell命令.关于隐藏api去实现 这篇文章已经写得很仔细,所以这里选择了后

2015-03-01 23:08:29 3306

Lucene5.2.1 入门学习例子

Lucene5.2.1 入门学习例子. 这是别人的例子源码,原下载是要积分的. 所以上传在这免积分.

2015-08-09

Android下拉刷新点击加载ListView

Android下拉刷新点击加载ListView

2015-07-24

Android调用本机相机实现拍照和截图,保存至本地

这是很久以前测试的代码,现在重新精简了下备个份吧.

2015-05-22

仿ZAKER,网易云阅读等新闻应用的内容缓存加载方式Demo

利用WebView加载,并缓存新闻内容的加载. 原文链 接:http://blog.csdn.net/stzy00/article/details/45905497

2015-05-22

安卓帧动画FrameAnimation例子

一个动态表情的例子,快速了解帧动画的使用.

2015-01-31

TestCompleteText_AutoCompleteTextView和TextWatcher结合使用

TestCompleteText_AutoCompleteTextView和TextWatcher结合使用的小栗子, 常见的安卓TextView输入显示关键词下拉提示.

2014-09-15

图片轮播_支持显示网络图片及下载图片至SD后再显示_switchPicDemo

图片轮播_支持显示网络图片及下载图片至SD后再显示.

2014-08-22

Delphi编写的学校公寓管理系统

有空用Delphi写了个简单的公寓管理系统。还在完善中。

2011-12-21

空空如也

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

TA关注的人

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