-
项目名:MyActivityhtml
包名:com.iflytek.myactivityjava
-
为了便于学习,不勾选Create Activity.而后finish,工程建立完成android
END
建立一个包。包名为:com.iflytek.myactivity.微信
建立方法:右键src目录->new->package,填入包名便可app
建立一个类,名称就叫ActivityFirst.布局
建立方法:右键刚才的包->new->class.学习
由于要建立一个activity,因此确定要继承于activity基类,代码以下:this
建立一个活动,代码如图,下面进行解释:spa
咱们在ActivityFirst中加入了以下方法onCreate。根据activity的生命周期,一个activity初始化的时候,首先就会调用onCreate进行一个activity的建立。因此,咱们增长了onCreate方法。ssr
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_width:layout是布局的意思,layout_width是该控件的宽度。而且是相对于其父元素而言的宽度。只有match_parent(充满整个空间)、wrap_parent(正好能显示彻底要显示的内容)
android:text:要显示的内容
布局已经完成,下面要在代码中加入布局
回到以前的代码,加入以下一行:
setContentView(R.layout.layout_first);
意思是:当前的activity使用layout_first布局文件来进行布局。
R:是一个类,layout是R的一个内部类,layout_first是这个内部类中的一个类变量。
全部的活动多须要在这个文件中注册,添加代码以下
<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,运行起来吧