【Xamarin开发 Android 系列 3】循序渐进的学习顺序

简介: 原文:【Xamarin开发 Android 系列 3】循序渐进的学习顺序指定合理的学习步骤,将各个技术点进行强化。慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资方式。
原文: 【Xamarin开发 Android 系列 3】循序渐进的学习顺序

指定合理的学习步骤,将各个技术点进行强化。慢慢 的就从点到线 到面的飞跃,一切仅仅是时间问题,开始前,请记住,学习是最佳的投资方式。风险成本极小,但是收货极佳。

用最小的杠杠,撬动爆发力极强的财富,那就是学习和经验的累积的过程! 

 

 

【学习顺序-1 国内篇】

【Xamarin Android开发实战基础篇】


第1章 Xamarin开发Anroid应用介绍 1
1.1 Xamarin基本知识 1
1.1.1 Xamarin发展 1
1.1.2 Xamarin工具 1
1.2 Android基本知识 2
1.2.1 Android版本介绍 2
1.2.2 Android系统介绍 3
1.3 如何使用Xamarin开发Android应用 3
1.3.1 Android开发工具 3
1.3.2 Xamarin开发工具 4
1.3.3 VS 2013介绍 4
第2章 环境搭建 6
2.1 下载安装Visual Studio 2013 6
2.1.1 下载Visual Studio 2013 6
2.1.2 安装Visual Studio 2013 7
2.2 下载安装JDK 12
2.2.1 下载JDK 12
2.2.2 安装JDK 14
2.3 下载安装Android SDK工具 18
2.3.1 下载Android SDK工具 18
2.3.2 配置Android SDK 20
2.3.3 下载安装Android NDK 23
2.3.4 新建Android模拟器 24
2.4 下载安装Xamarin 26
2.4.1 下载安装GTK# 27
2.4.2 下载安装Xamarin Studio 29
2.4.3 下载安装Xamarin.VsualStudio 34
2.5 验证环境配置是否正确 35
2.5.1 下载并加载官方实例 35
2.5.2 检验实例的使用 38
第3章 Android中的界面布局 45
3.1 Android界面布局介绍 45
3.1.1 新建Android项目 45
3.1.2 界面布局介绍 47
3.2 线性布局LinearLayout 49
3.2.1 垂直线性布局 49
3.2.2 水平线性布局 53
3.3 相对布局RelativeLayout 57
3.3.1 相对于父容器的布局 57
3.3.2 相对于控件的布局 60
3.4 表格布局TableLayout 66
3.4.1 表格布局的介绍 66
3.4.2 TablLayout的使用 67
3.5 网格布局GridLayout 70
3.6 帧布局FrameLayout 72
第4章 简单控件 74
4.1 控件构成 74
4.1.1 什么是Android中的控件 74
4.1.2 Android控件的使用 74
4.2 文本类控件 76
4.2.1 使用TextView控件 76
4.2.2 使用EditText控件 81
4.3 按钮类控件 87
4.3.1 Button控件使用 87
4.3.2 ImageButton控件使用 90
4.3.3 ToggleButton控件使用 93
4.3.4 RadioButton控件使用 94
4.3.5 CheckBox控件使用 99
4.4 图片控件ImageView 103
4.5 时钟控件 104
4.6 时间日期控件 105
4.6.1 TimePicker控件使用 105
4.6.2 DatePicker控件使用 107
第5章 实现应用的Activity 109
5.1 Activity介绍 109
5.1.1 Activity类 109
5.1.2 Activity生命周期 110
5.2 重新学习创建应用 114
5.2.1 创建应用 114
5.2.2 保存和恢复Activity的状态 115
5.3 使用两个Activity 119
5.3.1 启动第一个Activity--主Activity 119
5.3.2 创建并启动第二个Activity 122
5.3.3 在两个Activity之间转换 128
5.4 在两个Activity之间传递数据 130
5.4.1 传递数据到目的Activity 131
5.4.2 返回Activity的数据 133
5.5 提前了解Intent和IntentFilter 135
5.5.1 Intent的类介绍 135
5.5.2 IntentFilter介绍和使用 137
第6章 Service类和Android服务 142
6.1 Service类及Service简介 142
6.1.1 Service类 142
6.1.2 Service介绍 142
6.2 创建Service 143
6.2.1 Service的创建 144
6.2.2 绑定Activity的Service的创建 148
6.3 Service通信 151
6.3.1 Service通信 151
6.3.2 使用Message实现Service通信 155
6.4 系统提供的Service 160
6.4.1 电话管理--TelephonyManager 160
6.4.2 短信管理--SmsManager 163
6.5 广播接收BroadcastReceiver 166
第7章 数据存储和读取 168
7.1 文件存储 168
7.1.1 使用Asstes中的文件 168
7.1.2 读写SD卡中的文件 170
7.2 SQLite中的数据读写 175
7.2.1 使用ADO.NET创建数据库 175
7.2.2 使用特殊类SQLite创建数据库 179
7.2.3 使用SQLite组件创建数据库 184

第8章 高级控件操作 1
8.1 ListView和Adapter 1
8.1.1 ListView的组成和函数 1
8.1.2 通常使用的ListView 1
8.1.3 自定义ListView 5
8.2 自动补全 9
8.3 ActionBar的实现 11
8.4 Popup Menus弹出式菜单 14
8.5 下拉列表 16
8.6 启动动画 18
第9章 图像和动画 21
9.1 获取并显示图片 21
9.1.1 assets中的图片 21
9.1.2 打开相机拍下的照片 24
9.2 绘图 27
9.2.1 绘图类的介绍 27
9.2.2 绘制基本图形 28
9.3 动画 30
9.3.1 使用Android默认动画 30
9.3.2 自定义的补间动画 36
第10章 多媒体应用 41
10.1 Audio音频操作 41
10.1.1 MediaPlayer类简介 41
10.1.2 播放Audio音频文件 41
10.1.3 录制Audio音频 44
10.2 Video视频操作 48
10.2.1 Video视频播放 48
10.2.2 录制Video 50
10.3 有关Camera相机的操作 53
第11章 手势处理 56
11.1 触摸屏手势 56
11.1.1 GestureDetector简介 56
11.1.2 测试所有触控事件 57
11.2 输入法手势 60
11.2.1 Gesture相关类简介 60
11.2.2 输入法手势应用 61
第12章 传感器 64
12.1 Sensor简介 64
12.1.1 Sensor种类 64
12.1.2 开发Sensor基础 64
12.2 常用传感器介绍 68
12.2.1 磁场传感器 68
12.2.2 重力传感器 70
12.2.3 光传感器 73
12.2.4 近距离传感器 75
12.2.5 气压检测 77
第13章 网络应用 81
13.1 网页视图WebView 81
13.1.1 WebView简介 81
13.1.2 使用WebView 81
13.1.3 显示HTML内容 85
13.2 Socket的使用 87
13.3 HTTP网络通信 89
13.3.1 HTTP通信方式 90
13.3.2 HttpURLConnection开发 90
13.4 URL网络通信 92
13.4.1 URL介绍 92
13.4.2 使用URL获取资源 93

【学习顺序-2 外教篇】
《c#开发android应用实战——使用mono for android和.net/c#》
第1章 android、移动设备和marketplace简介 1
1.1 产品比较 1
1.1.1 .net framework 2
1.1.2 mono 3
1.1.3 mono for android 4
1.1.4 开发工具 6
1.2 移动开发 6
1.2.1 解决支持问题 7
1.2.2 设计问题 7
1.3 android 8
1.3.1 android发展简史 8
1.3.2 为android编写基于web的应用程序 9
1.3.3 为android编写本机应用程序 9
1.3.4 android开发问题 9
1.3.5 android sdk工具 11
1.3.6 android开发成本 11
1.4 跨平台替代方案 12
1.4.1 其他跨平台工具 12
1.4.2 选择跨平台工具时的注意事项 12
1.5 小结 15
第2章 mono for android简介 17
2.1 开始开发前的准备工作 17
2.1.1 mono的含义 17
2.1.2 mono for android的含义 18
2.1.3 使用mono for android的原因 18
2.1.4 在使用mono for android时需要权衡的事项 20
2.1.5 mono for android开发环境需要的其他工具 21
2.2 利用mono for android进行visual studio开发 24
2.2.1 一般设置 24
2.2.2 生成hello android 25
2.2.3 日志记录 28
2.2.4 调试 29
2.2.5 测试 29
2.2.6 部署 30
2.3 使用monodevelop进行mono for android开发 30
2.3.1 一般设置 30
2.3.2 构建hello android 31
2.3.3 日志记录 32
2.3.4 调试 33
2.3.5 测试 33
2.3.6 部署 33
2.4 小结 34
第3章 了解android/mono for android 应用程序 35
3.1 android应用程序的含义 36
3.1.1 android应用程序的构建基块 37
3.1.2 组件之间的通信:android意图 46
3.2 绑定组件:android清单 48
3.2.1 android清单的基础知识 48
3.2.2 通过visual studio为mono for android编辑清单 51
3.3 小结 53
第4章 规划和构建应用程序用户界面 55
4.1 成功构建移动ui的指导原则 55
4.2 构建android ui 56
4.2.1 视图 56
4.2.2 设计表面 57
4.3 选择控件布局 57
4.3.1 absolutelayout 58
4.3.2 framelayout 59
4.3.3 linearlayout 59
4.3.4 relativelayout 61
4.3.5 tablelayout 62
4.3.6 优化布局 64
4.4 设计自己的用户界面控件 64
4.4.1 textview 66
4.4.2 edittext 66
4.4.3 autocompletetextview 66
4.4.4 spinner 67
4.4.5 button 69
4.4.6 checkbox 69
4.4.7 radiobutton和组 69
4.4.8 clock 72
4.4.9 picker 72
4.4.10 image 75
4.4.11 虚拟键盘 80
4.5 控制菜单 82
4.5.1 菜单系统介绍 83
4.5.2 菜单 83
4.5.3 子菜单 85
4.5.4 上下文菜单 86
4.5.5 将菜单定义为资源 87
4.6 独立于分辨率的ui 90
4.6.1 支持各种屏幕资源 90
4.6.2 使用android market支持 92
4.6.3 多个屏幕分辨率的最佳做法 92
4.7 构建用户界面:手机和平板电脑示例 93
4.8 小结 98
第5章 使用数据 99
5.1 使用sqlite 99
5.1.1 建立数据库 100
5.1.2 建立表 101
5.1.3 使用sql语句 102
5.2 升级策略 104
5.2.1 就地升级 104
5.2.2 复制数据 105
5.3 特定于android的数据库选项 105
5.4 使用远程数据 107
5.4.1 访问企业服务 108
5.4.2 使用soap 109
5.4.3 使用基于rest的web服务 113
5.4.4 使用json 114
5.4.5 利用post发送数据 118
5.5 使用linq和xml检索数据 119
5.6 以负责任的态度使用web服务 121
5.7 使用远程sql server数据库 122
5.8 小结 124
第6章 将数据绑定到控件 125
6.1 mono for android中的数据绑定 126
6.1.1 数据适配器的含义 126
6.1.2 适配器视图的含义 127
6.1.3 这三项彼此之间的关联方式 127
6.1.4 使用适配器视图和大型数据集 128
6.1.5 进一步探究适配器 130
6.1.6 使用本机适配器 130
6.1.7 进一步探究适配器视图 131
6.1.8 使用本机适配器视图 132
6.2 使用光标 132
6.2.1 使用光标填充spinner 132
6.2.2 使用带有gallery的光标 140
6.3 使用列表 147
6.3.1 在列表中显示简单数据 148
6.3.2 使用android的listadapter 150
6.3.3 使用自定义列表适配器来自定义listview 152
6.3.4 处理listview事件 158
6.3.5 首选项屏幕 160
6.3.6 嵌套导航 163
6.3.7 分组列表 165
6.3.8 在网格中显示数据 169
6.4 小结 174
第7章 使用文件系统和应用程序首选项 175
7.1 使用文件系统 175
7.1.1 文件系统类型和结构 176
7.1.2 quickedit示例程序:使用文件存储的例子 180
7.2 使用应用程序首选项 186
7.2.1 应用程序首选项类型 186
7.2.2 创建自己的应用程序首选项 187
7.2.3 首选项程序 188
7.2.4 侦听首选项的更改 194
7.2.5 处理xml 195
7.3 小结 196
第8章 针对设备硬件编程 197
8.1 使用传感器 197
8.1.1 引用传感器管理器 198
8.1.2 传感器支持 198
8.1.3 访问传感器 198
8.1.4 使用传感器 199
8.1.5 了解传感器类型值 200
8.2 对加速度的响应 202
8.2.1 使用xyz坐标系 202
8.2.2 对加速计进行编码 203
8.3 构建电子罗盘 203
8.4 振动 208
8.5 网络连接 209
8.5.1 connectivitymanager 209
8.5.2 检查用户通信首选项 209
8.5.3 检查backgrounddatasetting的更改 210
8.5.4 检查当前网络配置 211
8.5.5 创建网络连接通知 211
8.5.6 wifimanager 211
8.6 bluetooth管理器 216
8.7 在应用程序中启用语音识别功能 218
8.8 获取建议路线规划指示 219
8.9 小结 225
第9章 使用多媒体——音频、视频和照相机 227
9.1 android媒体类 227
9.2 播放音频和视频 229
9.2.1 媒体播放器支持的格式 229
9.2.2 音频播放编程 230
9.2.3 视频播放编程 233
9.2.4 控制播放 237
9.2.5 管理播放输出 237
9.3 录制音频和视频 237
9.3.1 使用意图来录制视频 238
9.3.2 使用媒体记录器 241
9.4 图像和使用照相机 244
9.4.1 使用意图拍照 244
9.4.2 控制照相机 247
9.4.3 管理照相机设置和图片选项 247
9.5 向媒体存储器添加新媒体 253
9.5.1 使用媒体扫描程序 254
9.5.2 向存储器添加新媒体 255
9.6 语音识别 255
9.7 小结 257
第10章 与其他应用程序和库通信 259
10.1 android应用程序集成 259
10.1.1 打开浏览器 259
10.1.2 打开电子邮件 262
10.1.3 打电话 263
10.1.4 发送text/sms消息 264
10.1.5 在maps应用程序中打开位置 266
10.1.6 打开youtube视频 267
10.1.7 开放市场 267
10.2 应用程序集成 268
10.2.1 与hootsuite以及其他twitter应用程序的简单集成 268
10.2.2 配置意图过滤器 269
10.2.3 处理传入的意图请求 270
10.3 与联系人进行集成 270
10.3.1 显示联系人详细信息 273
10.3.2 选择联系人 274
10.3.3 创建新联系人 275
10.3.4 创建新联系人或者添加到现有的联系人 276
10.4 小结 277
第11章 开发后台服务和异步代码 279
11.1 服务生命周期 280
11.1.1 创建第一个服务 280
11.1.2 服务的优先级排序 283
11.2 使用线程进行异步处理 284
11.2.1 手动线程 284
11.2.2 利用system.threading.tasks 286
11.2.3 带有intentservice的隐式线程 288
11.3 与ui进行通信 289
11.3.1 使用binder和服务连接方法 289
11.3.2 使用广播接收器方法 292
11.3.3 使用静态事件方法 295
11.4 通知用户 298
11.4.1 通过警报和intentservice来调度意图 300
11.4.2 使用c2dm来推送消息 301
11.5 小结 310
第12章 画布和绘制资源类型:构建自定义android图形 311
12.1 在mono for android中使用图形 312
12.2 使用canvas对象 313
12.2.1 图形基元 314
12.2.2 canvas对象 315
12.2.3 paint对象 316
12.2.4 bitmap对象 317
12.2.5 组合在一起 317
12.2.6 选择最佳方法 337
12.3 2d图形库 338
12.4 使用绘制资源类型 339
12.4.1 作为xml资源的绘制资源类型 339
12.4.2 简单和复合的绘制资源类型 340
12.4.3 绘制资源类型的实际应用 340
12.5 小结 354
第13章 使用位置信息 357
13.1 理解位置的基本知识 358
13.1.1 确定位置 358
13.1.2 基于位置的数据中断 359
13.1.3 使用基于位置的服务 359
13.1.4 在模拟器上配置基于位置的应用程序 359
13.2 选择一个位置提供程序 361
13.2.1 确定哪些提供程序可供使用 361
13.2.2 根据标准查找位置提供程序 361
13.3 地理编码 363
13.3.1 前向地理编码 363
13.3.2 反向地图编码 365
13.4 构建接近警报 366
13.5 使用google maps 368
13.5.1 获取开发/调试md5指纹 369
13.5.2 获取生产/发布md5指纹 369
13.5.3 创建基于地图的活动 369
13.5.4 在布局文件中创建地图 371
13.5.5 使用覆盖的mapview控制器 372
13.6 小结 374
第14章 国际化和本地化 375
14.1 选择本地化策略 376
14.2 更新语言和区域设置 378
14.3 了解android本地化机制 379
14.3.1 设置默认资源 380
14.3.2 添加本地化支持 380
14.3.3 选择资源的详细过程 381
14.4 支持多语言 382
14.4.1 利用strings.xml文件 382
14.4.2 翻译文本 383
14.4.3 翻译控件文本 386
14.5 本地化其他资源 387
14.6 strings.xml的高级用法 391
14.6.1 字符串数组 391
14.6.2 复数 391
14.6.3 字符串替换 392
14.7 使用格式转换 394
14.7.1 格式化日期 395
14.7.2 格式化数字和货币 395
14.8 小结 396
第15章 在mono for android、monotouch和windows phone7之间共享代码 397
15.1 三大平台概述 397
15.1.1 mono for android 397
15.1.2 monotouch 398
15.1.3 windows phone 7 399
15.2 使用类库来分离代码 400
15.2.1 使用预处理器指令 400
15.2.2 mono for android 401
15.2.3 windows phone 7 402
15.2.4 monotouch 402
15.3 每种平台上可用的程序集 402
15.4 一个通用的类库 405
15.4.1 mono for android 407
15.4.2 monotouch 408
15.4.3 windows phone 7 409
15.5 汇总:创建一个跨平台应用程序 410
15.6 小结 422
第16章 准备并向market发布应用程序 423
16.1 准备应用程序 424
16.1.1 测试应用程序 424
16.1.2 找到关键的测试区域 425
16.1.3 用于测试的工具 426
16.1.4 与同事和用户一起进行测试 433
16.2 向android market发布应用程序 434
16.2.1 对应用程序进行版本控制 434
16.2.2 创建最终版本 435
16.2.3 为应用程序签名 437
16.2.4 上传到android market 441
16.3 小结 442
第17章 android平板电脑 445
17.1 分析android平板电脑市场 445
17.2 设计平板电脑ui 446
17.3 使用操作栏 447
17.3.1 删除操作栏 448
17.3.2 向操作栏添加项目 449
17.3.3 使用应用程序图标 452
17.3.4 向堆栈上方导航 453
17.3.5 添加并使用操作项 453
17.3.6 创建选项卡式界面 454
17.4 使用片段控制部分屏幕 455
17.4.1 创建片段 457
17.4.2 更多片段 461
17.5 小结 469
附录a 针对开发人员的一些提示以及mono for android的未来前景 471

目录
相关文章
|
1天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
【10月更文挑战第35天】在数字化时代,安卓应用的开发成为了一个热门话题。本文旨在通过浅显易懂的语言,带领初学者了解安卓开发的基础知识,同时为有一定经验的开发者提供进阶技巧。我们将一起探讨如何从零开始构建第一个安卓应用,并逐步深入到性能优化和高级功能的实现。无论你是编程新手还是希望提升技能的开发者,这篇文章都将为你提供有价值的指导和灵感。
|
1天前
|
Android开发
布谷语音软件开发:android端语音软件搭建开发教程
语音软件搭建android端语音软件开发教程!
|
9天前
|
编解码 Java Android开发
通义灵码:在安卓开发中提升工作效率的真实应用案例
本文介绍了通义灵码在安卓开发中的应用。作为一名97年的聋人开发者,我在2024年Google Gemma竞赛中获得了冠军,拿下了很多项目竞赛奖励,通义灵码成为我的得力助手。文章详细展示了如何安装通义灵码插件,并通过多个实例说明其在适配国际语言、多种分辨率、业务逻辑开发和编程语言转换等方面的应用,显著提高了开发效率和准确性。
|
8天前
|
Android开发 开发者 UED
安卓开发中自定义View的实现与性能优化
【10月更文挑战第28天】在安卓开发领域,自定义View是提升应用界面独特性和用户体验的重要手段。本文将深入探讨如何高效地创建和管理自定义View,以及如何通过代码和性能调优来确保流畅的交互体验。我们将一起学习自定义View的生命周期、绘图基础和事件处理,进而探索内存和布局优化技巧,最终实现既美观又高效的安卓界面。
21 5
|
6天前
|
JSON Java Android开发
探索安卓开发之旅:打造你的第一个天气应用
【10月更文挑战第30天】在这个数字时代,掌握移动应用开发技能无疑是进入IT行业的敲门砖。本文将引导你开启安卓开发的奇妙之旅,通过构建一个简易的天气应用来实践你的编程技能。无论你是初学者还是有一定经验的开发者,这篇文章都将成为你宝贵的学习资源。我们将一步步地深入到安卓开发的世界中,从搭建开发环境到实现核心功能,每个环节都充满了发现和创造的乐趣。让我们开始吧,一起在代码的海洋中航行!
|
7天前
|
缓存 数据库 Android开发
安卓开发中的性能优化技巧
【10月更文挑战第29天】在移动应用的海洋中,性能是船只能否破浪前行的关键。本文将深入探讨安卓开发中的性能优化策略,从代码层面到系统层面,揭示如何让应用运行得更快、更流畅。我们将以实际案例和最佳实践为灯塔,引领开发者避开性能瓶颈的暗礁。
23 3
|
10天前
|
存储 IDE 开发工具
探索Android开发之旅:从新手到专家
【10月更文挑战第26天】在这篇文章中,我们将一起踏上一段激动人心的旅程,探索如何在Android平台上从零开始,最终成为一名熟练的开发者。通过简单易懂的语言和实际代码示例,本文将引导你了解Android开发的基础知识、关键概念以及如何实现一个基本的应用程序。无论你是编程新手还是希望扩展你的技术栈,这篇文章都将为你提供价值和启发。让我们开始吧!
|
14天前
|
设计模式 IDE Java
探索安卓开发:从新手到专家的旅程
【10月更文挑战第22天】 在数字时代的浪潮中,移动应用开发如同一座金矿,吸引着无数探险者。本文将作为你的指南针,指引你进入安卓开发的广阔天地。我们将一起揭开安卓平台的神秘面纱,从搭建开发环境到掌握核心概念,再到深入理解安卓架构。无论你是初涉编程的新手,还是渴望进阶的开发者,这段旅程都将为你带来宝贵的知识和经验的财富。让我们开始吧!
|
4天前
|
移动开发 Java Android开发
探索Android与iOS开发的差异性与互联性
【10月更文挑战第32天】在移动开发的大潮中,Android和iOS两大平台各领风骚。本文将深入浅出地探讨这两个平台的开发差异,并通过实际代码示例,展示如何在各自平台上实现相似的功能。我们将从开发环境、编程语言、用户界面设计、性能优化等多个角度进行对比分析,旨在为开发者提供跨平台开发的实用指南。
25 0
|
14天前
|
搜索推荐 Android开发 UED
安卓开发中的自定义视图:打造个性化用户界面
【10月更文挑战第22天】在安卓应用的海洋中,如何让你的应用脱颖而出?一个独特且直观的用户界面(UI)至关重要。本文将引导你通过自定义视图来打造个性化的用户体验,从基础的视图绘制到触摸事件的处理,我们将一步步深入探讨。准备好了吗?让我们开始吧!
下一篇
无影云桌面