android中的基本目录解析小结

1、几个目录的内容
-----res下的layout:下的xml文件负责整个页面组件的申明管理


-----res下的value中的String.xml:通常将常用的一些字符串定义到该文件下,系统会根据需要自动检索其值,这样做的好处有两个:


1、当我们以后需要对字符串改变时,比如将中文改成英文,就不用挨个在代码中去改,直接将String.xml文件下的对字符串的定义信息改成英文就行了。
2、节约内存空间。比如我们要使用“欢迎你来到中国”1000次,那么需要的内存将近135KB,而如果直接定义在String.xml文件中,通过Resources类引用,则只占14B,大大的降低了内存的使用量



----src:创建activity,是一些普通的java类继承Activity,再实现方法onCreate(Bundle savedInstanceState)方法
public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 通过这个方法来显示界面布局,有关界面的方法都写在xml文件中
		setContentView(R.layout.main);

其中指向R.layout.main,main是程序入口,通过这个main来标志谁第一个进入。其他一般的就是用 view表示
在activity中实现对组件的操作,加监听器等。
其中需要在其他文件中使用的组件需注册其id,如:android:id="@+id/btn_reset" ,这里的btn_reset是我们按照自己的想法定的名字,然后再R文件中就自动生成该组件的id。


-----gen:下创建的是R文件,R文件不需要我们写,是根据我们放的组件自动生成它们的id,每个组件对应一个唯一的id,在activity中使用某组件时,通过其id找到它。例如:
EditText edit_name = (EditText) findViewById(R.id.edit_name);

-----AndriodManifest.xml: 它存储在项目层次中的最底层。清单可以定义应用程序及其组件的结构和元数据。

activity都要在清单中完成注册才能有效。
<!-- 注册Activity信息 -->
		<activity android:name=".ActivityOne" android:label="@string/app_name">
			<intent-filter>
				<!-- main为程序的入口 -->
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>

2、实现页面之间的跳转及传参
利用Intent 可以实现页面跳转和参数的传递,比如、将第一个页面中文本框的信息传给第二个页面:
/**
				 * 使用Intent实现页面的跳转,封装了intent方法,包含当前						要跳转的页面的信息
				 */
				Intent intent = new Intent(ActivityOne.this,
							SecondActivity.class);
				intent.putExtra("userName", name);
				// 启动这个activity
				startActivity(intent);
ActivityOne是当前页面,SecondActivity是要跳转的页面,intent中传入两个activity的class。
intent.putExtra("userName",name);实现传参,将name对应的值赋给userName,

注意:SecondActivity在接收该值时String msg = intent.getStringExtra("userName"),其中的参数名字必须和之前定义的名字一致。

startActivity(intent):跳转到第二个页面。

注意:不要把intent.putExtra("userName", name);写到start之后了,不然参数就传不过去了。
SecondActivty在接收时:
:// 获取intent
		Intent intent = getIntent();
		//获取定义的名为name的TextView(相当于JLable),
		TextView text_name = (TextView) findViewById(R.id.name);
		//将接收到的参数赋给该text_name
		text_name.setText(intent.getStringExtra("userName"))
;[/size]

猜你喜欢

转载自871513532.iteye.com/blog/1774007