摘要: 研究了很久的拖拽ListView的实现,受益良多,特此与尔共飨。 鉴于这部分内容网上的资料少而简陋,而具体的实现过程或许对大家才有帮助,为了详尽而不失真,我们一步一步分析,分成两篇文章。一、准备。1.需求问题 初步:实现列表的拖拽效果(可参考Android源码下packages/apps/Music中的播放列表TouchInterceptor.java源码)。 (提前说明一下,本文不是完全按照Music中实现的,代码实现方式做了一些调整,去掉来很多无关的东西,方便大家理解,效果上也修改成了另外一种个人认为是更简单更高效的一套。) 拓展:借鉴上一篇文章Android学习系列(... 阅读全文
posted @ 2013-04-25 12:26 Androidworker 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 吸引用户的眼球,是我们至死不渝的追求; 第一时间呈现最有价值的信息,简明大方,告诉客户,你的选择是多么的明智,这正是你寻觅已久的东西。 分组的应用场合还是很多的,有数据集合的地方往往要分组显示; 分组的形式也很多,最常见的就是镶嵌在列表中,网上说的很多ExpandListView的也是一种。 Android自带的通讯录中的联系人是按照拼音首字母(A,B,C,D......)分组分类的,效果如下: 我们今天也是要实现这样类似的一个效果。1.样本数据: 为了突出重点,直击要点,这里提供一个整理好的数据样本:?1234567891011121314151617181920212... 阅读全文
posted @ 2013-04-25 12:25 Androidworker 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 有人说,程序员很安静,但我不完全同意,程序员的聒噪,是藏在代码后面,是藏在程序后面。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.消息推送机制 服务器器端需要变被动为主动,通知客户一些开发商认为重要的信息,无论应用程序是否正在运行或者关闭。 我想到了一句话:Don't call me,i will call you! QQ今天在右下角弹出了一个对话框:"奥巴马宣布本拉登挂了...",正是如此。 自作聪明,就会带点小聪明,有人喜欢就有人讨厌。2.独立进程 无论程序是否正在运行,我们都要能通知到客户,我们需要一个独立进程 阅读全文
posted @ 2013-04-25 12:22 Androidworker 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.需求 无论是在.net还是java平台,合理的分层架构是最普遍的模块化思路之一。 dll,jar文件无不风靡盛行,无处不在。 一天,tx团队和我说,我们现在要做android上做三个论坛的客户端,一个是新闻论坛,一个是文学论坛,一个是音乐论坛。除了数据,界面和很少的模块不一样,其他的都一摸一样。 jar是我第一刻就想到的东西,但是共用的jar文件无法方便的共享资源或者覆盖资源。 而我们也不会傻傻的单独做三个客户端的吧,也不会傻傻的做3个客户端再傻傻的copy3份,依次修改吧。2.问题 在Andro. 阅读全文
posted @ 2013-04-25 12:21 Androidworker 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 人类科技的进步源自探索,探索来自于发现本原,当然App布局没这么先进,本文也只是一个归类总结。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。Android界面开发多多少少会有很多雷同或者相似的布局,不仅如此,纵观Android应用的界面,总也逃不出那些熟悉的结构。今天,我根据经验,把我认为的常见的布局做一个分析,归纳出几种简单的模型,这些模型一般是我认为解决其对应布局问题的最佳布局,具体要看情况。因为工作的限制,我无法专门研究天马行空,万罗天象的布局,只能根据我工作中碰到的布局,略加斟酌。还有一点我要强调,这些布局的原则就是:简单,灵活。模型一:水 阅读全文
posted @ 2013-04-25 12:20 Androidworker 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 友好的视觉感知和稳定的不出错表现,来自于我们追求美感和考虑的全面性,博客园从技术的角度,一直我都很欣赏。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。这一篇是对上一篇《Android学习系列(2)--App自动更新之通知栏下载》的补充,因此只是以点为要,点到为止。1.内部存储 出于考虑到用户可能禁掉了SDCard或者电脑暂时插在电脑上且为磁盘连接状态等等,对于这么个情况下,我们应该也要保证我们的程序也是能正常的运行。所以我们要考虑内部存储。 我暂时把内部存储定在/data/data/xxxxxappxxxx/files目录,核心代码如下:?1234 阅读全文
posted @ 2013-04-25 12:15 Androidworker 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 做人要大度,海纳百川,做事要圆滑,左右逢源,这让我想到了编程也是如此,代码要扩展,界面也要考虑自适应。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.背景自适应且不失真问题的存在 制作自适应背景图片是UI开发的一个广泛问题,也是界面设计师渴望解决的问题,我相信我们彼此都深有体会。 比如,列表的背景图一定,但是列表的高度随着列表数据项会发生变化;标题栏的背景,无论横屏还是竖屏,高分辨率还是低分辨率,都能自动填充满,而且不失真等等背景问题。 根据以往的经验,我们一般采用先切图后拼凑的做法,这种做法本来我想在这里和大家介绍一下,其实有的时候还是很... 阅读全文
posted @ 2013-04-25 12:13 Androidworker 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 见证过博客园的多次升级,你也希望你的软件通过更新发布新特性通知用户吧,是的。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.设计思路,使用VersionCode定义为版本升级参数。 android为我们定义版本提供了2个属性:?1234<manifestpackage="com.cnblogs.tianxia.subway"android:versionCode="1"<!--Integer类型,系统不显示给用户-->android:versionName="1.0"& 阅读全文
posted @ 2013-04-25 12:11 Androidworker 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 写博客是一种快乐,前提是你有所写,与人分享,是另一种快乐,前提是你有舞台展示,博客园就是这样的舞台。这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。2.签名的步骤 a.创建key b.使用步骤a中产生的key对apk签名3.具体操作 方法一:命令行下对apk签名(原理) 创建key,需要用到k... 阅读全文
posted @ 2013-04-25 12:07 Androidworker 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 原创文章,转载请注明:转载自Keegan小钢本文链接地址:http://keegan-lee.diandian.com/post/2012-12-06/40047548955如果每次加载同一张图片都要从网络获取,那代价实在太大了。所以同一张图片只要从网络获取一次就够了,然后在本地缓存起来,之后加载同一张图片时就从缓存中加载就可以了。从内存缓存读取图片是最快的,但是因为内存容量有限,所以最好再加上文件缓存。文件缓存空间也不是无限大的,容量越大读取效率越低,因此可以设置一个限定大小比如10M,或者限定保存时间比如一天。因此,加载图片的流程应该是:1、先从内存缓存中获取,取到则返回,取不到则进行下一 阅读全文
posted @ 2013-04-18 10:19 Androidworker 阅读(126) 评论(0) 推荐(0) 编辑