安卓中定义常量

合集下载

安卓

安卓
1.2 Android帮助文档
对于每个Android开发者而言, Android提供的官方文档是必看的。 在Android SDK安装目录下找到docs子目录,打开docs子目录 index.html页面,并单击该页面上方的Dev Guide标签面,这就是 Android 官方提供的开发指南文档。接着单击下图中的Reference标 签页,看到的就是Android的API文档了。
Android项目目录结构
Android Android 平台开发与应用
Android应用结构分析
Android Android 平台开发与应用
Android应用结构分析
1、src文件夹:包括了项目的所有包及源文件(.java)。
打开其目录下的HelloAndroid.java文件,它就是Android 项目的Java文件,程序清单如下:
Android Android 平台开发与应用
1、界面编程与视图View
1.3 控制UI界面的几种方式
Android控制组件行为的方式有以下三种:
在XML布局文件中通过XML属性进行控制 在Java程序代码中通过调用方法进行控制 XML布局文件和Java代码混合控制
Android Android 平台开发与应用
Android Android 平台开发与应用
Android应用结构分析
2、gen文件夹:该目录用于保存Android自动生成的
的一个R.java文件。 R.java是在建立项目时自动生成的, 这个文件是只读模式,不能更改,定义该项目所有资源的 索引文件。
Android Android 平台开发与应用
Android Android 平台开发与应用
Android应用的基本组件介绍

常用的Android常量

常用的Android常量
3/4
RECEIVE_WAP_PUSH RECORD_AUDIO RESTART_PACKAGES SEND_SMS SET_ALWAYS_FINISH SET_ANIMATION_SCALE SET_PREFERRED_APPLICATIONS SET_PROCESS_FOREGROUNT SET_PROCESS_LIMIT SET_TIME_ZONE SET_WALLPAPER STATUS_BAR VIBRATE WAKE_LOCK WRITE_APN_SETTINGS WRITE_CALENDAR WRITE_CONTACTS WRITE_OWNER_DATA WRITE_SETTINGS WRITE_SMS WRITE_SYNC_SETTINGS
允许应用程序查收发来的 WAP PUSH 信息。 允许应用程序录音。 允许应用程序重启其他应用程序。 允许应用程序发送 SMS 信息。 允许应用程序自己决定在被放到后台运行时是否关闭程序。 允许应用程序设置全局动画效果比例系数。 允许应用程序设置偏好应用程序。 允许应用程序让任何就绪的进程运行于前台。 允许应用程序设置能同时运行进程的数目。 允许应用程序设置时区。 允许应用程序设置壁纸。 允许应用程序打开、关闭或禁用状态栏。 允许应用程序控制设备的震动。 允许应用程序使用 PowerManager 的 WakeLock 来保持 CPU 工作或屏 幕、键盘灯的开启。 允许应用程序设置 APN。 允许应用程序对用户的日历数据进行写入操作(不可读) 。 允许应用程序对用户的联系人数据进行写入操作(不可读) 。 允许应用程序对所有者的数据进行写入操作(不可读) 。 允许应用程序读取或更改系统设置。 允许应用程序编写 SMS 信息。 允许应用程序更改数据同步设置。
UID_REMOVED ◆ Category 类别 字符串常量 android.intent.category. ALTERNATIVE BROWSABLE

常用的Android常量

常用的Android常量
允许应用程序让任何就绪的进程运行于前台。
允许应用程序设置能同时运行进程的数目。
允许应用程序设置时区。
允许应用程序设置壁纸。
允许应用程序打开、关闭或禁用状态栏。
允许应用程序控制设备的震动。
允许应用程序使用PowerManager的WakeLock来保持CPU工作或屏幕、键盘灯的开启。
允许应用程序设置APN。
屏幕变暗关闭后发出的Broadcast。
屏幕唤醒打开后发出的Broadcast。
系统时区发生了变化,改变后时区id保存在键值为time-zone的Extra里。
系统时间通过设置发生了变化。
系统时间每过一分钟发出的Broadcast,接收此Broadcast的BroadcastReceiver只能在程序中通过Context.registerReceiver()方法动态进行注册,不能在manifests中静态注册。
DEVICE_STORAGE_OK
HEADSET_PLUG
MANAGE_PACKAGE_STORAGE
NEW_OUTGOING_CALL
PACKAGE_ADDED
PACKAGE_CHANGED
PACKAGE_INSTALL
PACKAGE_REMOVED
PACKAGE_RESTARTED
PROVIDER_CHANGED
描述
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
ACCESS_NETWOK_STATE
ACCESS_WIFI_STATE
ADD_SYSTEM_SERVICE
BATTERY_STATS
BLUETOOTH
BLUETOOTH_ADMIN
BROADCAST_PACKA-

安卓开发规范

安卓开发规范

安卓开发规范安卓开发规范是指在进行安卓应用开发过程中,开发人员应遵守的一套约定和规范。

这些规范旨在提高开发效率、降低开发成本、提高代码质量和可维护性。

下面将介绍一些常见的安卓开发规范原则和建议。

1.项目结构规范:建议按功能模块进行组织,每个模块包含相应的Activity、Fragment、Adapter、Model等文件,并在主项目中创建一个合适的目录结构。

2.命名规范:变量、方法和类名应使用有意义的英文单词或缩写,并使用驼峰命名法。

避免使用拼音、拼写错误或无意义的命名。

3.资源命名规范:为了方便管理和查找资源文件,建议使用有意义的命名,并按类型和功能进行分类。

例如:布局文件以"activity_"或"fragment_"开头,图片资源以"ic_"或"bg_"开头。

4.缩进和排版规范:使用4个空格进行缩进,并保持一致的代码排版风格。

使用空格而不是制表符来缩进代码。

5.注释规范:在关键的代码部分或复杂逻辑部分添加注释,解释代码的意图和功能。

注释应使用清晰明了的语言,并遵循行内注释和块注释的规范。

6.避免硬编码规范:将常量、字符串等硬编码的值提取出来作为变量或常量,并在合适的地方进行引用。

这样可以方便后续修改和维护。

7.内存管理规范:避免创建过多的对象和耗费内存的操作,及时释放不再使用的对象。

可以使用内存分析工具来检测内存泄漏问题,并及时解决。

8.异常处理规范:对可能出现异常的代码块进行合理的异常处理,避免出现未处理的异常导致应用崩溃。

9.代码复用规范:将重复使用的代码封装为方法或工具类,并在合适的地方进行调用。

避免出现重复的代码片段。

10.代码测试规范:编写单元测试和集成测试的代码,并使用合适的测试框架进行测试。

确保代码的正确性和稳定性。

11.版本管理规范:使用版本管理工具(如Git)对代码进行管理,并进行合适的分支管理和提交注释。

android课堂笔记

android课堂笔记

一个android应用是类android.app.Application的一个实例,Application中可以包含多个Activity实例。

系统给每个Activity分配一个默认的窗口,而窗口中的内容则是需要调用setContentView()方法将它的内容放在一个显示的视图Contentview中,该视图描述了界面上具体的UI控件,例如:标签,文本框,单选框,多选框等。

10月9号:Android的数据存储技术:应用程序的存储方式可以分为三类:文件存储:可以定义自己的数据格式,使用起来较为灵活。

数据存储:管理大量数据是较为方便,性能较高,能够对数据查询,删除,增加,修改还可以加密,加锁,跨应用和跨平台等。

网络存储:即用于实时数据的处理,例如在运输,科研,勘探,航空,移动办公等场景下。

实时将采集到的数据通过网络传输到数据处理中心进行存储和处理。

对android平台而言,它的存储方式童颜是包括以上三种。

但从开发者角度来划分,有如下的五种:1:使用sharePreference存储数据,通过xml文件将一些简单配置信息存储到设备中,只能在同一个包内使用,不能再不同的包之间使用。

2:文件存储数据:在android中读/写文件,与java中实现i/o的程序是完全一样,提供了openFileinput()和openFileoutput()方法来读取设备上的文件。

3,SQLite数据库存储数据(重点);SQLite是android自带的一个标准数据库,支持SQL语句,是一个轻量级的嵌入式数据库。

4,使用contentProvider存储数据,主要用于应用程序之间进行数据交换,从而能够让其它应用读取或者保存某个ContentProvider的各种数据类型。

5,internet网络存储数据:通过网络上提供给我们的存储空间来上传(存储)和下载(获取)存储在网络空间中的数量。

10月10号:回滚(rollback):让数据不写入到数据库里面。

安卓命名规范

安卓命名规范

标识符命名法驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。

英文缩写原则:1 较短的单词可通过去掉“元音”形成缩写2 较长的单词可取单词的头几个字母形成缩写3 此外还有一些约定成俗的英文单词缩写.下面为常见的英文单词缩写:程序中使用单词缩写原则:不要用缩写,除非该缩写是约定俗成的。

命名规范:1 包(packages): 采用反域名命名规则,全部使用小写字母。

一级包名为com,二级包名为xx(可以是公司或则个人的随便),三级包名根据应用进行命名,四级包名为模块名或层2 类(classes):名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的,比如HTML,URL,如果类名称中包含单词缩写,则单词缩写的每个字母均应大写。

Adapter类 Adp或者Adapte 为后缀标识新闻详情适配器NewtDetailAdp或则直接 NewDetailAdapter解析类 Hlr为后缀标识首页解析类HomePosterHlr公共方法类 Tools或Manager为后缀标识线程池管理类:ThreadPoolManager日志工具类:LogTools数据库类以DBHelper后缀标识新闻数据库:NewDBHelper Service类以Service为后缀标识时间服务TimeServiceBroadcastReceive类以Broadcast为后缀标识时间通知TimeBroadcastContentProvider 以Provider为后缀标识直接写的共享基础类以Base开头BaseActivity,BaseFragment3 接口(interface):命名规则与类一样采用大驼峰命名法,多以able或ible结尾,如interface Runna ble ;interface Accessible 。

5 变量(variables)采用小驼峰命名法。

类中控件名称必须与xml布局id保持一致。

按键精灵Android版MQ语言基础说明

按键精灵Android版MQ语言基础说明

按键精灵Android版:MQ 语言 MQ是按键精灵针对旗下移动产品而设计的全新脚本开发语言。

语言支持全中文阅读脚本,上手简单,易学易用。

MQ语言的基本特性如下:1 数据类型在MQ语言里,数据类型包括如下5种:Null : 不包含任何有效数据;Boolean:仅包含True和False两个常数;Integer:32位有符号整数,范围为-2,147,483,648 到2,147,483,647 之间;Float:双精度浮点数,负数范围从-1.79769313486232E308 到-4.94065645841247E-324,正数范围从4.94065645841247E-324 到1.79769313486232E308;String : 字符串。

MQ语言为动态类型,即定义变量时并不指定类型,在给变量赋值时才确定类型,并且类型随时可以通过赋值操作而变化。

常量MQ语言中,用户可直接在脚本内写入没有命名的常量的,具体类型与写法如下:整数型:可直接输出整数数字,如100;亦可加&H前缀,表明该常量为16进制数字,如&H64。

浮点型:可直接输出小数点数字,如3.1415;亦可采用E分隔整数和底数部分,如314.15e-2。

字符串型:凡采用一对双引号包含的内容均被视为字符串型常量。

其中允许使用转义字符包括有:'\b' (退格),'\f' (表单),'\n' (换行),'\r' (回车),'\t' (横向制表),'\v' (纵向制表),'\\' (反斜杠),'\" '(双引号),以及'\' '(单引号)。

另外也支持反斜杠加数字来描述一个字符。

(注意,如果需要在这种描述方法后接一个是数字的字符,那么反斜杠后必须写满三个数字)。

MQ语言中有一下已经预先定义好的常量,目标包括True和False(不区分大小写),今后还会增加。

android 类 变量 赋值 方法

android 类 变量 赋值 方法

android 类变量赋值方法【原创版4篇】篇1 目录1.Android 类的概述2.Android 类的变量3.Android 类的方法4.Android 类的应用实例篇1正文1.Android 类的概述Android 类是 Android 系统中的一个核心类,它代表了 Android 操作系统的基本功能和特性。

Android 类提供了许多变量和方法,用于实现各种与 Android 系统相关的操作和功能。

在 Android 应用开发中,我们可以通过继承 Android 类或其他基于 Android 类的子类,来实现对Android 系统的操作和控制。

2.Android 类的变量Android 类中包含了许多变量,用于存储与 Android 系统相关的信息和状态。

这些变量主要包括:- 屏幕方向:表示屏幕的方向,如竖屏或横屏。

- 屏幕分辨率:表示屏幕的宽度和高度。

- 屏幕像素密度:表示屏幕上每英寸的像素数量。

- 系统语言:表示设备上设置的语言。

- 当前时间:表示设备的当前时间。

3.Android 类的方法Android 类中提供了许多方法,用于实现与 Android 系统相关的操作和功能。

这些方法主要包括:- 获取屏幕方向:通过 getRequestedOrientation() 方法,可以获取屏幕的方向。

- 获取屏幕分辨率:通过 getScreenWidth() 和 getScreenHeight() 方法,可以获取屏幕的宽度和高度。

- 获取屏幕像素密度:通过 get 密度 () 方法,可以获取屏幕像素密度。

- 设置屏幕方向:通过 setRequestedOrientation() 方法,可以设置屏幕的方向。

- 设置屏幕分辨率:通过 setScreenWidth() 和 setScreenHeight() 方法,可以设置屏幕的宽度和高度。

- 设置屏幕像素密度:通过 set 密度 () 方法,可以设置屏幕像素密度。

安卓

安卓

理解Activity的生命周期
理解Activity的生命周期
Activity栈: Android通过Activity栈的方式来管理Activity。 正在运行的Activity 处在在栈的最顶端,它是运行状 态的; 当有新Activity进入屏幕最上端时,原来的Activity就 会被压入第二层,如果他的屏幕没有被完全遮盖, 那么他处于Pause状态,如果他被遮盖那么他处于 Stop状态。 当然不管你出于任何一层,都可能在系统觉得资源 不足时被强行关闭,当然关闭时在栈底的程序最先 被关闭。 譬如:当你在程序中调用 Activity.finish()方法时,结 果和用户按下 BACK 键一样:他告诉 Activity Manager该Activity实例可以被“回收”。随后 Activity Manager 激活处于栈第二层的 Activity 并重 新入栈,把原 Activity 压入到栈的第二层,从 Running 状态转到 Paused 状态。

理解Activity的生命周期
• 手机最重要也是最基础的功能是打电话,也就意味着电话来的时候可 能随时要把现在的程序暂停,如果电量不足的时候也可能随时要把现 有程序关闭;因此Android程序和电脑上的程序有所不同,具体到 Activity,Activity的生命周期不是自身控制的,而是由Android系统控 制的。 • 在android中Activity有四种基本状态: 1、Running 位于屏幕最前端时,此时处于可见状态,和用户可交互的状态。 2、Paused 当Acitivy被另一个透明的或者非全屏的Activity覆盖时的状态叫 Paused状态,虽然可见但不可交互。 3、Stop 当Activity被另外一个Activity覆盖、界面不可见时处于Stop状态。 4、Killed Activity被系统杀死或者跟本没启动时就是Killed状态。

Android代码规范大全

Android代码规范大全

Android代码规范⼤全前⾔虽然我们项⽬的代码时间并不长,也没经过太多⼈⼿,但代码的规范性依然堪忧,⽬前存在较多的⽐较⾃由的「代码规范」,这⾮常不利于项⽬的维护,代码可读性也不够⾼,此外,客户端和后端的研发模式也完全不同,后端研发基本都是基于 SOA 思想的,通常⼀个⼦系统 3 个⼈⼀起维护就已经是很充分的⼈⼒了,更多时候就是 1 个主⼒ + 1 个backup 的⼈⼒配置。

⽽客户端却完全不同,⼤家的代码都是相互交叉的,⼀个模块的代码可能要经历数⼗⼈的蹂躏,所以形成⼀个⼀致的开发规范迫在眉睫。

为什么需要⼀致的代码规范?核⼼还是减少沟通成本,提升我们的 Code Review 效率,让我们的代码更加易于维护。

此外,⼀个⼀致的代码规范可以造成更少的 bug,也就意味着更节省时间和⾦钱。

当然,规范是约定的,本系列⽂字全是笔者多年来博采众长,积累⽽成,所以有任何不同意见,欢迎评论拍砖。

1. Android 的⼯具规范⼯欲善其事,必先利其器。

由于 Android 基本都基于 Android Studio 进⾏开发,所以⼯具规范全部以 Android Studio 为前提。

1. 必须使⽤最新的稳定版本的 Android Studio 进⾏开发;2. 编码格式必须统⼀为 UTF-8;3. 删除多余的 import,减少警告出现,可利⽤ AS 的 Optimize Imports(Settings -> Keymap -> Optimize Imports)快捷键,设置⾃⼰的喜好。

4. 编辑完 .java、.kt、.xml 等⽂件后必须格式化(需要在设置好以下⼏点的前提下)Reformat Code 的必要性,⼀定需要保证 IDE 配置⼀致为前提,尽可能贴切于 Android Studio 默认。

强烈建议对于⽐较长的⽼代码局部格式化,不全局格式化每⾏字符数不得超过 160 字符,设置 Editor -> Code Style全部设置为单路径引⽤,kotlinx.android.synthetic.main除外。

android常量命名规则

android常量命名规则

android常量命名规则摘要:1.Android 常量命名规则简介2.常量命名的基本原则3.常量命名规范示例4.总结正文:Android 常量命名规则是Android 开发中一个重要的规范,它有助于提高代码的可读性和可维护性。

本文将详细介绍Android 常量命名规则及其应用。

## 1.Android 常量命名规则简介在Android 开发中,常量是指在程序执行过程中不会改变的值。

为了使代码更易于理解和维护,我们需要遵循一定的命名规则来为常量命名。

这些规则包括使用全大写字母、使用下划线分隔单词、遵循一定的命名规范等。

## 2.常量命名的基本原则Android 常量命名遵循以下基本原则:1.使用全大写字母:常量的首字母应使用大写字母,以区别于其他变量和函数名。

2.使用下划线分隔单词:多个单词组合的常量命名时,应使用下划线(_)分隔,例如:`CONSTANT_NAME`。

3.遵循一定的命名规范:常量命名应简洁明了,能够体现常量的作用和含义。

## 3.常量命名规范示例以下是一些遵循Android 常量命名规范的示例:1.用于表示状态的常量:```javapublic static final int CONSTANT_ACTIVITY_STATE_ACTIVE = 0;public static final int CONSTANT_ACTIVITY_STATE_PAUSED = 1;public static final int CONSTANT_ACTIVITY_STATE_STOPPED = 2;```2.用于表示方向的常量:```javapublic static final int CONSTANT_DIRECTION_LEFT = 0;public static final int CONSTANT_DIRECTION_RIGHT = 1;public static final int CONSTANT_DIRECTION_UP = 2;public static final int CONSTANT_DIRECTION_DOWN = 3;```3.用于表示颜色的常量:```javapublic static final int CONSTANT_COLOR_RED = 0xFFFF0000;public static final int CONSTANT_COLOR_GREEN = 0xFF00FF00;public static final int CONSTANT_COLOR_BLUE = 0xFF0000FF;```## 4.总结Android 常量命名规则有助于提高代码的可读性和可维护性。

Android 中的 Action常量

Android 中的 Action常量

String DATA_ACTIVITY_STATE_CHANGED_ACTION 广播:电话的数据活动(data activity)状态(即收发数据的状态)已经改变。 "android.intent.action.DATA_ACTIVITY"
String DATA_CONNECTION_STATE_CHANGED_ACTION 广播:电话的数据连接状态已经改变。 "android.intent.action.DATA_STATE"
String ALTERNATIVE_CATEGORY 类别:说明 activity 是用户正在浏览的数据的一个可选操作。 "android.intent.category.ALTERNATIVE"
String ANSWER_ACTION 动作:处理拨入的电话。 "android.intent.action.ANSWER"
String FRAMEWORK_INSTRUMENTATION_TEST_CATEGORY 类别:To be used as code under test for framework instrumentation tests. "android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST"
String PHONE_STATE_CHANGED_ACTION 广播:电话状态已经改变。 "android.intent.action.PHONE_STATE"
String PICK_ACTION 动作:从数据中选择一个项目 (item),将被选中的项目返回。 "android.intent.action.PICK"

android官方技术文档翻译――Case 标签中的常量字段

android官方技术文档翻译――Case 标签中的常量字段

android 官方技术文档翻译――Case标签中的常量字段Case 标签中的常量字段在正常的Android 项目中,资源R 类里的常量是这样声明的:public static final int main=0x7f030004;然而,到ADT 14 为止,在类库项目中,他们会被这样声明:public staticint main=0x7f030004;换句话说,在库项目中这些常量都不是final 的。

原因很简单:当多个库项目整合时,字段的实际值(必须是唯一的)可能会出现碰撞。

在ADT 14 之前,所有这样的字段都是final 的,所以导致所有的库被使用的时候,主项目必须编译他们的所有资源和相关Java 代码。

这样的性能是很差的,因为它使构建的速度非常慢。

它还阻碍了不包含源代码的库项目的分发,限制库项目的使用范围。

字段不再是final 的原因是意味着库jar 包可以只编译一次,并且能直接在其他项目中复用。

以及允许分发库项目的二进制版本(将在r15 出现),这使得构建更快。

然而,它对库的源码也有一个影响。

以下形式的代码将不再能够编译:int id = view.getId(); switch (id) { case R.id.button1: action1(); break; case R.id.button2: action2(); break; case R.id.button3: action3(); break; }这是因为switch 语句需要所有case 的标签,如R.id.button1,在编译时是个常量(这样值可以直接复制到.class 文件中)。

为此解决方案很简单:将switch 语句转换成if-else 语句。

幸运的是,这在Eclipse 中操作起来很简单。

只需要将插入符号放在switch 关键字上,并按Ctrl+1 (在Mac 上是Cmd+1):。

常量的声明与使用

常量的声明与使用

常量的声明与使⽤
常量:当程序运⾏时,值不能改变的的量为常量。

常量可分为4类,分别是指针常量,过程常量,构造常量以及简单类型常量。

其中简单类型常量指的是有序类型和实型。

声明常量使⽤保留字 Const 进⾏声明。

const
常量名:数据类型 = 值;
在声明常量时,可以为其指定准确的数据类型,如果没有为其指定数据类型,则当程序调⽤该变量时,Delphi会根据该变量的值为其决定数据类型,两种声明⽅法如下:
不为声明的常量指定数据类型,⽅法如下:
const
UserID = 1;
PassWord = '123456';
UserName = 'xiaoming';
Number = ['0'..'9'];
为常量指定数据类型,⽅法如下:
const
UserID :Integer = 1;
PassWord :Integer = 123456;
UserName :String = 'xiaoming';
Number :array[0..9] of Char = ('0','1','2','3','4','5','6','7','8','9');
常量的使⽤:在使⽤常量时应注意,常量的值只能被程序所调⽤,⽽不能在程序中更改常量的值,否则会出现编译错误。

如何定义常量

如何定义常量

如何定义常量在介绍C++的常量前,先看下下面的代码。

[cpp]view plaincopy1.for (int i = 0; i < 512; ++i) {2.…;3.}512是什么,它具有什么含义?在代码中若直接使用类似512这些“魔数”(magic number),这些数字的具体含义就不能体现出来。

另外,假如程序中多处包含512这个数,随着时间的推移,发现有些512需要更改为1024,有些512需要保持不变。

这种情况下,程序员必须小心谨慎地去一个一个地查找程序中所有的512,并保证更改的数字不会出错——使用“魔数”会导致难以维护的问题。

为了解决以上问题,可以使用#define预处理器指令来定义一个常量。

例如,[cpp]view plaincopy1.#define MAX_NUM_SIZE 5122.3.for (i = 0; i < MAX_NUM_SIZE; ++i) {4.…;5.}通过使用#define定义MAX_NUM_SIZE这个宏,可以清晰看到512的具体含义,另外,假如需要更改这个数字,只须直接修改#define一处就可以了。

然而,在C++中,并不提倡使用#define定义一个常量。

#define 本质上是一个预处理器指令,它仅仅表示使用一个串代替别一个串而已。

也就是说,#define定义的常量从未被编译器看到——它们在编译器开始处理源码之前就被移走了。

具体来说,避免使用#define来定义常量,原因如下所述。

1. 没有指定类型#define不涉及为定义的常量做类型检查,为了显式地指定常量类型,需要在常量后加上后缀。

比如,对于float类型的常量,在数字后面加上f后缀。

2. 没有指定作用域#define定义的常量是全局的。

3. 没有访问控制不能把#define定义的常量标记为公有的,受保护的,或者私有的,它本质上是公有的。

因为宏一旦被定义,它就在其后的编译过程中有效(除非在某处被#undef)。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安卓中定义常量的方法
在安卓中我们无非会碰到定义颜色、样式等一些常量,可能会遇到一些问题。

定义常量的文件放在values这个文件夹中
Colors.xml中定义常量代码如下:
<?xml version="1.0"encoding="utf-8"?>
<resources>
<!-- 黑色 -->
<color name="black">#000000</color>
<!-- 白色 -->
<color name="white">#FFFFFF</color>
<!-- 红色 -->
<color name="red">#FF0000</color>
<!-- 灰色 128,128,128-->
<color name="gray">#808080</color>
<!-- 石板灰色 112,128,144-->
<color name="slateGray">#708090</color>
</resources>
Styles.xml是定义页面样式显示的代码,定义常量代码如下:<?xml version="1.0"encoding="utf-8"?>
<resources>
<!-- 字体大小:20dip,颜色:白色,粗体 -->
<style name="font_20_white_bold">
<item name="android:textSize">17dip</item>
<item
name="android:textColor">@color/white</item>
<item name="android:textStyle">bold</item> </style>
<!-- 字体大小:20dip,颜色:白色,粗体 -->
<style name="font_20_black_bold">
<item name="android:textSize">17dip</item>
<item
name="android:textColor">@color/black</item>
<item name="android:textStyle">bold</item> </style>
<!-- 按钮字体大小:22dip,颜色:黑色,左右间距:17dip -->
<style name="btn_font_17_black">
<item name="android:textSize">17dip</item>
<item name="android:textColor">#000000</item>
<item name="android:paddingLeft">17dip</item>
<item name="android:paddingRight">17dip</item> </style>
</resources>
在程序中调用这两个常量的方法例如:android:background="@color/white"调用colors.xml文件的常量的代码,style="@style/font_20_white_bold"是调用styles.xml文件中的常量的代码。

相关文档
最新文档