指定合理的学习步骤,将各个技术点进行强化。慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资方式。风险成本极小,但是收货极佳。
用最小的杠杠,撬动爆发力极强的财富,那就是学习和经验的累积的过程!
【学习顺序-1 国内篇】
【Xamarin Android开发实战基础篇】
第1章 Xamarin开发Anroid应用介绍 11.1 Xamarin基本知识 11.1.1 Xamarin发展 11.1.2 Xamarin工具 11.2 Android基本知识 21.2.1 Android版本介绍 21.2.2 Android系统介绍 31.3 如何使用Xamarin开发Android应用 31.3.1 Android开发工具 31.3.2 Xamarin开发工具 41.3.3 VS 2013介绍 4第2章 环境搭建 62.1 下载安装Visual Studio 2013 62.1.1 下载Visual Studio 2013 62.1.2 安装Visual Studio 2013 72.2 下载安装JDK 122.2.1 下载JDK 122.2.2 安装JDK 142.3 下载安装Android SDK工具 182.3.1 下载Android SDK工具 182.3.2 配置Android SDK 202.3.3 下载安装Android NDK 232.3.4 新建Android模拟器 242.4 下载安装Xamarin 262.4.1 下载安装GTK# 272.4.2 下载安装Xamarin Studio 292.4.3 下载安装Xamarin.VsualStudio 342.5 验证环境配置是否正确 352.5.1 下载并加载官方实例 352.5.2 检验实例的使用 38第3章 Android中的界面布局 453.1 Android界面布局介绍 453.1.1 新建Android项目 453.1.2 界面布局介绍 473.2 线性布局LinearLayout 493.2.1 垂直线性布局 493.2.2 水平线性布局 533.3 相对布局RelativeLayout 573.3.1 相对于父容器的布局 573.3.2 相对于控件的布局 603.4 表格布局TableLayout 663.4.1 表格布局的介绍 663.4.2 TablLayout的使用 673.5 网格布局GridLayout 703.6 帧布局FrameLayout 72第4章 简单控件 744.1 控件构成 744.1.1 什么是Android中的控件 744.1.2 Android控件的使用 744.2 文本类控件 764.2.1 使用TextView控件 764.2.2 使用EditText控件 814.3 按钮类控件 874.3.1 Button控件使用 874.3.2 ImageButton控件使用 904.3.3 ToggleButton控件使用 934.3.4 RadioButton控件使用 944.3.5 CheckBox控件使用 994.4 图片控件ImageView 1034.5 时钟控件 1044.6 时间日期控件 1054.6.1 TimePicker控件使用 1054.6.2 DatePicker控件使用 107第5章 实现应用的Activity 1095.1 Activity介绍 1095.1.1 Activity类 1095.1.2 Activity生命周期 1105.2 重新学习创建应用 1145.2.1 创建应用 1145.2.2 保存和恢复Activity的状态 1155.3 使用两个Activity 1195.3.1 启动第一个Activity--主Activity 1195.3.2 创建并启动第二个Activity 1225.3.3 在两个Activity之间转换 1285.4 在两个Activity之间传递数据 1305.4.1 传递数据到目的Activity 1315.4.2 返回Activity的数据 1335.5 提前了解Intent和IntentFilter 1355.5.1 Intent的类介绍 1355.5.2 IntentFilter介绍和使用 137第6章 Service类和Android服务 1426.1 Service类及Service简介 1426.1.1 Service类 1426.1.2 Service介绍 1426.2 创建Service 1436.2.1 Service的创建 1446.2.2 绑定Activity的Service的创建 1486.3 Service通信 1516.3.1 Service通信 1516.3.2 使用Message实现Service通信 1556.4 系统提供的Service 1606.4.1 电话管理--TelephonyManager 1606.4.2 短信管理--SmsManager 1636.5 广播接收BroadcastReceiver 166第7章 数据存储和读取 1687.1 文件存储 1687.1.1 使用Asstes中的文件 1687.1.2 读写SD卡中的文件 1707.2 SQLite中的数据读写 1757.2.1 使用ADO.NET创建数据库 1757.2.2 使用特殊类SQLite创建数据库 1797.2.3 使用SQLite组件创建数据库 184第8章 高级控件操作 1
8.1 ListView和Adapter 18.1.1 ListView的组成和函数 18.1.2 通常使用的ListView 18.1.3 自定义ListView 58.2 自动补全 98.3 ActionBar的实现 118.4 Popup Menus弹出式菜单 148.5 下拉列表 168.6 启动动画 18第9章 图像和动画 219.1 获取并显示图片 219.1.1 assets中的图片 219.1.2 打开相机拍下的照片 249.2 绘图 279.2.1 绘图类的介绍 279.2.2 绘制基本图形 289.3 动画 309.3.1 使用Android默认动画 309.3.2 自定义的补间动画 36第10章 多媒体应用 4110.1 Audio音频操作 4110.1.1 MediaPlayer类简介 4110.1.2 播放Audio音频文件 4110.1.3 录制Audio音频 4410.2 Video视频操作 4810.2.1 Video视频播放 4810.2.2 录制Video 5010.3 有关Camera相机的操作 53第11章 手势处理 5611.1 触摸屏手势 5611.1.1 GestureDetector简介 5611.1.2 测试所有触控事件 5711.2 输入法手势 6011.2.1 Gesture相关类简介 6011.2.2 输入法手势应用 61第12章 传感器 6412.1 Sensor简介 6412.1.1 Sensor种类 6412.1.2 开发Sensor基础 6412.2 常用传感器介绍 6812.2.1 磁场传感器 6812.2.2 重力传感器 7012.2.3 光传感器 7312.2.4 近距离传感器 7512.2.5 气压检测 77第13章 网络应用 8113.1 网页视图WebView 8113.1.1 WebView简介 8113.1.2 使用WebView 8113.1.3 显示HTML内容 8513.2 Socket的使用 8713.3 HTTP网络通信 8913.3.1 HTTP通信方式 9013.3.2 HttpURLConnection开发 9013.4 URL网络通信 9213.4.1 URL介绍 9213.4.2 使用URL获取资源 93【学习顺序-2 外教篇】
《c#开发android应用实战——使用mono for android和.net/c#》第1章 android、移动设备和marketplace简介 11.1 产品比较 11.1.1 .net framework 21.1.2 mono 31.1.3 mono for android 41.1.4 开发工具 61.2 移动开发 61.2.1 解决支持问题 71.2.2 设计问题 71.3 android 81.3.1 android发展简史 81.3.2 为android编写基于web的应用程序 91.3.3 为android编写本机应用程序 91.3.4 android开发问题 91.3.5 android sdk工具 111.3.6 android开发成本 111.4 跨平台替代方案 121.4.1 其他跨平台工具 121.4.2 选择跨平台工具时的注意事项 121.5 小结 15第2章 mono for android简介 172.1 开始开发前的准备工作 172.1.1 mono的含义 172.1.2 mono for android的含义 182.1.3 使用mono for android的原因 182.1.4 在使用mono for android时需要权衡的事项 202.1.5 mono for android开发环境需要的其他工具 212.2 利用mono for android进行visual studio开发 242.2.1 一般设置 242.2.2 生成hello android 252.2.3 日志记录 282.2.4 调试 292.2.5 测试 292.2.6 部署 302.3 使用monodevelop进行mono for android开发 302.3.1 一般设置 302.3.2 构建hello android 312.3.3 日志记录 322.3.4 调试 332.3.5 测试 332.3.6 部署 332.4 小结 34第3章 了解android/mono for android 应用程序 353.1 android应用程序的含义 363.1.1 android应用程序的构建基块 373.1.2 组件之间的通信:android意图 463.2 绑定组件:android清单 483.2.1 android清单的基础知识 483.2.2 通过visual studio为mono for android编辑清单 513.3 小结 53第4章 规划和构建应用程序用户界面 554.1 成功构建移动ui的指导原则 554.2 构建android ui 564.2.1 视图 564.2.2 设计表面 574.3 选择控件布局 574.3.1 absolutelayout 584.3.2 framelayout 594.3.3 linearlayout 594.3.4 relativelayout 614.3.5 tablelayout 624.3.6 优化布局 644.4 设计自己的用户界面控件 644.4.1 textview 664.4.2 edittext 664.4.3 autocompletetextview 664.4.4 spinner 674.4.5 button 694.4.6 checkbox 694.4.7 radiobutton和组 694.4.8 clock 724.4.9 picker 724.4.10 image 754.4.11 虚拟键盘 804.5 控制菜单 824.5.1 菜单系统介绍 834.5.2 菜单 834.5.3 子菜单 854.5.4 上下文菜单 864.5.5 将菜单定义为资源 874.6 独立于分辨率的ui 904.6.1 支持各种屏幕资源 904.6.2 使用android market支持 924.6.3 多个屏幕分辨率的最佳做法 924.7 构建用户界面:手机和平板电脑示例 934.8 小结 98第5章 使用数据 995.1 使用sqlite 995.1.1 建立数据库 1005.1.2 建立表 1015.1.3 使用sql语句 1025.2 升级策略 1045.2.1 就地升级 1045.2.2 复制数据 1055.3 特定于android的数据库选项 1055.4 使用远程数据 1075.4.1 访问企业服务 1085.4.2 使用soap 1095.4.3 使用基于rest的web服务 1135.4.4 使用json 1145.4.5 利用post发送数据 1185.5 使用linq和xml检索数据 1195.6 以负责任的态度使用web服务 1215.7 使用远程sql server数据库 1225.8 小结 124第6章 将数据绑定到控件 1256.1 mono for android中的数据绑定 1266.1.1 数据适配器的含义 1266.1.2 适配器视图的含义 1276.1.3 这三项彼此之间的关联方式 1276.1.4 使用适配器视图和大型数据集 1286.1.5 进一步探究适配器 1306.1.6 使用本机适配器 1306.1.7 进一步探究适配器视图 1316.1.8 使用本机适配器视图 1326.2 使用光标 1326.2.1 使用光标填充spinner 1326.2.2 使用带有gallery的光标 1406.3 使用列表 1476.3.1 在列表中显示简单数据 1486.3.2 使用android的listadapter 1506.3.3 使用自定义列表适配器来自定义listview 1526.3.4 处理listview事件 1586.3.5 首选项屏幕 1606.3.6 嵌套导航 1636.3.7 分组列表 1656.3.8 在网格中显示数据 1696.4 小结 174第7章 使用文件系统和应用程序首选项 1757.1 使用文件系统 1757.1.1 文件系统类型和结构 1767.1.2 quickedit示例程序:使用文件存储的例子 1807.2 使用应用程序首选项 1867.2.1 应用程序首选项类型 1867.2.2 创建自己的应用程序首选项 1877.2.3 首选项程序 1887.2.4 侦听首选项的更改 1947.2.5 处理xml 1957.3 小结 196第8章 针对设备硬件编程 1978.1 使用传感器 1978.1.1 引用传感器管理器 1988.1.2 传感器支持 1988.1.3 访问传感器 1988.1.4 使用传感器 1998.1.5 了解传感器类型值 2008.2 对加速度的响应 2028.2.1 使用xyz坐标系 2028.2.2 对加速计进行编码 2038.3 构建电子罗盘 2038.4 振动 2088.5 网络连接 2098.5.1 connectivitymanager 2098.5.2 检查用户通信首选项 2098.5.3 检查backgrounddatasetting的更改 2108.5.4 检查当前网络配置 2118.5.5 创建网络连接通知 2118.5.6 wifimanager 2118.6 bluetooth管理器 2168.7 在应用程序中启用语音识别功能 2188.8 获取建议路线规划指示 2198.9 小结 225第9章 使用多媒体——音频、视频和照相机 2279.1 android媒体类 2279.2 播放音频和视频 2299.2.1 媒体播放器支持的格式 2299.2.2 音频播放编程 2309.2.3 视频播放编程 2339.2.4 控制播放 2379.2.5 管理播放输出 2379.3 录制音频和视频 2379.3.1 使用意图来录制视频 2389.3.2 使用媒体记录器 2419.4 图像和使用照相机 2449.4.1 使用意图拍照 2449.4.2 控制照相机 2479.4.3 管理照相机设置和图片选项 2479.5 向媒体存储器添加新媒体 2539.5.1 使用媒体扫描程序 2549.5.2 向存储器添加新媒体 2559.6 语音识别 2559.7 小结 257第10章 与其他应用程序和库通信 25910.1 android应用程序集成 25910.1.1 打开浏览器 25910.1.2 打开电子邮件 26210.1.3 打电话 26310.1.4 发送text/sms消息 26410.1.5 在maps应用程序中打开位置 26610.1.6 打开youtube视频 26710.1.7 开放市场 26710.2 应用程序集成 26810.2.1 与hootsuite以及其他twitter应用程序的简单集成 26810.2.2 配置意图过滤器 26910.2.3 处理传入的意图请求 27010.3 与联系人进行集成 27010.3.1 显示联系人详细信息 27310.3.2 选择联系人 27410.3.3 创建新联系人 27510.3.4 创建新联系人或者添加到现有的联系人 27610.4 小结 277第11章 开发后台服务和异步代码 27911.1 服务生命周期 28011.1.1 创建第一个服务 28011.1.2 服务的优先级排序 28311.2 使用线程进行异步处理 28411.2.1 手动线程 28411.2.2 利用system.threading.tasks 28611.2.3 带有intentservice的隐式线程 28811.3 与ui进行通信 28911.3.1 使用binder和服务连接方法 28911.3.2 使用广播接收器方法 29211.3.3 使用静态事件方法 29511.4 通知用户 29811.4.1 通过警报和intentservice来调度意图 30011.4.2 使用c2dm来推送消息 30111.5 小结 310第12章 画布和绘制资源类型:构建自定义android图形 31112.1 在mono for android中使用图形 31212.2 使用canvas对象 31312.2.1 图形基元 31412.2.2 canvas对象 31512.2.3 paint对象 31612.2.4 bitmap对象 31712.2.5 组合在一起 31712.2.6 选择最佳方法 33712.3 2d图形库 33812.4 使用绘制资源类型 33912.4.1 作为xml资源的绘制资源类型 33912.4.2 简单和复合的绘制资源类型 34012.4.3 绘制资源类型的实际应用 34012.5 小结 354第13章 使用位置信息 35713.1 理解位置的基本知识 35813.1.1 确定位置 35813.1.2 基于位置的数据中断 35913.1.3 使用基于位置的服务 35913.1.4 在模拟器上配置基于位置的应用程序 35913.2 选择一个位置提供程序 36113.2.1 确定哪些提供程序可供使用 36113.2.2 根据标准查找位置提供程序 36113.3 地理编码 36313.3.1 前向地理编码 36313.3.2 反向地图编码 36513.4 构建接近警报 36613.5 使用google maps 36813.5.1 获取开发/调试md5指纹 36913.5.2 获取生产/发布md5指纹 36913.5.3 创建基于地图的活动 36913.5.4 在布局文件中创建地图 37113.5.5 使用覆盖的mapview控制器 37213.6 小结 374第14章 国际化和本地化 37514.1 选择本地化策略 37614.2 更新语言和区域设置 37814.3 了解android本地化机制 37914.3.1 设置默认资源 38014.3.2 添加本地化支持 38014.3.3 选择资源的详细过程 38114.4 支持多语言 38214.4.1 利用strings.xml文件 38214.4.2 翻译文本 38314.4.3 翻译控件文本 38614.5 本地化其他资源 38714.6 strings.xml的高级用法 39114.6.1 字符串数组 39114.6.2 复数 39114.6.3 字符串替换 39214.7 使用格式转换 39414.7.1 格式化日期 39514.7.2 格式化数字和货币 39514.8 小结 396第15章 在mono for android、monotouch和windows phone7之间共享代码 39715.1 三大平台概述 39715.1.1 mono for android 39715.1.2 monotouch 39815.1.3 windows phone 7 39915.2 使用类库来分离代码 40015.2.1 使用预处理器指令 40015.2.2 mono for android 40115.2.3 windows phone 7 40215.2.4 monotouch 40215.3 每种平台上可用的程序集 40215.4 一个通用的类库 40515.4.1 mono for android 40715.4.2 monotouch 40815.4.3 windows phone 7 40915.5 汇总:创建一个跨平台应用程序 41015.6 小结 422第16章 准备并向market发布应用程序 42316.1 准备应用程序 42416.1.1 测试应用程序 42416.1.2 找到关键的测试区域 42516.1.3 用于测试的工具 42616.1.4 与同事和用户一起进行测试 43316.2 向android market发布应用程序 43416.2.1 对应用程序进行版本控制 43416.2.2 创建最终版本 43516.2.3 为应用程序签名 43716.2.4 上传到android market 44116.3 小结 442第17章 android平板电脑 44517.1 分析android平板电脑市场 44517.2 设计平板电脑ui 44617.3 使用操作栏 44717.3.1 删除操作栏 44817.3.2 向操作栏添加项目 44917.3.3 使用应用程序图标 45217.3.4 向堆栈上方导航 45317.3.5 添加并使用操作项 45317.3.6 创建选项卡式界面 45417.4 使用片段控制部分屏幕 45517.4.1 创建片段 45717.4.2 更多片段 46117.5 小结 469附录a 针对开发人员的一些提示以及mono for android的未来前景 471