1)什么是活动
活动(Activity)是最容易吸引到用户的地方了,它是一种可以包含用户界面的组件,
主要用于和用户进行交互。
2)手动创建活动
1.在src中新新建包,然后新建类继承自Activity,然后点击Finish。
2.对于活动,我们要重写它的onCreate()方法。我们可以根据需要在这个方法里面添加我们所要的。
3.创建和加载布局,在res/layout目录下新建Android XML File,然后我们通过xml文件的方式来编辑,可以在里面写入需要的。
<...android:id="@+id/button"...>
这里@+表示定义一个id,值为button,这样我们可以在类中用R.来获取。
public class FirstActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.button); } }
这段代码中setContentView表示就是加载布局,传入一个布局文件的id,这里就是我们刚刚定义的那个id。
4.活动的注册,所有的所动都要在AndroidManifest.xml中进行注册才能生效。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activitytest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".FirstActivity" android:label="This is FirstActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
活动新注册的声明要放在application标签之间,这里通过activity标签来对活动进行注册。上述代码activity标签中,name制定具体的活动,这里写.FirstActivity,因为最外层的manifest标签中已经通过package属性来指定了具体的包,所以这里只要写当前活动的名字即可。label表示标题栏的内容。intent-filter标签中我们添加了action android:name=”android.intent.action.MAIN” /和category android:name=”android.intent.category.LAUNCHER” /,表示这是主活动,也就是点击桌面应用首先打开这个程序。
5.Toast,Toast是一种提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
首先要定义触发点,可以是按钮什么的。在onCreate中添加代码:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.first_layout); Button button1 = (Button) findViewById(R.id.button_1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(FirstActivity.this, "You clicked Button 1", Toast.LENGTH_SHORT).show(); } }); }
在活动中,可以通过 findViewById()方法获取到在布局文件中定义的元素,这里我们传入 R.id.button_1,来得到按钮的实例,这个值是刚才在 first_layout.xml 中通过 android:id 属性指定的。该方法获得的是一个View对象,我们需要强制转化成Button对象。然后我们调用setOnClickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器中的 onClick()方法。因此,弹出 Toast 的功能当然是要在onClick()方法中编写了。
Toast 的用法非常简单,通过静态方法 makeText()创建出一个 Toast 对象,然后调用 show()将 Toast 显示出来就可以了。makeText()方法需要传入三个参数。第一个参数是 Context,也就是 Toast 要求的上下文,第二个参数是 Toast 显示的文本内容,第三个参数是 Toast显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG。
6.销毁一个活动,Activity 类提供了一个 finish()方法,我们在活动中调用一下这个方法就可以销毁当前活动。
button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } });
重新运行程序,这时点击一下按钮,当前的活动就被成功销毁了,效果和按下 Back 键
是一样的。
到这里学习好了活动的基本用法。