学习内容:

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项目目录结构分析的更多相关文章

  1. Android项目目录结构分析

    Android项目目录结构分析 1.HelloWorld项目的目录结构1.1.src文件夹1.2.gen文件夹1.3.Android 2.1文件夹1.4.assets 1.5.res文件夹1.6.An ...

  2. 第07讲- Android项目的打包apk

    第07讲Android项目的打包apk 方法一:在工作目录bin文件夹下有一个与项目同名的apk文件 (最懒惰的方式,不推荐,不安全,不利于版本更新,只有在开发模式时使用) 方法二:使用key方式 签 ...

  3. Vue 项目目录结构分析

    Vue项目目录结构分析 ├── v-proj | ├── node_modules // 当前项目所有依赖,一般不可以移植给其他电脑环境 | ├── public | | ├── favicon.ic ...

  4. Android开发学习总结(五)——Android应用目录结构分析

    一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t -p E:/An ...

  5. Android应用目录结构分析

    一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t 1 -p E:/ ...

  6. Android开发学习总结(五)——Android应用目录结构分析(转)

    一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t 1 -p E:/ ...

  7. Android项目目录结构

    JDK JDK是java语言的软件开发工具包,它包含了java的运行环境,工具集合,基础类库等内容   Android SDK 是谷歌提供的 Android 开发包,在开发Android 项目的时候 ...

  8. Android项目目录结构模板以及简单说明【简单版】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 开发Android项目的时候,一般都是一边开发一边根据需求创建目录(包.module),那么我呢就根据以往的项目经验,整理出一个比较 ...

  9. angular项目目录结构分析

    详情查看:https://www.angular.cn/guide/file-structure app.module.ts 定义 AppModule, 这个根模块会告诉 Angular 如何组装该应 ...

随机推荐

  1. myBatis学习(9):一级缓存和二级缓存

    正如大多数持久层框架一样,MyBatis同样提供了一级缓存和二级缓存的支持 1. MyBatis一级缓存基于PerpetualCache的HashMap本地缓存,其存储作用域为 Session,默认情 ...

  2. poj 2566 Bound Found(尺取法 好题)

    Description Signals of most probably extra-terrestrial origin have been received and digitalized by ...

  3. (转)iOS7界面设计规范(4) - UI基础 - 布局

    好吧,第四篇的样子,节奏还好:我怎么又是刚吃过小龙虾的状况呢. 今天的话题是布局,篇幅很短:我自己好喜欢这样,在还有些剩余时间和精力的情况下,一个话题一个话题的推进,做做译文,并热切的希望这些内容在自 ...

  4. [Angular 2] Event in deep

    This lesson talks about the benefits of using the parens-based (click) syntax so that Angular 2 can ...

  5. Android 实时文件夹

    实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件.要创建一个实时文件夹,必须要有两个方面的支持. 1,要定义一个用来创建实时文件夹的Activity. 2,所指定数 ...

  6. (转)vivoxshot 精英版三模转五模模式切换操作方法

    https://yunpan.cn/cPUBWc8vtKpID (提取码:de92) 本帖最后由 韩爱峰 于 2016-3-29 23:00 编辑 碰到不少机友在使用过程中操作不成功,现将我的方法跟大 ...

  7. UVA11388 GCD LCM1 2 -1

    题目: 给你两个数G和L,求a和b,他们的最大公约数为G和最小公倍数为L,输出a最小时的a和b.如果不存在在输出-1. Sample Input   2 1 2 3 4 Output for Samp ...

  8. static \ const \ volatile 的含义

    1.static 在函数体内,一个被声明为静态的变量在这一函数被调用的过程中维持其值不变 在模块内(函数体外),一个被声明为静态的变量可以被模块内的所有函数访问,但不能被模块外的其他函数访问,即它是一 ...

  9. 临时解决linux下time wait问题

     通过 netstat  -anp | grepTIME_WAIT | wc -l 命令查看数量,发现TIME_WAIT的连接数量超过了阈值   1.初步怀疑是程序没有关闭连接,codereview了 ...

  10. URI和URL

    URI(uniform resource identifier),统一资源标识符,用来唯一的标识一个资源. URL(uniform resource locator),统一资源定位器,它是一种具体的U ...