【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

目录
相关文章
|
8天前
|
IDE Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【9月更文挑战第27天】在移动应用开发的世界中,Android和iOS是两个主要的操作系统平台。每个系统都有其独特的开发环境、工具和用户群体。本文将深入探讨这两个平台的关键差异点,并分析这些差异如何影响应用的性能、用户体验和最终的市场表现。通过对比分析,我们将揭示选择正确的开发平台对于确保项目成功的重要作用。
|
7天前
|
Java Maven 开发工具
第一个安卓项目 | 中国象棋demo学习
本文是作者关于其第一个安卓项目——中国象棋demo的学习记录,展示了demo的运行结果、爬坑记录以及参考资料,包括解决Android Studio和maven相关问题的方法。
第一个安卓项目 | 中国象棋demo学习
|
5天前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
22 7
|
8天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台解决方案
【9月更文挑战第27天】在移动应用开发的广阔天地中,安卓和iOS两大操作系统如同双子星座般耀眼。开发者们在这两大平台上追逐着创新的梦想,却也面临着选择的难题。如何在保持高效的同时,实现跨平台的开发?本文将带你探索跨平台开发的魅力所在,揭示其背后的技术原理,并通过实际案例展示其应用场景。无论你是安卓的忠实拥趸,还是iOS的狂热粉丝,这篇文章都将为你打开一扇通往跨平台开发新世界的大门。
|
5天前
|
缓存 Java Linux
探索安卓开发:从新手到专家的旅程
【9月更文挑战第30天】在这篇文章中,我们将一起踏上一段激动人心的旅程,探索安卓开发的广阔世界。无论你是刚入门的新手,还是希望提升技能的开发者,本文都将为你提供宝贵的知识和指导。我们将深入探讨安卓开发的基础知识、关键概念、实用工具和最佳实践,帮助你在安卓开发领域取得更大的成功。让我们一起开启这段精彩的旅程吧!
|
6天前
|
监控 安全 Java
Kotlin 在公司上网监控中的安卓开发应用
在数字化办公环境中,公司对员工上网行为的监控日益重要。Kotlin 作为一种基于 JVM 的编程语言,具备简洁、安全、高效的特性,已成为安卓开发的首选语言之一。通过网络请求拦截,Kotlin 可实现网址监控、访问时间记录等功能,满足公司上网监控需求。其简洁性有助于快速构建强大的监控应用,并便于后续维护与扩展。因此,Kotlin 在安卓上网监控应用开发中展现出广阔前景。
9 1
|
9天前
|
搜索推荐 前端开发 Android开发
安卓开发中的自定义视图:打造个性化用户界面
【9月更文挑战第26天】在移动应用开发的广阔天地中,定制性是提升用户体验的不二法宝。本文将带你深入了解安卓开发中自定义视图的魅力所在,通过简洁明了的语言和直观的代码示例,展示如何从零开始创建属于自己的控件,让你的应用界面与众不同。
|
12月前
|
开发工具 Android开发 iOS开发
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
使用vs2019学习xamarin时,创建新程序。使用模拟器真机等测试都报错如下图错误: ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231030-de8ce5fd.png?x-cos-security-token=r4KyZDEowPT0kGTL0LqE8EnwfN1Nzexadb05dcffed3939ff8d7591c528c01706nvpGSE93QwHpZM8NwhJNTZctNRQa0l3KDhEnqj8P7d8t
111 0
使用xamarin开发Android、iOS报错failed to open directory: 系统找不到指定的文件
|
Java C# Android开发
.NET(WinCE、WM)开发转Android开发 ——Xamarin和Smobiler对比
WinCE从1995年诞生至今,已有20多年的发展历史,行业成熟方案覆盖范围广,从车载、工控、手持机都有涉及,且方案成熟。 近些年,Android以后来居上的态势,逐渐渗透至各行业领域,硬件手持大厂也把产品线重心向Android手持迁移,基于Android的行业解决方案越来越成熟,WinCE的开发人才流失,在WinCE解决方案上吃老本的企业寻求转型。
|
Web App开发 测试技术 Android开发
xamarin开发android收集的一些工具
原文:xamarin开发android收集的一些工具 xamarin开发android收集的一些工具 工欲善其事,必先利其器,从16年下半年开始做xamarin相关的开发,平时使用的一些工具和google插件给大家分享一下,都有下载地址,持续更新。
1528 0
下一篇
无影云桌面