Android学习:[10]创建第一个活动
创建我们的第一个活动
一.创建工程
1、项目名:MyActivity包名:com.iflytek.myactivity
2、为了便于学习,不勾选Create Activity.然后finish,工程创建完成
二.创建活动
1、创建一个包。包名为:com.iflytek.myactivity.创建方法:右键src目录->new->package,填入包名即可
2、创建一个类,名称就叫ActivityFirst.创建方法:右键刚才的包->new->class.
3、因为要创建一个activity,所以肯定要继承于activity基类,代码如下:
4、创建一个活动,代码如图,下面进行解释:我们在ActivityFirst中加入了如下方法onCreate。根据activity的生命周期,一个activity初始化的时候,首先就会调用onCreate进行一个activity的创建。所以,我们增加了onCreate方法。Bundle:这个类型与map类型类似,以key-value方式存储数据;savedInstanceState:用于保存activity的状态,在一个activity结束前会调用,很有用。比如,用阅读器看小说,关闭阅读器后,下次打开,仍然会停留在上次看到的地方。super.onCreate():super是调用父类的属性或者方法,这里是首先运行父类的onCreate方法
三.创建和加载布局
1、安卓程序的设计讲究逻辑和视图分离。刚才在java代码中实现了逻辑,创建了activity,但这个activity中什么也没有。所以,需要给他做一个布局。
2、在res/layout目录中->new->android xml fi盟敢势袂le,创建一个布局文件。命令为layout_first.创建完成后,选择layout_first.xml切换到编辑模式。在代码中增加如下内容:<Button android:id="@+id/button_1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="button 1" />解释下:1)<Button />:这是一个按钮控件,我们在当前的布局文件中增加一个按钮;2)android:id:这个按钮的唯一标识符。可以在代码中进行引用操作;"@+id/button_1"的意思就是,为这个按钮增添唯一的ID,名字为button_13)android:layout_width:layout是布局的意思,layout_width是该控件的宽度。并且是相对于其父元素而言的宽度。只有match_parent(充满整个空间)、wrap_parent(正好能显示完全要显示的内容)android:text:要显示的内容
3、布局已经完成,下面要在代码中加入布局回到之前的代码,加入如下一行:setContentView(R.layout.layout_first);意思是:当前的activity使用layout_first布局文件来进行布局。R:是一个类,layout是R的一个内部类,layout_first是这个内部类中的一个类变量。
四.在AndroidManifest文件中注册
1、所有的活动多需要在这个文件中注册,添加代码如下<activity android:name="com.iflytek.my锾攒揉敫activity.ActivityFirst" android:label="this is FirstActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>android:name activity的名字,就是包名+类名,因为需要告诉文件你注册的到底是哪个类,他才能找到这个活动;android:label acvitity的标签,在软件打开后,这个activity的标题栏会显示该名字。intent-filter:意图过滤器,这里不多说了,总之,有着几句话,就意味着将这个actitity作为我们这个程序的主活动
2、好了,右键点击myActivity,选择Run as->android application,运行起来吧