【0基础Android】Android编程权威指南(第三版)学习笔记

前言

这是我第一次决定系统的做一下学习笔记,并且决定把第一次系统的笔记排在CSDN博客中。虽然此前也在简书之类的网站有过一些杂乱的博客,但是大部分比较散乱。
由于本人实习是从Android开发开始,而且其实本人的Android开发基础并不是很好,所以这里打算做一个0基础Android的系列。由于缺乏经验可能做的不会很完美,但是我会慢慢改进的,如果有人发现我的问题随时欢迎指正!由浅入深,虽然JAVA基础也很重要,Kotlin却也不甘示弱也成了当今Android工业界的主流之一,至于具体要选择什么,那是最后回顾的时候才有资格思考的问题。现在基础阶段,先把基础打牢!戒骄戒躁!

书籍学习

《Android编程权威指南》介绍

这本书算是一本Android界口碑尚可的书了,本人喜欢它的原因是在于它兼顾了新手和老手,深层次的挖掘和初识的概述都做的不错。
建议大家支持正版,可以购入电子书进行学习。当然没有书观看本系列博客应该也是完全没问题的。毕竟我这只是一个从零开始的学习笔记,并不是一个教程。
当然有兴趣的也可以访问Big Nerd Ranch 适当学习一下,论坛里面还是很有帮助的。

第三版与时俱进的添加了Android开发需要学习的一些新知识,虽然我们的定位是0基础,这些概念可能还不清楚,但是最好还是看一下:

第 3 版较之前版本增加了对数据绑定等新工具的介绍, 同时新增了针对单元测试、 辅助功能和
MVVM 架构等主题的章节。

好的,正式开始之前,我们先来对这本书的难度有一个把控——
本书计划要完成8个APP的编写,有简单有难,下面简单介绍一下这8个APP都是干嘛的:

本书的八个App介绍,以及源码链接(个人实现的源码,不做任何保证)

  • GeoQuiz 本书的第一个应用,借此学习Android应用的基本组成、 activity、界面布局以及显式intent。
  • CriminalIntent 本书中最复杂的应用,用来记录办公室同事的种种陋习。借此应用学习fragment、主从用 户界面、 list-backed用户界面、菜单选项、相机调用、隐式intent等内容。
  • BeatBox 一个可以震慑坏人的应用,借此深入学习fragment、媒体文件的播放与控制、 MVVM架构、数据绑定、单元测试、主题以及drawable资源。
  • NerdLauncher 一个个性化启动器,借此深入学习intent以及Android任务。
  • PhotoGallery 一个从Flickr网站下载并显示照片的客户端应用,借此学习Android服务、多线程、网络内 容下载等知识。
  • DragAndDraw 一个简单的画图应用,借此学习触摸手势事件处理以及如何创建个性化视图。
  • Sunset 一个漂亮的日落动画应用,借此学习Android动画。
  • Locatr 一个查询当前位置的Flickr图片并显示在地图上的应用。借此应用学习如何使用定位服务 和地图。

学习准备

先来准备一下开发环境。
我们使用google提供的IDE:Android Studio当然,你可以自行google,或者直接到官网进行下载。

我的具体开发环境如下:

/*********公司PC环境**********/
Android Studio 3.2.1
Build #AI-181.5540.7.32.5056338, built on October 9, 2018
JRE: 1.8.0_152-release-1136-b06 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0

好的做了这么多准备,快点翻开书看看具体的内容吧!

八大App学习过程

App1 GeoQuiz

1~5(6)章都在介绍这个APP。整体实现很简单,就是两个Activity,并未引入fragment,无持久保存,有简单的旋转屏幕后的Activity重建处理。

第一章,Android开发初体验

只是简单介绍了:(所有我觉得甚至不需要复习巩固的常识一样的知识点就直接用删除文本的形式划掉了,其余知识点的详细介绍在本文后面的“各章知识点详细介绍”中)

  • activity与layout(布局)的关系
  • 如何创建一个新的android项目
  • 在资源文件string.xml中创建一个字符串资源
  • 如何在app/build/generated/source/r/debug目录下查看R.java中的资源文件
  • 使用匿名内部类实现监听器

第二章,Android与MVC设计模式

  • MVC设计模式的概念
  • 快速生成getter和setter方法(先设置前缀,再Generate)
  • 新建Model的java类Question.java
  • 添加和引用图片资源
  • 设备配置与备选资源

第三章,activity的生命周期

  • Activity的生命周期以及其中的六(七)大回调方法
  • 五种级别的日志 E,W,I,D,V[附加一个Assert]
  • Android内存清理现状

第四章,Android应用的调试

  • 异常与栈跟踪
  • 设置断点
  • Android Lint
  • R类的问题如何解决

第五章,第二个activity

  • 在manifest配置文件中声明activity
  • startActivity方法启动Activity的流程
  • 基于intent的通信
  • 当我们在各activity间往返的时候,操作系统层面到底发生了什么

第六章,Android SDK版本与兼容

  • Android SDK 版本(各SDK版本【API级别/代号】、相应的Android固件版本)
  • minSdkVersion,targetSdkVersion,compileSdkVersion

Overall:第一个APP编写时要注意的问题

  1. 不要向Model中添加过多内容。Question.java就是单纯的一个问题内容和答案是否正确以及对应的getter和 setter。
package xxx.xx.xxx.x;

public class Question {
    private int mTextResId;
    private boolean mAnswerTrue;

    public int getTextResId() {
        return mTextResId;
    }

    public void setTextResId(int textResId) {
        mTextResId = textResId;
    }

    public boolean isAnswerTrue() {
        return mAnswerTrue;
    }

    public void setAnswerTrue(boolean answerTrue) {
        mAnswerTrue = answerTrue;
    }

    public Question(int id, boolean answer) {
        mTextResId = id;
        mAnswerTrue = answer;
    }
}
  1. 为了添加横屏的layout资源,需要在res文件夹下new出一个layout的文件夹。

App2 CriminalIntent

App3 BeatBox

各章知识点详细介绍

前面在App学习过程中总结出了一些知识点,有些知识点特别简单我这里不做过多讲述,但是还有很多知识点需要详细介绍。前面由于篇幅限制只用一句话概括,下面按章节为单位,在这里详细介绍一番各个知识点。

第一章

第二章

  • MVC设计模式的概念
    Model(模型)-View(视图)-Controller(控制器)
    模型对象存储着应用的数据和业务逻辑。模型类通常用来映射与应用相关的一些事物,如用户、商店里的商品、服务器上的图片或者一段电视节目,抑或GeoQuiz应用里的地理知识问题。模型对象不关心用户界面,它为存储和管理应用数据而生。
    Android应用里,模型类通常就是我们创建的定制类。应用的全部模型对象组成了模型层。
    视图对象知道如何在屏幕上绘制自己,以及如何响应用户的输入,如触摸动作等。一个简单的经验法则是,凡是能够在屏幕上看见的对象,就是视图对象。Android自带很多可配置的视图类。当然,也可以定制开发其他视图类。应用的全部视图对象组成了视图层。
    控制器对象含有应用的逻辑单元,是视图对象与模型对象的联系纽带。控制器对象响应视图对象触发的各类事件,此外还管理着模型对象与视图层间的数据流动。在Android的世界里,控制器通常是Activity、Fragment或Service的子类。
  • 设备配置与备选资源

第三章

  • Activity的生命周期以及其中的六(七)大回调方法
  • Android内存清理现状

第四章

  • 异常与栈跟踪
  • Android Lint
  • R类的问题如何解决

第五章

  • 在manifest配置文件中声明activity
  • startActivity方法启动Activity的流程
  • 基于intent的通信
  • 当我们在各activity间往返的时候,操作系统层面到底发生了什么

第六章

  • Android SDK 版本(各SDK版本【API级别/代号】、相应的Android固件版本)
  • minSdkVersion,targetSdkVersion,compileSdkVersion
Android开发权威指南》内容上涵盖了用最新的Android本开发的大部分场景 全书分4个部分 分别从Android基础介绍 环境搭建 SDK介绍 到应用剖析 组件介绍 综合实例演示 以及符合潮流的 最新的移动开发技术 如HTML5 OpenGL ES NDK编程 Android测试驱动开发等几个方面讲述 从技术实现上 讲解了6大完整综合案例及源代码分析 分别是新浪微博客户端 蓝牙聊天 全键盘输入法 月球登陆(游戏) 贪吃蛇(游戏) 笑脸连连看(游戏)   《Android开发权威指南》注重对实际动手能力的指导 在遵循技术研发知识体系严密性的同时 在容易产生错误 不易理解的环节上配备了翔实的开发情景截图;并将重要的知识点和开发技巧以“多学一招” “扩展学习” “技巧点拨”等的活泼形式呈现给读者 在程序实例的讲解方面 主要将实例安插在Android开发的精髓知识章节 这为读者学习与实践结合提供了很好的指导   《Android开发权威指南》配套光盘包含开发视频及全部源程序 指导读者快速 无障碍地学通Android实战开发技术   《Android开发权威指南》适合具备一定软件开发经验 想快速进入Android开发领域的程序员 具备一些手机开发经验的开发者和Android开发爱好者学习使用;也适合作为相关培训学校的Android培训教材 目录: 第一部分 准备篇 第1章 初识庐山真面目 Android开发简介 第2章 工欲善其事 必先利其器 搭建和使用Android开发环境 第二部分 基础篇 第3章 千里之行始于足下 Android程序设计基础 第4章 我的UI我做主 用户界面开发基础 第5章 良好的学习开端 控件 Widget 详解 第6章 友好的菜单 Menu介绍与实例 第7章 友好地互动交流 信息提醒 对话框 Toast与Notification 第8章 移动的信息仓库 数据存储 第9章 Android中的窗口 Activity 第10章 全局事件 广播 Broadcast 第11章 跨应用数据源 Content Provider 第12章 一切为用户服务 Service基础与实例 第13章 做好应用桥梁 网络与通信 第14章 炫酷你的应用 多媒体开发 第15章 D游戏开发 第16章 有趣的Android应用 第三部分 高级篇 第17章 HTML5与移动Web开发 第18章 输入法开发 第19章 Android OpenGL ES开发基础 第20章 OpenGL ES的超酷效果 第21章 Android NDK编程 第22章 测试驱动开发 TDD 第四部分 综合实例篇 第23章 Android综合案例一 蓝牙聊天 第24章 Android综合案例二 月球登陆 游戏 第25章 Android综合案例三 全键盘输入法 应用 第26章 Android综合案例四 贪吃蛇 游戏 第27章 Android综合案例五 新浪微博客户端 应用 第28章 Android综合案例六 笑脸连连看 游戏 ">《Android开发权威指南》内容上涵盖了用最新的Android本开发的大部分场景 全书分4个部分 分别从Android基础介绍 环境搭建 SDK介绍 到应用剖析 组件介绍 综合实例演示 以及符合潮流的 最新的移动开发技术 如HTML5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值