Android日记01

发布时间:2022-07-03 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android日记01脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_126_8@文章目录
  • 组件属性
    • andROId:layout _width和android:layout_height属性
    • android :orientation属性
    • android:text属性
  • Android与MVC设计模式
  • 日志记录的级别与方法

组件属性

配置组件时常用的一些属性。

android:layout _width和android:layout_height属性

几乎每类组件都需要android:layout_width和android:layout_height属性。以下是它们的两个常见属性值(二选一)。

match_parent:视图与其父视图大小相同。

wrap_content:视图将根据其显示内容自动调整大小。

(以前还使用fill_parent属性值,等同于match_parent,现已废弃不用。)

根LinearLayout组件的高度与度属性值均为match parent。LinearLayout虽然是根元素,但它也有父视图——Android提供该父视图来容纳应用的整个视图层级结构。

其他包含在界面布局中的组件,其高度与宽度属性值均被设置为wrap_content。

TextView组件比其包含的文字内容区域稍大一些,这主要是android: padding="24dp"属性的作用。该属性告诉组件在决定大小时,除内容本身外,还需增加额外指定量的空间。这样屏幕上显示的问题与按钮之间便会留有一定的空间,使整体显得更为美观。

android :orientation属性

android:orientation属性是两个LinearLayout组件都具有的属性,它决定两者的子组件是水平放置还是垂直放置。根LinearLayout是垂直的,子LinearLayout是水平的。

子组件的定义顺序决定其在屏幕上显示的顺序。在垂直的LinearLayout中,第一个定义的子组件出现在屏幕的最上端:而在水平的LinearLayout中,第一个定义的子组件出现在屏幕的最左端。(如果设备文字从右至左显示,如阿拉伯语或者希伯来语,第一个定义的子组件则出现在屏幕的最右端。)

android:text属性

TextView与Button组件具有android:text属性。该属性指定组件要显示的文字内容。

注意,android:text属性值不是字符串值,而是对字符串资( string resource)的引用。

字符串资源包含在一个独立的名叫strings的XML文件中( strings.xML ),虽然可以硬编码设置组件的文本属性值,如android:text=“True”。

实际开发中,一般会将文字内容放置在独立的字符串资源XML文件中,然后引用它们。这样会方便应用的本地化(支持多国语言)。

Android与MVC设计模式

应用对象分为模型(实体类)、视图(布局xml文件)和控制器(ActivITy)三类。 Android应用基于模型-视图-控制器( Model-View-Controller,MVC)的架构模式进行设计。MVC设计模式表明,应用的任何对象,归根结底都属于模型对象、视图对象以及控制器对象中的一种。

  • 模型对象存储着应用的数据和业务逻辑。模型类通常用来映射与应用相关的一些事物,如用户、商店里的商品、服务器上的图片或者一段视节目抑或GeoQuiz应用里的地理知识问题。模型对象不关心用户界面,它为存储和管理应用数据而生。

    Android应用里,模型类通常就是我们创建的定制类。应用的全部模型对象组成了模型层。GeoQuiz应用的模型层由实体类组成。

  • 视图对象知道何在屏幕上绘制自己以及加何响应用户的输入,如触摸动作等。一个简单的经验法则是,凡是能够在屏幕上看见的对象,就是视图对象。

    Android自带很多可配置的视图类。当然,也可以定制开发其他视图类。应用的全部视图对象组成了视图层

  • 控制器对象含有应用的逻辑单元,是视图对象与模型对象的联系纽带。控制器对象响应视图对象触发的各类事件,此外还管理着模型对象与视图层间的数据流动。

    在Android的世界里,控制器通常是Activity、Fragment或Service的子类

Android日记01

随着应用功能的持续扩展,应用往往会变得过于复杂而让人难以理解。以Java类组织代码有助于从整体视角设计和理解应用。这样,我们就可以按类而不是按变量和方法思考设计开发问题。 同样,把Java类以模型层、视图层和控制器层进行分类组织,也有助于我们设计和理解Android应用。这样,我们就可以按层而非一个个类来考虑设计开发了。 MVC设计模式还便于复用类。相比功能多而全的类,功能单一的专用类更有利于代码复用。举例来说,模型类Question与用作显示问题的组件毫无代码逻辑关联。这样,就很容易在应用里按需使用Question类。假设现在想显示包含所有地理知识问题的列表,很简单,直接利用Question对象逐条显示就可以了。

日志记录的级别与方法

使用android.util.LOG记录日志,不仅可以控制日志的内容,还可以控制用来区分信息重要程度的日志级别。Android支持五种日志级别。每一个级别对应一个Log类方法。要输出什么级别的日志,调用对应的Log类方法就可以了。

日志级别与方法

日志级别方法方法
ERRORLog.e( … .)错误
WARNINGLog.w( … .)警告
INFOLog.i( … .)信息型消息
DEBUGLog.d( … .)调试输出(可能被过滤掉)
VERBOSELog.v( … .)仅用于开发

需要说明的是,所有的日志记录方法都有两种参数签名: string类型的tag参数和msg参数F1b;除tag和msg参数外再加上Throwable实例参数。附加的Throwable实例参数为应用抛出异常时记录异常信息提供了方便。

两种方法不同参数签名的使用实例。对于输出的日志信息,可使用常用的Java字符串连接操作拼接出需要的信息,或者使用String.format对输出日志信息进行格式化操作,以满足个性化的使用要求。

Android的各种日志记录方式

//Log a message at "debug" log level
Log.d(TAG,"current question index: " + mCurrentIndex);

//实体类对象
Question question;
try {
	question = mQuestionBank[ mCurrentIndex];
} catch (ArrayIndexOutOfBoundsException ex) {
	// Log a message at "error" log level,along with an exception stack trace
    Log.e(TAG,"Index was out of bounds", ex);
}

参考:《Android编程权威指南》(第3版)

脚本宝典总结

以上是脚本宝典为你收集整理的Android日记01全部内容,希望文章能够帮你解决Android日记01所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。