Android开源项目解读
Android开源项目代码的详尽分析
ACE1985
这个作者很懒,什么都没留下…
展开
-
Android开源项目-Jamendo音乐播放器研究与优化-AndroidManifest文件和Application类
【音的特性有四种:音高、音长、音量和音色】 --- 《五线谱基础教程》 Android项目的分析一般从AndroidManifest.xml文件开始,从这个文件我们可以一窥这个app定义的activity、service等四大组件的配置,以及使用的sdk版本和声明的权限等信息。 一 标签的顺序问题 首先使用Android Lint工具检查下这个配置文件,我们发现出现了一个l原创 2012-08-19 13:34:58 · 6617 阅读 · 6 评论 -
Android开源项目-Jamendo音乐播放器研究与优化-开篇
【Jamendo是一个音乐平台与社群网站。Jamendo上的所有音乐都使用Creative Commons授权或自由艺术授权,这使得任何人可以免费下载,而且复制与分享的行为都是合法的。根据所使用的授权类型,对歌曲进行修改或者商业使用也都可行。Jamendo允许使用者透过串流方式,以收听Ogg Vorbis或MP3格式的音乐,并能透过BitTorrent与eDonkey网络下载音乐档案。】 ---原创 2012-08-18 18:26:19 · 9455 阅读 · 4 评论 -
Android开源代码解读の地图照片应用Panoramio的实现详解(六)
本文介绍文件ViewImage.java和ViewMap.java。前者实现单张图片信息的浏览,后者实现自定义的地图,用于显示图片拍摄地点和用户当前所在地点。ViewImage实现的Activity界面如左下图,点击手机的菜单键时,弹出菜单选项界面如右下图:原创 2012-02-26 10:59:00 · 2553 阅读 · 0 评论 -
Android开源代码解读の地图照片应用Panoramio的实现详解(五)
在前面几篇文章中,我们或多或少了解到了ImageManager类的存在,它负责从Panoramio服务器下载搜索区域内的图片数据,同时进行解析。当然,这一切是在独立的后台线程中进行的,下载的情况通过观察者模式通告给ImageList进行显示(ImageManager是被观察对象Subject)。注意,ImageManager是一个单例类。本文涉及到的知识点有两个:JSON和WeakRefere原创 2012-02-25 00:31:08 · 2829 阅读 · 1 评论 -
Android开源代码解读の地图照片应用Panoramio的实现详解(四)
本文继续讲解Panoramio的实现,主要介绍ImageAdapter.java和ImageList.java 这两个文件,这两个文件实现了如下所示的界面,左图是数据从网络加载过程中,有图是加载完成后的效果: ImageAdapter继承自BaseAdapter类,实现图片适配器的功能,而ImageList则继承自ListA原创 2012-02-23 23:44:54 · 5545 阅读 · 5 评论 -
Android开源代码解读の地图照片应用Panoramio的实现详解(三)
本文介绍程序主界面的实现,对应的文件是Panoramio.java,主界面提供给用户从地图上选择搜索区域的功能,因此,直接从MapActivity继承,并实现OnClickListener接口。这样一来,这个类的初始框架如下代码所示:import com.google.android.maps.MapActivity;import android.os.Bundle;import and原创 2012-02-22 23:49:43 · 2489 阅读 · 0 评论 -
Android开源代码解读の地图照片应用Panoramio的实现详解(二)
本文分析两个类:程序中用到的数据类PanoramioItem,以及工具类BitmapUtils。1)Parcelable接口和PanoramioItem类任何类如果希望自己的实例能够写入到Parcel中或者从Parcel中恢复出来,都必须实现Parcelable接口,实现这个接口的类除了要重写接口中定义的函数,还需要定义一个名为CREATOR的静态域,而CREATOR是实现Parcelab原创 2012-02-22 00:07:05 · 3180 阅读 · 1 评论 -
Android开源代码解读の地图照片应用Panoramio的实现详解(一)
Panoramio是一个照片分享社群,网址是http://www.panoramio.com/,现在被google收购了。注册之后就可以上传自己的照片,这些照片上传后可以在卫星地图上进行定位,经过审核的照片将有可能出现在Google Earth上,网站的宗旨是以照片发掘全世界,网站的logo如下:本文将要学习的开源代码也叫Panoramio,它实现的功能就是根据用户在地图上选择的地原创 2012-02-20 23:32:33 · 3670 阅读 · 1 评论 -
Android开源代码解读のOnScrollListener实现ListView滚屏时不加载数据
使用ListView过程中,如果滚动加载数据的操作比较费时,很容易在滚屏时出现屏幕卡住的现象,一个解决的办法就是不要在滚动时加载数据,而是等到滚动停止后再进行数据的加载。这同样要实现OnScrollListener接口,关于该接口的简要描述见上一篇文章,这里直接进行代码的分析:package hust.iprai.asce1885;import android.app.ListActi原创 2012-02-19 21:37:50 · 4926 阅读 · 1 评论 -
Android开源代码解读のOnScrollListener实现ListActivity滚屏首字母提示
OnScrollListener接口是定义在AbsListView中的,而AbsListView的直接子类有GridView和ListView,非直接子类有ExpandableListView。OnScrollListener的完整路径是frameworks\base\core\java\android\widget\AbsListView.java,代码如下:/** * Interfa原创 2012-02-19 19:22:22 · 3797 阅读 · 1 评论 -
Android开源代码解读の使用TelephonyManager获取移动网络信息
本文介绍使用TelephonyManager来获取手机SIM卡的状态和移动网络的相关信息,主要使用了TelephonyManager.listen函数,这个函数源码如下:public void listen(PhoneStateListener listener, int events) { String pkgForDebug = mContext != null ? mCont原创 2012-02-18 14:10:28 · 4810 阅读 · 1 评论