-----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]