二.创建活动
-
创建一个包。包名为:com.iflytek.myactivity.
创建方法:右键src目录->new->package,填入包名即可
-
创建一个类,名称就叫ActivityFirst.
创建方法:右键刚才的包->new->class.
-
因为要创建一个activity,所以肯定要继承于activity基类,代码如下:
-
创建一个活动,代码如图,下面进行解释:
我们在ActivityFirst中加入了如下方法onCreate。根据activity的生命周期,一个activity初始化的时候,首先就会调用onCreate进行一个activity的创建。所以,我们增加了onCreate方法。
Bundle:这个类型与map类型类似,以key-value方式存储数据;
savedInstanceState:用于保存activity的状态,在一个activity结束前会调用,很有用。比如,用阅读器看小说,关闭阅读器后,下次打开,仍然会停留在上次看到的地方。
super.onCreate():super是调用父类的属性或者方法,这里是首先运行父类的onCreate方法
-
更多学习,请扫描二维码关注微信公众号:IT_Eclassroom
三.创建和加载布局
-
安卓程序的设计讲究逻辑和视图分离。刚才在java代码中实现了逻辑,创建了activity,但这个activity中什么也没有。所以,需要给他做一个布局。
-
在res/layout目录中->new->android xml file,创建一个布局文件。命令为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_1
3)android:layout_layout是布局的意思,layout_width是该控件的宽度。并且是相对于其父元素而言的宽度。只有match_parent(充满整个空间)、wrap_parent(正好能显示完全要显示的内容)
android:text:要显示的内容
-
布局已经完成,下面要在代码中加入布局
回到之前的代码,加入如下一行:
setContentView(R.layout.layout_first);
意思是:当前的activity使用layout_first布局文件来进行布局。
R:是一个类,layout是R的一个内部类,layout_first是这个内部类中的一个类变量。
END
四.在AndroidManifest文件中注册
-
所有的活动多需要在这个文件中注册,添加代码如下
<activity
android:name="com.iflytek.myactivity.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作为我们这个程序的主活动
-
好了,右键点击myActivity,选择Run as->android application,运行起来吧