Android进化博客
针对android知识的总结和升华!
王宪明_ZeroSon
王宪明——酷爱android系统开发,热爱手机开发!
展开
-
Android闹钟最终版【android源码闹钟解析】
我以前写了个复杂闹钟的demo,参见Android闹钟【复杂版】【大明进化十五】 .但是里面的bug有一些,好多人留言,所以我就看看源码,找找原因?顺便把源码代码整理出来,弄成一个完整的可以运行的apk,今天上午就整理了一下,才发现,源码处理的逻辑多一些,考虑的情况多,比如开机后接收一个广播,然后从数据库中取时间和当前时间对比,设置闹钟,当时区改变了,也会发送广播,对闹钟进行设置的。原创 2012-04-14 18:14:12 · 119889 阅读 · 1021 评论 -
Android中GridView拖拽的效果【android进化三十六】
最近看到联想,摩托罗拉等,手机launcher中有个效果,进入mainmenu后,里面的应用程序的图标可以拖来拖去,所以我也参照网上给的代码,写了一个例子。还是很有趣的,实现的流畅度没有人家的那么好,我只是模仿这种效果,我写的这个拖拽是两个图标之间进行交换,所以,当从一行的某个位置,换到下一行的另一列的时候,发现有好几个图标都改变位置了,因为是相邻两个交换位置,所以每经过相邻的图标的时候都改变位置原创 2012-04-08 09:16:08 · 20343 阅读 · 18 评论 -
Android中Browser中下载覆盖的提示【安卓源码Browser系列一】
安卓官方的Browser的写的真是不怎么样,上个月让我做了一个功能,是修改browser下载的修改,如果sdcard中有了这个文件,就弹出一个Dialog,提示内容为“改文件已经存在,是否覆盖?”,是就删除这个文件,重新下载,否就不做任何操作!谷歌源码的流程是下载文件会另外取个名字,参见Android 下载重复文件命名规则【android源码解析七】这篇文章写得很详细,介绍谷歌源码下载文件后命名规原创 2012-03-30 22:23:16 · 5623 阅读 · 4 评论 -
Android(判断wifi是否开启,手机屏幕状态,sdcard是否被拔出,设置全屏)
工作中遇到的问题要注意总结,我在工作中遇到了问题,现在抽空简单整理一下; 第一个问题:判断手机当前上网用的是sim卡还是wifi,我写了一个封装的方法,以后可以拿来用: /** * check the internet is * mobile or wifi * add by wangxianming * in 2012-03-原创 2012-03-22 23:29:37 · 8868 阅读 · 3 评论 -
Android 下载重复文件命名规则【android源码解析七】
题记:一个人不能在两个同样的坑里摔倒。 去年4月份的时候,我有一个任务,让我写个下载保存文件的方法,如果文件的名字存在,就加“-1”,如果仍然存在,就在-后面的数字加1,例如:文件名:Keep_On_It.mp3,第一次下载是Keep_On_It.mp3,第二次下载名字就保存成:Keep_On_It-1.mp3,第三次下载名字就保存成:Keep_On_It-2.mp3,第四次下载名字就原创 2012-03-11 19:22:23 · 6651 阅读 · 1 评论 -
Android中launcherMode="singleTask"详解【android源码解析六】
android中launcherMode有4中属性:standard(默认), singleTop,singleTask和 singleInstance;网上有好多例子讲解这四种关系的:下面我列举几个链接: 大明原创---->转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/7304191 htt原创 2012-02-28 23:19:56 · 49053 阅读 · 4 评论 -
Android中Ringtone播放详解【安卓源码解析五】
现在咱们来聊聊android系统中铃声的播放,从framework层面说说Ringtone的播放原理,我在android源码中碰到了播放系统铃声中的问题,所以仔细研究了这方面的知识,现在整理一下,给读者一些帮助,现在我对铃声的播放和设置特别亲切,不管是短信铃声方面的,来电铃声,还是日历铃声,email的铃声,闹钟的铃声,都能解决铃声方面的bug。前面我说了Notification的播放机制,And原创 2011-12-30 22:02:18 · 26622 阅读 · 8 评论 -
Android中Notification的framework层讲解【安卓源码解析四】
android的notificaiton的声音sound也是申请的AudioManager机制来播放声音的。最近让我找恢复出厂设置后,手机刚启动,接受短信没有声音,如果恢复出厂设置后,等一会儿,过个2分钟再接受短信,就有铃声了。下面我把我分析代码的方法写下来,给自己和读者一些启发: 日历也是用的是Notification,但是恢复出厂设置后,立马设置日历后,日历可以出声音,我看日历的原创 2011-12-18 17:23:29 · 19192 阅读 · 9 评论 -
Android中Notification详解【android进化三十五】
下面来谈谈notification,这个notification一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个快讯,这时手从上方滑动状态栏就可以展开并处理这个快讯。发现这个功能特别好用,所以我就根据我的理解来谈谈。摘自帮助文档 : notification类表示一个持久的通知,将提交给用户使用NotificationManager。已添加的Notific原创 2011-11-27 23:14:54 · 13128 阅读 · 5 评论 -
我的2011年总结--大明zeroson程序员一周年总结
花絮:看到csdn举办“我的2011”年度征文活动,我恰好工作也一年多了,上个月写了篇博客,主要是我换工作方面的流水账,这篇我从主观、客观、多方位地谈谈我这一年的变化。 从大四实习到毕业这一年多,我被社会这个大染缸已经磨练成熟多了,不再害怕辞职找工作这个过程了,不再害怕加班了,不再害怕上级批评的话语,敢于承担责任,敢于挑战任何困难。这一年的变化生活上住宿条件的变化,从燕郊(通州东原创 2011-12-11 15:13:35 · 11941 阅读 · 36 评论 -
Android中RemoteViews中文帮助文档【安卓翻译一】
前言:大明以后要写一些高质量的博客,尽量说透彻一些,看问题要多角度;遇到问题多思考,其实技术就是一层窗户纸,当你有很多层窗户纸捅不破的时候,就成了困难了,所以解决问题要一层一层分析,把每个窗户纸捅破了,这个问题就pass掉了。我在网上看到大家翻译一些中文的帮助文档,所以我也想翻译试试,看看自己的英文的水平到底怎样?所以小试牛刀一下,先来翻译一下RemoteViews。这个RemoteViews用的翻译 2011-12-04 00:36:10 · 8542 阅读 · 1 评论 -
大明zeroson的程序员生活一周年工作总结
今天是2011年11月19日,据我工作已经有一年零4个月了,其实据我开发刚好有一年多16天,我是去年11月3日做开发这个工作的。在这之前我做过医疗his系统的维护,就是oracle数据库的维护,干过1个月的销售。然后就是开发的工作。下面对我一年来的工作、生活、心得,心态总结一下。把我这一年来的成长经历描述一下,希望给读者带来点启发,也同时对自己一年来工作做一下总结,估计一下一年对我人生来说有什么收原创 2011-11-20 03:14:10 · 13576 阅读 · 41 评论 -
Android中music播放器源码要点详解【安卓music源码进化一】
最近来了个安卓music的bug,播放music的时候,点击上一首播放当前歌,从头开始播放。谷歌公司当初设计的思想是按照以前cd的思想,点击一下回到当前歌的开始点,再点击一下(时间间隔要短,就像双击的效果就可以了)就回到上一首歌了。谷歌的这种思想初衷是好的,但是有个拖动条可以拖动,歌曲可以在任何位置播放,就没有必要这么设计了。对开发来说这个设计没什么,但是对用户来说,用户体验相当不好。个人观点:其原创 2011-11-19 10:51:16 · 7989 阅读 · 7 评论 -
Android中源码Launcher主屏幕程序排列详解【安卓Launcher进化一】
最近研究Lancher,从短信Mms的框架中过度到Launcher的bug和需求修改中,下面对launcher最简单的主屏幕程序的程序的布局的详解,给读者一个入门的感觉,android的主屏幕一共分为5个屏幕,从左到右依次是:0,1,2,3,4。所以想在那个主屏幕放哪些程序或者widget都可以在布局文件中实现,下面我就说说这个布局文件default_workspace.xml。这是对主屏幕进行排原创 2011-11-16 21:43:05 · 14144 阅读 · 4 评论 -
android 双击图片放大,再双击缩小效果 【安卓进化九】
今天写了个onDoubleTap事件的处理方法,双击屏幕事件的放大缩小的程序,双击屏幕图片放大,再双击屏幕图片缩小到原来的效果。 请看截图的效果! 原图:原创 2011-07-29 11:06:56 · 15392 阅读 · 24 评论 -
Android中Message传递参数【安卓进化十六】
最近发现Message,发送消息可以传递参数,这个思路很好,所以写了一个例子,点击屏幕,给Activity发送一个消息,传递两个参数,并把这个activity销毁掉! 转载请标明出处:http://blog.csdn.net/wdaming1986/article/detai原创 2011-09-05 10:02:32 · 26203 阅读 · 2 评论 -
Android Intent传递对象和ArrayList【大明进化十八】
以前做项目的时候,需要Intent 传递复杂类型,例如:数组,ArrayList类型,传递类对象,今天抽空写了个例子,方便以后用的时候查询!有问题可以留言;转载请标明出处:http://blog.csdn.net/wdaming1986/article/details/6原创 2011-09-09 10:16:27 · 16266 阅读 · 6 评论 -
Android中ListView中有button,checkbox,GridView的用法【安卓进化二十五】
最近做项目,用到了listview的item的一些问题,现在抽空把它们总结一下: 转载请表明出处:http://blog.csdn.net/wdaming1986/article/details/6788751 1、如果list原创 2011-09-19 08:52:20 · 12707 阅读 · 8 评论 -
Android中布局的巧妙设计【android进化二十六】
我学android以来,感觉控件都不可以重叠一起的,比如不可以在一个EditText中再放一个TextView,感觉控件都是有位置的,不可以重叠。但是这周看Android短信源码的时候发现控件其实是可以重叠放在一起的,这说明谷歌设计Android语言的时候就考虑到了这点,所以设计原创 2011-09-25 01:01:42 · 9895 阅读 · 3 评论 -
Android ViewFlipper滑动屏幕切换图片【安卓进化十九】
最近看到ViewFlipper和Animation在一起的用法,感觉很好,我就自己写了一下,感觉灰常好用,效果比gallery的滚动查看图片好用多了,这个也是实现滚动屏幕切换图片,但是用户体验要好很多!所以我把自己写的demo分享一下!希望对大家有用,也方便我自己以后查阅!转载请原创 2011-09-10 16:32:55 · 18078 阅读 · 11 评论 -
Android获取屏幕大小和设置无标题【安卓进化二十一】
android获取屏幕大小非常常用,例如写个程序,如果要做成通用性很强的程序,适用屏幕很强,一般布局的时候都是根据屏幕的长宽来定义的,所以我把这个总结一下,方便日后忘记的时候查阅。还有就是有时候写程序根据需求不需要title,可以在程序中设置无title的屏幕!转载请标明出处:原创 2011-09-12 22:51:02 · 6142 阅读 · 0 评论 -
Android动态加载ListView中的Item【安卓进化二十三】
我这周上网看到动态增加listview的每一项item的布局,今天抽空自己写了一个,方便自己日后使用,这个效果还是很不错的,用到了Adapter的notifyDataSetChanged()方法,当点击每一个Item的时候,就通知adapter更新getView,系统得到通知就相原创 2011-09-18 17:07:18 · 19234 阅读 · 8 评论 -
Android在屏幕任意点移动图片【大明进化二十四】
今天看书,看到了这个效果,以前也用过onTouchEvent(MotionEvent event)这个方法,但是没有想到这么用,感觉不错,所以就自己写了一下,感觉效果不错,以后如果做游戏用得到,点击屏幕在屏幕上滑动,图片跟着滑动!效果不错啊!哈哈,分享一下给大家,希望给大家点启迪原创 2011-09-18 22:06:59 · 8840 阅读 · 9 评论 -
Android中Activity不再全屏的处理【安卓进化三十一】
Activity可以设置屏幕不再是全屏,设置dialog的样式就可以了,加载drawable的xml文件,别忘了在manifest中设置主题样式,引用这个style样式,说明一下:在onCreate()方法中是保持activity一直处于显示效果,不会进入休眠状态。转载标明出处:原创 2011-10-07 22:21:35 · 5174 阅读 · 0 评论 -
Android中ListView和ScrollView总结【安卓进化二十九】
Android中ListView的右边滚动滑块的实现方法有两种: (1) 在xml布局中只需要在ListView节点上加入: android:fastScrollEnable="true" 这个属性即可。 (2) 在ja原创 2011-10-01 02:21:38 · 6140 阅读 · 0 评论 -
Android在Linux下编译源码【安卓进化二十八】
在linux环境下怎么编译源码,下面给读者简单介绍一下: 一、步骤如下: $ cd aw813/AP //先进入到要编译的目录下面 $ . build/envsetup.sh // .和build之间有空格 $ choosecombo //然后对应编译环境进行选择,一般情况下选择默认。注意编译user版本要选user。原创 2011-09-26 08:55:48 · 4673 阅读 · 1 评论 -
android adb常用命令总结【安卓进化十】
工作中经常会用到adb的一些命令,今天我总结了一下,对android的adb常用命令进行汇总,希望对大家有点帮助:1、安装apk包install命令:tools>adb install xxx.apk enter2、卸载apk包uninstall命令:tools>ad原创 2011-08-04 22:56:30 · 3587 阅读 · 0 评论 -
Android中widget的应用【安卓源码解析三】
最近看widget,这个widget可以任意放到桌面上(前提是你的桌面上有足够大的空间),感觉效果很炫,widget就是一个BroadcastReceiver,它们使用XML metedata来描述widget的细节。AppWidget framework通过Broadcast intents和Widget通信,widget的更新使用RemoteViews来发送。Remote Views被包装成一原创 2011-11-13 21:30:22 · 6057 阅读 · 0 评论 -
Android中音乐文件的信息详解【安卓源码解析二】
前段时间处理android音乐文件信息,上网查资料发现Android系统自己提供了MediaScanner,MediaProvider,MediaStore等接口并且提供了一套数据库表格,通过 Content Provider的方式把内容共享给用户。说明一下【Android数据是私有的】可以通过Content Provider的方式共享数据,前面我大致介绍了这个Content Provider,A原创 2011-11-06 22:51:42 · 9025 阅读 · 3 评论 -
Android音乐播放器【安卓进化二十】
今日看书,看到这个播放器,我就写了个例子,感觉还行,这个播放器能播放后缀是。MP3的音乐,这个例子在main.xml设置listView的时候,注意:android:id="@+id/android:list"的设置,否则程序会报错,说找不到listview。这个效果还是不错的。原创 2011-09-12 13:22:13 · 12820 阅读 · 27 评论 -
Android中铃声总结【安卓源码解析一】
最近研究源码程序,改了改手机短信铃声的源码,最近总结了下铃声的代码,写个activity继承PreferenceActivity有:手机短信铃声,手机铃声,闹钟铃声,还有sdcard中的铃声,通过选择相应的铃声,然后读取到xml文件里面,通过读取preference.xml文件,intent传个参数进去intent.putExtra(RingtoneManager.EXTRA_RINGTONE_E原创 2011-10-30 22:10:25 · 17856 阅读 · 18 评论 -
Android 双色球小游戏【安卓进化十二】
最近看了一个手机游戏的例子,我就用课余时间把简单的游戏开发思想介绍一下,首先,游戏一般都只有一个activity类,其余的都是集成的是view类的子类!然后我写的游戏算坐标的地方比较多!然后就是刷新界面的方法来更新游戏界面的变化!我写的这个例子有四个主菜单,开始菜单,音效设置菜单原创 2011-08-13 05:44:53 · 9345 阅读 · 60 评论 -
android ,点击title的ImageView弹出PopupWindow【安卓进化七】
一、曾经做过一个项目,用的大概就是这种布局,title布局,title右边是ImageView,点击每一个图标,弹出PopupWin,点击其他按钮PopupWin就在原地消失。这个效果还很不错的,我挺喜欢的,所以抽空把它写了出来。现在将代码给大家提供一下,希望能给大家一些提示。先看截图: 点击MP3这个图标:原创 2011-07-26 22:49:13 · 15899 阅读 · 156 评论 -
Android闹钟【复杂版】【大明进化十五】
最近做闹钟,所以自己写了个Demo版本,这个程序是用listview单独的类来实现的,和activity类分开来实现的!这个是用数据库进行更新的,当闹钟设置后,闹钟图片变成闹钟的样子,闹钟取消后,图片变成灰色的闹钟,这个是用ListView来实现数据库更新数据的!然后弹对话框来实现时间的设置和周几重复的功能,这个功能能实现,我测试了!正确无误! 需要注意的地方有两个:原创 2011-09-03 16:40:01 · 16412 阅读 · 59 评论 -
Android中ContentProvider简介【安卓进化二十七】
对做应用的来说,数据存储很重要,在【安卓进化十三】中有SharedPreferences简单键值存储形式,以xml格式存储在手机中,这个是简单,方便,好操作的数据存储工具,只能存简单的数据,如果存储大量数据这个就不方便了。在【安卓进化十四】中,我写了个sqlite的数据库保存数据原创 2011-09-26 08:43:59 · 3597 阅读 · 1 评论 -
Android中File形式保存数据【安卓进化三十】
前面我简单地介绍了2种数据保存的方式,例如:在【安卓进化十三】中介绍了Shared Preferences,在【安卓进化十四】中我写了个sqlite的数据库保存数据的通讯录的例子,下面我介绍一下File保存数据的形式,File形式我讲两点,一个是文件是不能在不同的程序间共享的。原创 2011-10-07 21:34:47 · 3461 阅读 · 1 评论 -
Android 个人通讯录【安卓进化十四】
最近写数据库,我就自己写了个带密码的个人通讯录,感觉sqlite特别好用,和mysql,sqlserver都一样,真是简单的关系型数据库,注意:开启数据库,cursor后一定要记得关闭close()掉,避免浪费资源。另外adapter的notifyDataSetChanged()原创 2011-08-28 17:27:07 · 6865 阅读 · 18 评论 -
Android小闹钟程序【安卓进化十三】
最近写了个闹钟的程序,看到SharedPreferences在一个程序中可以共享数据,SharedPreferences是一个轻量级的键值存储机制,只可以存储基本数据类型。我就拿来用用,没想到SharedPreferences太好了,真是轻量级的保存数据的好的工具,比sqlite原创 2011-08-21 12:49:33 · 28575 阅读 · 99 评论