http://developer.android.com被GFW墙了。。。。不知道发什么抽。。好端端的一开发人员网站都墙!诅咒那帮孙子!!好在还可以用http://androidappdocs.appspot.com/index.html访问。
按官方文档装好Android SDK及eclipse ADT,然后挂机花了一整天才下载好SDK platform Android 2.2, API 8及2.3 API 9,网速很慢,2.1 API 7仍以低于5KB/秒的速度缓慢下载中。
第一次运行eclipse Android SDK and AVD Manager时报了个错,说配置不正确,在preference里说一个tools/adb.exe文件不存在。找了下发现这个文件是放在platform-tools目录下的。于是直接把platform-tools下的所有文件拷贝到 tools下,再次运行就可以新增并运行AVD了。
看了下android的hello world,按着步骤运行跑通,就算正式开始了android之旅。
----------
闲话说完,切入正题,以下是随手笔记:
模拟器emulator可以在eclipse打开后就一直开着,因为每次启动emulator时会需要1-2分钟。如果一直开着,之后运行android程序时,会自动在开着的emulator中运行。
android从1.5至2.3之间的版本,通常都是向下兼容,也就是高版本可以运行低版本程序,但低版本运行不了高版本的。 高版本提供更多特性,并且性能和显示分辩率高于低版本。 文档上说有可以“Write Once, Test everywhere”的方式,留待以后再去仔细查阅。
android总体结构如下图:
其中
底层:android是linux内核,应用程序来说,大部分情况下不需要与内核产生直接调用。但还是有些工具可以与linux内核交互,比如通过adb shell执行linux命令来检查文件系统、活动进程、权限等等.
lib库层:c/c++实现的lib库,按分类名故名思义。值得一提的是android内核自带sqlite数据库,可以通过程序对它进行操作访问。此外,html内核和chrome一样是用的webkit。(之前在某地方看到过NDK的概念,这里有一行描述:Startting in Android 1.5, you can write and deploy your own native libraries using the Native Development Toolkit(NDK))
Runtime层:运行于名为Dalvik的java虚拟机之中,所有android应用程序都会运行在这个虚拟机中。它与传统VM的区别主要有两方面:1)Dalvik VM会在运行时将.class和.jar文件转换成更兼容、更有效率且统一的被内存/电池设置管理的.dex文件运行。2)Dalvik VM core libraries与Java SE和java ME libraries不同,具体区别可参考相关文档。
应用框架层(Application Framework):需要注意的几个模块
1)Activity Manager:控制应用程序的生命周期(android一个唯一并且强大的特性是所有的应用程序都有一个level playing field。所有的包括系统应用程序和你的应用程序一样会通过一个公共的同样的API来运行。也就是说你甚至可以将你的程序改变这个field来替换默认自带的系统程序。)
2)Content providers: 压缩存放所有需要被共享的资源比如联系人
3)Resource manager: 非代码类的其它资源管理
4)location manager: 当前所在位置信息
5)Notification Manager: 管理提醒(比如短信、约会提醒等等)
Applications and Widgets层:最上层模块,是日常手机使用者直接使用的layer层。这里的application是指占满整个屏幕并可以与user交互的应用程序,而widget通常只在Home界面上操作一个小的区域。
to be continued...
- 大小: 109.1 KB
分享到:
相关推荐
Android嵌入式思维导图--路漫漫其修远兮,吾将上下而求索
小米11 Ultra作为小米公司进军高端手机市场的旗舰之作,承载着品牌向Android顶级旗舰阵营迈进的期望与野心。在当今智能手机市场,各大厂商的旗舰机型纷纷亮相,竞争激烈,小米11 Ultra能否成为真正的“Android机皇”...
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,...
一款功能强大的软件。独家精彩必看、持续不停歇,涵盖多种题材,满足各种需求(去除广告)
在Android开发中,有时我们需要将一个布局或者自定义View的内容转换为Bitmap图像,这在诸如截图、保存用户界面状态或在网络上传输时非常有用。"viewtobitmap.rar"这个压缩包很可能包含了一个示例项目或者代码片段,...
1. 下拉刷新:这是Google在其Android SDK中提供的一个特性,称为SwipeRefreshLayout。当用户在列表顶部向下拖动时,会显示一个刷新指示器,释放后应用将执行刷新操作。实现这个功能的关键在于设置SwipeRefreshLayout...
【Hrricane视频播放器】是一款专为Android平台设计的视频播放应用,它具备了多项核心功能,旨在提供优质的视频观看体验。该播放器在设计时考虑到了用户的需求,如自动扫描SD卡中的视频文件、一键播放、强制横屏播放...
【TestViewPager】是一个专为Android平台设计的组件,它扩展了传统的ViewPager功能,使得用户可以在垂直方向上进行页面滑动,而不仅仅局限于水平方向。在Android应用开发中,ViewPager通常用于展示多个相互关联的...
Android作为全球最广泛使用的移动操作系统之一,其应用程序开发的基础知识包括了以下几个核心方面: 1. **环境搭建**:首先,开发者需要安装Android Studio,这是Google官方提供的集成开发环境(IDE)。Android ...
在Android平台上,音频处理是一个重要的领域,特别是在实时通信或者语音识别等应用场景中。 Speex是一种开源的音频编解码器,特别适合用于语音通信,因为它提供了高质量的音频压缩以及噪声抑制和回声消除功能。本篇...
微信打飞机是一款非常受欢迎的休闲游戏,其源码对于编程初学者来说是一个很好的学习资源。这款游戏的机制简单但富有挑战性,玩家通过控制飞机躲避敌机和子弹,同时发射炮弹进行反击,得分越高,排名越靠前。...
遮遮 1.0 大小:10.95MB 更新时间:2015-01-11 做更有趣的自己 遮遮是一个分享挡脸图片的社交软件 只有挡住脸的照片,才可以提交。 对某张照片有兴趣,可以申请查看。 总之,有点像假面舞会吧。...
《Android》《重学Android应用开发》《Android杂谈》《LeetCode》005-最长回文子串006-Z字形变换010-正则表达式匹配011-盛最多水的容器012-整数转罗马数字015-三数之和016-最接近的三数之和017-电话号码的字母组合...
目前最好用的app端的网络调试助手,支持自定义键盘设置,自定义界面设置,自定义开端设置,自定义字符设置等等。
本集只有一个主角ActionBar,我们也将ActionBar作为漫漫androidUI组件学习的最后一站,一般情况下,最后一站疯兄都会刻意安排的轻松一些,让大家能够在激情中开始,在快乐中结束,也是对我们能够坚持到底的一种馈赠...
《超级课程表Android项目开发实践》是一份专为Android开发者准备的实践教程,旨在帮助学习者深入了解和掌握Android应用开发,特别是与课程表相关的功能实现。这个资源包含了完整的项目源代码,以及项目的实际运行...
在Android开发中,屏幕适配是一项重要的工作,尤其是在面对各种不同尺寸和分辨率的设备时。"android autoLayout.jar" 是一个专为解决这个问题而设计的工具,它可以帮助开发者快速、高效地生成适配不同分辨率的资源...
《基于Android的手机拍卖系统课程设计深度解析》 在当今移动互联网时代,Android平台因其开源性和广泛的设备覆盖,成为开发者进行应用开发的重要选择。本文将深入探讨一个基于Android的手机拍卖系统,它不仅是一个...
在开发RN的漫漫长河中,早晚有那么一天要接触到安卓的原生开发,笔者来介绍一下其中的酸甜苦辣.对于一个不懂android的小白来说,刚开始有点难,不过都是万事开头难.语言是想通的,原理也是大径若一. 开发过程中是要集成...
在Android应用开发中,"Android下拉list刷新"是一个常见的功能需求,特别是在处理大量数据时。用户通过下拉手势更新列表内容,这通常被称为“下拉刷新”或“Pull-to-Refresh”效果。同时,当用户滚动到底部时加载更...