【起航计划 002】2015 起航计划 Android APIDemo的魔鬼步伐 01
本文链接:【起航计划 002】2015 起航计划 Android APIDemo的魔鬼步伐 01
参考链接:http://blog.csdn.net/column/details/mapdigitapidemos.html?&page=12
该专栏含:简明android教程24篇,API Demo示例解析205篇,对全面理解android,及利用android进行应用开发帮助极大!是初、中级开发人员的理想学习干货!
01 2014年 智能平台市场占有率
最新数据:2014年Android市场份额81.5% iOS份额下降

注:android和ios智能手机的出货量明显增加,ios市场份额与前一年基本持平,由于ios开始进军大屏手机,加上ios系统流畅的优势,以及苹果的品牌效应,个人觉得,像往年android快速蚕食市场份额的情况将有所改观,而且可能逆流而上。而在车载系统、穿戴设备以及智能家居上,android与ios的市场争夺将会持续。
02 国内手机市场占有率

注:三星仍是android智能手机的龙头老大,但是2014年的出货量相对之前没有增长,在市场需求不断扩大的背景下,三星不进则退。
而相对的国内其他厂商今年的发展可谓时爆发式的,很多用户都被小米华为联想酷派魅族的旗舰机所吸引,很多钟爱三星大屏手机的用户也转而选择国产手机以及iphone6、iphone6+。
设备活跃度指数数据:友盟数据
03 iPhone在美国手机市场占有率超过安卓
iphone6\6+的问世虽然饱受争议,但是它的成功时毋容置疑的,现在钟爱iphone的用户们有了更多的选择权。
对于好面子的国人来说,iphone无疑时最好的身份武器,在钱不当钱的今天,6千的价格已经不是国人追求高大上的阻碍,可以说,大部分人都想拥有一台iphone设备,而这并不仅仅因为iphone的系统流畅度导致的。
个人觉得iphone近两年的产品已经不能引领时代的进一步变革,尽管它还是这个时代最优秀最令人喜爱的作品之一。反而我更相信android在下一个时代到来时能够存活或者演变,当智能机不能满足人们的惰性的时候,留下来的或许是android。一直相信android不是屌丝的代名词,希望它能推动亚人工智能时代的尽快到来!
04 android 平台开发的“低耦合”和“重用”
Activity之间的交互通过intent消息来触发,这样最大程度上减小了模块间的耦合度,类似于Subscriber/Publisher机制。发布者/订阅者模型的低耦合性较高,消息发布者通常不会意识到有多少订阅者或那些订阅者如何处理这些消息。
一个android应用相当于一副扑克牌,而没张牌都是一个activity。这里所说的“重用”是指android应用在运行时可以触发其他应用的activity,而不需要在当前应用重新实现这个activity。
05 android的用户界面设计
一个android应用相当于一个application实例,application中可以包含多个activity,而每一个activity都有一个window(通过getWindow()获取),通过这个window可以设置全屏,标题栏等。activity缺省是不含有用户界面的,需要用setContentView设置contentView,而contentView包含各种View及ViewGroup。
用户界面设计其实就是ContentView的设计。

*******************************************************以上记于2015.02.26,乙未年上班第一天**********************************************************
android 用户界面设计推荐使用xml来描述UI,使界面设计与程序逻辑分开,若用代码实现UI,将大大增加模块之间的耦合度。
06 Intent与Intent Filter
Intent实现了android的低耦合,各组件之间相对独立,intent是组件间的粘合剂。intent不仅可用于本应用组件之间的交互,也可用于不同应用之间的组件交互。
Android 操作系统根据Activity的intent-filter来匹配Intent,从而触发目标Activity,或是Service,Broadcast Receiver。
【起航计划 002】2015 起航计划 Android APIDemo的魔鬼步伐 01的更多相关文章
- 【起航计划 037】2015 起航计划 Android APIDemo的魔鬼步伐 36 App->Service->Remote Service Binding AIDL实现不同进程间调用服务接口 kill 进程
本例和下个例子Remote Service Controller 涉及到的文件有RemoteService.java ,IRemoteService.aidl, IRemoteServiceCallb ...
- 【起航计划 031】2015 起航计划 Android APIDemo的魔鬼步伐 30 App->Preferences->Advanced preferences 自定义preference OnPreferenceChangeListener
前篇文章Android ApiDemo示例解析(31):App->Preferences->Launching preferences 中用到了Advanced preferences 中 ...
- 【起航计划 027】2015 起航计划 Android APIDemo的魔鬼步伐 26 App->Preferences->Preferences from XML 偏好设置界面
我们在前面的例子Android ApiDemo示例解析(9):App->Activity->Persistent State 介绍了可以使用Shared Preferences来存储一些状 ...
- 【起航计划 020】2015 起航计划 Android APIDemo的魔鬼步伐 19 App->Dialog Dialog样式
这个例子的主Activity定义在AlertDialogSamples.java 主要用来介绍类AlertDialog的用法,AlertDialog提供的功能是多样的: 显示消息给用户,并可提供一到三 ...
- 【起航计划 012】2015 起航计划 Android APIDemo的魔鬼步伐 11 App->Activity->Save & Restore State onSaveInstanceState onRestoreInstanceState
Save & Restore State与之前的例子Android ApiDemo示例解析(9):App->Activity->Persistent State 实现的UI类似,但 ...
- 【起航计划 003】2015 起航计划 Android APIDemo的魔鬼步伐 02 SimpleAdapter,ListActivity,PackageManager参考
01 API Demos ApiDemos 详细介绍了Android平台主要的 API,android 5.0主要包括下图几个大类,涵盖了数百api示例:
- 【起航计划 035】2015 起航计划 Android APIDemo的魔鬼步伐 34 App->Service->Local Service Controller
Local Service Controller 是将LocalService当作“Started”Service来使用,相对于”Bound” Service 来说,这种模式用法要简单得多,Local ...
- 【起航计划 034】2015 起航计划 Android APIDemo的魔鬼步伐 33 App->Service->Local Service Binding 绑定服务 ServiceConnection Binder
本例和下列Local Service Controller 的Activity代码都定义在LocalServiceActivities.Java 中,作为LocalServiceActivities ...
- 【起航计划 033】2015 起航计划 Android APIDemo的魔鬼步伐 32 App->Service->Foreground Service Controller service使用,共享service,前台服务,onStartCommand
Android系统也提供了一种称为“Service”的组件通常在后台运行.Activity 可以用来启动一个Service,Service启动后可以保持在后台一直运行,即使启动它的Activity退出 ...
随机推荐
- 【洛谷2324】[SCOI2005]骑士精神 IDA*
[SCOI2005]骑士精神 描述 在一个\(5×5\)的棋盘上有\(12\)个白色的骑士和\(12\)个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为 ...
- [国家集训队]特技飞行 贪心BZOJ2697
题目背景 1.wqs爱好模拟飞行. 2.clj开了一家神犇航空,由于clj还要玩游戏,所以公司的事务由你来打理. 注意:题目中只是用了这样一个背景,并不与真实/模拟飞行相符 题目描述 神犇航空开展了一 ...
- .net mvc 框架实现后台管理系统 2
layui 数据表格 返回格式: var json = new { code = 0, count = pagers.totalRows, msg = "", data =null ...
- 解决maven项目中有小红叉的问题
首先在window--perferences--showview中显示problems中查看出错的原因
- vscode 注册表
Windows Registry Editor Version 5.00 ; Open files [HKEY_CLASSES_ROOT\*\shell\Open with VS Code] @=&q ...
- 学习C/C++需要掌握哪些知识
初级阶段 1.C语言 数据类型.变量.内存布局.指针基础: 字符串.一维数组.二维数组: 一级指针,二级指针,三级指针,N级指针概念,指针数组和数组指针: 结构体.文件的使用: 动态库的封装和设计: ...
- POJ 3067 Japan (树状数组 && 控制变量)
题意: 西海岸和东海岸有分别有n (1~n)个和m (1~m)个城市, 两个海岸的城市之间有k条公路连通, 公路会相交, 现在给出城市和公路的信息问你由这些公路组成的复杂交通有多少个交点 (如果两个条 ...
- 数据恢复(Data recovery)
定义数据恢复: 当存储介质出现损伤或由于人员误操作.操作系统故障本身故障所造成的数据不可见,无法读取.丢失. 工程师通过特殊的手段读取却在正常状态下不可见,不可读,无法读的数据. 数据恢复(Data ...
- rest_framework 的验证,权限,频率
回到顶部 快速实例 Quickstart 回到顶部 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之 ...
- Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性
一.前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目 ...