热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2A课程笔记分享_StudyJams_2017

课程2A概述课程2A、2B的内容主要是关于创建交互式应用的基础知识。之前的L1课程主要是AndroidUI的基础设计知识,基本上没涉及到编程。2A的讲解主要包括:使用变量来更新欲显示在屏幕上的内容

课程2A

概述

  • 课程2A、2B的内容主要是关于创建交互式应用的基础知识。之前的L1课程主要是Android UI的基础设计知识,基本上没涉及到编程。 2A的讲解主要包括:使用变量来更新欲显示在屏幕上的内容,为按钮添加事件响应(联系XML属性与Java方法)逻辑等。
  • 从2A开始,后续的课程会逐步深入地讲解使用Java开发基本Android程序需要掌握的语言知识、数据库知识、编程技巧以及面向对象编程思想等等,大家一起加油!

交互

  • 为了在Java方法中与视图布局中的UI对象进行交互,最好在XML文件中定义该对象的id。这样,在Java代码中就可以直接通过访问这些UI对象,非常方便。

变量

  • 顾名思义,变量(variables)的作用是存储可变的"量",方便程序员实现开发的目标。作为编程语言中一个十分基本的概念,变量在编程中不可或缺。 与字面值(literals)相比,变量具有灵活的特点,而且很多时候只有变量才能满足正确实现程序逻辑的需要。
  • 变量 vs 字面值:当需要更改值的时候,所有相同的字面值都需更改;而对于变量来说,只需在变量赋值处更新该值。
  • 执行创建变量的代码后,内存中会开辟出一段空间(视变量的类型而定),用以存储变量中的值,程序员可以在需要的时候更改该值,用以实现正确的程序逻辑。
  • 变量的声明与定义。对于强类型的编程语言,声明变量的基本语法为:类型 变量名;声明的同时还可以初始化变量,这两个操作合起来即为变量的定义:
int numberOfCoffees = 2;

    注意运算符"="的左右都有空格的细节,这涉及到代码风格的问题。一个良好的代码风格应该具有合适的缩进、运算符左右的空格、适时的换行等,这样可以使得代码更加清晰,可读性更强。在平时编程中,应该注意养成良好的代码风格。清晰的代码对于减少BUGs,降低调试难度也有一定帮助。

练习

  • 选择视图:

        1. 列出自己打算使用的所有视图;

        2. 确定视图位置(比较关键的是确定使用哪种视图组作为根视图);

        3. 设置视图样式(textSize,FontFamily等属性);

  • 为按钮添加事件响应函数:对于单击事件,在XML的某个按钮标签中引入属性onClick,属性取值为Java代码中对应的方法的名字。这样,就可以把单击事件处理函数与该按钮绑定,实现交互。

  • 使用伪代码,使自己的思路可以更加清晰。 不至于迷失在代码实现的繁琐细节之中

  • 调试练习:

        1. DEBUG:指消除程序中的BUG的调试过程。

        2. Compile Time Error:编译时错误,包括常见的语法错误(代码不符合语言的语法规定,比如未匹配的括号、一条语句的最后缺少分号等等)、语义错误(比如操作符与操作数类型不匹配)等;还包括找不到所引用的文件(C++中的.h文件、lib静态库、dll动态库,Java中的Jar包)的错误。

        3. Runtime Time Error:运行时错误,包括由逻辑错误、数组访问越界、空指针等在运行时引起的错误。此类错误一般比编译时错误更难解决,特别是逻辑错误。所以,在写具有较复杂逻辑的代码前,程序员自身必须把整个程序执行的流程想清楚。否则,调试代码的时间会远远超过想清楚之前直接写代码"节省"下的时间。

        4. System Log: 系统日志,Android开发中常用logcat这个工具来分层次、分类型地显示不同等级的日志,方便程序员查找感兴趣的信息(错误信息或者更琐碎、更底层的信息)。

        5. Stacktrace: 调用栈的追踪,非常有用的一个特性,能够显示函数的调用关系(按照栈的数据结构,最后调用的函数显示在栈顶,即最上方)。 Stacktrace常常用来分析异常链,查找错误的源头,能够直接定位到代码中引起错误的行。

  • 全局变量 or 局部变量?:

        1. global variable:全局变量,在整个源文件中都有效。

        2. local variable:局部变量,在定义该变量的上下文范围内有效;在该范围之外,该变量的生命周期结束,不能够再被引用。

        3. variable scope:变量作用域,分为全局的与局部的,具体解释如上。

  • 注意:在Android Studio中,默认编辑器设置下,全局变量名会加粗显示,便于程序员区分。了解这一点之,可以减少了使用同名局部变量覆盖(override,hide)全局变量而引入BUG的可能。


推荐阅读
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
author-avatar
直拍之横打
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有