Android R类详解

 资源文件的使用分为在代码中使用和在其他资源文件中引用该资源文件。在我们编译一个Android应用时,Android会自动生成一个R类,在该类中根据不同的资源类型又生成了相应的内部类,该类包含了系统中使用到的所有资源文件的标示,其内容如下所示。


// 资源类 
public final class R { 
// 数组 
public static final class array { 
public static final int faultRecords=0x7f060000; 

// 属性
public static final class attr { } 
// 颜色
public static final class color { 
public static final int black=0x7f040001; 

//绘图
public static final class drawable { 
public static final int icon=0x7f020001; 

// ID标示 
public static final class id { 
public static final int licenseEditText=0x7f070022; 

// 布局 
public static final class layout { 
public static final int custom_dialog=0x7f030000; 

// 字符串 
public static final class string { 
public static final int app_name=0x7f050001; 
}
}

1.在代码中使用资源文件
       在代码中访问资源文件,我们是通过使用R资源类中定义的资源文件类型和资源文件名称来访问的。具体格式为:R.资源文件类型.资源文件名称。例如:
Java代码:
// 设置Activity显示的布局视图 
setContentView(R.layout.login_system); 
// 获得Button实例 
cancelBtn = (Button)findViewById(R.id.cancelButton); 
loginBtn = (Button)findViewById(R.id.loginButton); 
// 获得TextView实例 
userEditText = (EditText)findViewById(R.id.userEditText); 
pwdEditText = (EditText)findViewById(R.id.pwdEditText);
}
       另外,除了访问用户自己定义的资源文件,还可以访问系统中的资源文件。大部分的资源文件被定义在android包下的R类中。访问系统中的资源文件格式为:android.R.资源文件类型.资源文件名称。例如:

Java代码:
int i ; 
// 动画 
i = android.R.anim.fade_in; 
// 数组 
i = android.R.array.emailAddressTypes; 
// 颜色 
i = android.R.color.darker_gray; 
// 尺寸 
i = android.R.dimen.app_icon_size; 
// 可绘制图片 
i = android.R.drawable.title_bar; 
// 字符串 
android.R.string.cancel;  //取消

android.R.string.ok;  //确定


 2.在其他资源文件中引用资源文件
       我们经常会在布局文件的元素属性中引用其他资源文件,经常用到的有字符串、图片、颜色等资源。例如,下列布局文件中的TextView组件引用了一个字符串来表示文本内容,引用了一个颜色来表示文本颜色,引用了一个尺寸来表示文本尺寸。

Java代码:
<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/styled_welcome_message" 
android:textColor="@color/opaque_red" 
android:textSize="@dimen/sixteen_sp" />
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,首先你需要明确的是,开发一个完整的购票应用不是一件简单的事情,需要涉及到前端UI设计、后端数据库设计、交互逻辑实现等多个方面。因此,在这里我只能给你提供一个简单的购票代码示例,帮助你了解一下如何在Android Studio中编写购票代码。 以下是一个简单的购票代码示例: 1. 首先,在XML布局文件中,你需要设计一个购票界面,包括购票日期、出发站点、到达站点、座位型等相关控件。例如: ``` <EditText android:id="@+id/date" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请选择购票日期" /> <EditText android:id="@+id/start_station" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入出发站点" /> <EditText android:id="@+id/end_station" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入到达站点" /> <Spinner android:id="@+id/seat_type" android:layout_width="match_parent" android:layout_height="wrap_content" android:prompt="请选择座位型" android:entries="@array/seat_type_array" /> <Button android:id="@+id/submit" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="提交" /> ``` 2. 接下来,在Java代码中,你需要对这些控件进行监听,并且完成购票逻辑。例如: ``` public class MainActivity extends AppCompatActivity { private EditText mDateEditText; private EditText mStartStationEditText; private EditText mEndStationEditText; private Spinner mSeatTypeSpinner; private Button mSubmitButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mDateEditText = findViewById(R.id.date); mStartStationEditText = findViewById(R.id.start_station); mEndStationEditText = findViewById(R.id.end_station); mSeatTypeSpinner = findViewById(R.id.seat_type); mSubmitButton = findViewById(R.id.submit); mSubmitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String date = mDateEditText.getText().toString(); String startStation = mStartStationEditText.getText().toString(); String endStation = mEndStationEditText.getText().toString(); String seatType = mSeatTypeSpinner.getSelectedItem().toString(); // TODO: 完成购票逻辑 } }); } } ``` 3. 最后,在购票逻辑中,你需要完成以下几个步骤: - 验证输入的购票日期、出发站点、到达站点是否合法; - 查询数据库,获取符合条件的车票信息; - 验证座位型是否可用,如果可用则进行预订; - 更新数据库,将预订信息保存。 以上是一个简单的购票代码示例,希望能够帮助你入门。当然,实际开发中,还需要考虑一些其他的问题,例如安全性、性能优化等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值