第04讲- Android项目目录结构分析
学习内容:
1. 认识R类(R.java)的作用
R.java是在建立项目时自动生成的,这个文件是只读模式,不能更改。R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。
a.在代码中使用资源文件 具体格式为:R.资源文件类型.资源文件名称
例如,Java代码:
setContentView(R.layout.login_system);
//设置Activity显示的布局视图
Button cancelBtn = (Button)findViewById(R.id.cancelButton);
//获得Button实例
EditText userEditText = (EditText)findViewById(R.id.userEditText);
// 获得TextView实例
另外,除了访问用户自己定义的资源文件,还可以访问系统中的资源文件。大部分的资源文件被定义在android包下的R类中。访问系统中的资源文件格式为:android.R.资源文件类型.资源文件名称
例如,Java代码:
int i ;
i = android.R.array.emailAddressTypes; // 数组
i = android.R.dimen.app_icon_size; // 尺寸
textview1.setText(R.string.msg); //定义<string name="msg">HelloJason!</string>
b.在其他资源文件中引用资源文件 具体格式为:”@资源文件类型/资源文件名称”
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/ msg " <!--引用了一个字符串来表示文本内容-->
android:textColor="@color/opaque_red" <!--引用了一个颜色来表示文本颜色-->
android:textSize="@dimen/sixteen_sp"/> <!--引用了一个尺寸来表示文本尺寸-->
2. 学习在activity中使用findViewById方法查找组件;
例如: TextView textview1 =(TextView) findViewById(R.id.textView1);
该函数利用我们在XML文件中定义的View的id属性来获取相应的View对象。findViewById的参数是一个View的ID。
View.findViewById() vs
Activity.findViewById()
一般我们在oncreate()方法中使用的(**view)findViewById(R.id.**)既是调用的Activity中的findViewById()函数。
而在其他情况写出的***view.findViewById()中调用的是view类中的findViewById()
3. 学习在layout中使用@string查找字符串
res->values->strings.xml添加string元素,定义<stringname="msg">Hello Jason!</string>
在activity.java中的引用格式为:R.string. msg
在activity.xml中引用格式为 “@string/msg” (注意没有+) <!--引用了一个字符串来表示文本内容-->
4. 学习在android项目中加入资源国际化的技巧
在res目录下建立文件夹values-zh-rCN
在默认的values目录下的写英文的string
在新建的values-zh-rCN目录下添加string,写中文的string
系统会根据Custom Locale中默认的语言格式,设置资源的语言格式
第04讲- Android项目目录结构分析的更多相关文章
- Android项目目录结构分析
Android项目目录结构分析 1.HelloWorld项目的目录结构1.1.src文件夹1.2.gen文件夹1.3.Android 2.1文件夹1.4.assets 1.5.res文件夹1.6.An ...
- 第07讲- Android项目的打包apk
第07讲Android项目的打包apk 方法一:在工作目录bin文件夹下有一个与项目同名的apk文件 (最懒惰的方式,不推荐,不安全,不利于版本更新,只有在开发模式时使用) 方法二:使用key方式 签 ...
- Vue 项目目录结构分析
Vue项目目录结构分析 ├── v-proj | ├── node_modules // 当前项目所有依赖,一般不可以移植给其他电脑环境 | ├── public | | ├── favicon.ic ...
- Android开发学习总结(五)——Android应用目录结构分析
一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t -p E:/An ...
- Android应用目录结构分析
一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t 1 -p E:/ ...
- Android开发学习总结(五)——Android应用目录结构分析(转)
一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t 1 -p E:/ ...
- Android项目目录结构
JDK JDK是java语言的软件开发工具包,它包含了java的运行环境,工具集合,基础类库等内容 Android SDK 是谷歌提供的 Android 开发包,在开发Android 项目的时候 ...
- Android项目目录结构模板以及简单说明【简单版】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 开发Android项目的时候,一般都是一边开发一边根据需求创建目录(包.module),那么我呢就根据以往的项目经验,整理出一个比较 ...
- angular项目目录结构分析
详情查看:https://www.angular.cn/guide/file-structure app.module.ts 定义 AppModule, 这个根模块会告诉 Angular 如何组装该应 ...
随机推荐
- poj 2376 Cleaning Shifts(贪心)
Description Farmer John <= N <= ,) cows to <= T <= ,,), the first being shift and the la ...
- eclipse项目转android studio详解
第一步:项目导入 向AS中导入项目的方法有两种(其实是一种). 方法一:是在eclipse中先导出为gradle(如图1),然后打开AS,找到项目中的gradle文件,直接导入. 方法二:直接在AS中 ...
- Docker的简单认知
Docker images: docker image是一个只读打模板,用来创建Docker 容器 Docker Registers 互联网上存储images的地方 Docker containers ...
- C#的位运算符
C#的位运算符&,| ,^ ,<<,>>2008年08月01日 星期五 15:52位 运 算我们知道任何信息在计算机中都是以二进制的形式保存的位操作符就是对数据按二进制 ...
- 《第一行代码》学习笔记14-UI(3)
1. (1)所有控件都是直接或间接继承自View,所用的所有布局都是直接或间接继承自ViewGroup的. (2)View是Android中一种最基本的UI组件,可以在屏幕上绘制一块矩形区域,并能响应 ...
- 数据库分库分表(sharding)系列(二) 全局主键生成策略
本文将主要介绍一些常见的全局主键生成策略,然后重点介绍flickr使用的一种非常优秀的全局主键生成方案.关于分库分表(sharding)的拆分策略和实施细则,请参考该系列的前一篇文章:数据库分库分表( ...
- CODEVS 2451 互不侵犯
2451 互不侵犯 题目描述 Description 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格 ...
- JS小数位保留两位小数--toFixed()
parseInt,parseFloat,parseDouble在JS中是将值转换成相应的类型: 你必须要这样,才能实现: <script> alert(parseFloat ...
- [Mugeda HTML5技术教程之14]案例分析:制作网页游戏
本文档要分析的案例是一个爱消除的网页小游戏,从中可以体会一些Mugeda API的用法和使用Mugeda动画制作网页游戏的方法. (一)游戏规则: 1.开始游戏时,手机出现在最上面一行的任意一格: 2 ...
- MySQL中的两个时间函数,用来做两个时间之间的对比
TIMESTAMPDIFF,(如果当期时间和之前时间的分钟数相比较.大于1天,即等于1:小于1天,则等于0) select TIMESTAMPDIFF(DAY,'2016-11-16 10:13:42 ...