活动(Activity)的基本操作

活动(Acitivity),是一种可以包含用户界面的组件,主要用于与用户交互。

关闭现有的项目,自己先创建一个新的项目:

起名叫做AcivityTest,这里创建活动时选择Add no Activity


然后按照图中所示路径打开

紧接着右击这个空白的com.example.activitytast包->New->Activity->Empty Activity,在弹出的创建活动对话框中选择命名活动为FirstActivity,切不要勾选 generate layout File 和 launcher activity 这两个选项。

第一个选项代表会自动为FirstActivity创建一个对应的布局文件,第二个表示会自动将FirstActivity设置为当前项目的主活动,这里我们选择手动来完成这些活动。

BackwardsCompatibility表示会为项目启动向下兼容的模式。最后选择finish来表示项目创建完成。


项目中的任何活动都必须要重写Acitivity 中的 onCreat()方法,目前Android Studio已经自动帮我们重写了这个方法:

public class FirstActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}

这里看到重写的放大就是调用了父类的onCreat()方法,这是默认的实现方式。

创建和加载布局:

因为安卓程序的设计很讲究逻辑和视图的分离,所以最好每一个活动都能对应一个布局,布局就用来显示界面内容的。

右击app/src/main/res目录选择新建一个名为layout的目录

然后右击layout如图选择


将这个布局文件命名为first_layout,根元素就选择默认的 LinearLayout。

点ok后就可以看到布局编辑器,这是Android studio 提供的可视化布局编辑器,可以再屏幕中央预览当前布局,窗口最下方有两个切换卡,design是当前的可视化布局编辑器,可以通过拖放的方式编辑布局,Text是通过XML文件的方式来编辑布局的,点击text切换卡就可以看到代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

</LinearLayout>
因为刚才在创建布局文件的时候已经选择了Linear Layout 作为根元素,现在对这个布局做编辑,添加一个按钮:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/button_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:text="Button 1"/> 

</LinearLayout>

这里添加了一个button元素,并在button元素的内部增加几个属性。

Android:id是给当前的元素定义了一个唯一的标识符,之后可以在代码中对这个元素进行操作。

@+id/buttton_1 这个语法是在XML 中定义一个id的方法,@id/button_1是在XML中引用一个id的语法,其中改掉id,为string等等就是引用资源的方法。

Android:layout_width指定了当前元素的宽度,这里设置成match_parent表示让当前元素和父元素一样宽,同理android:layput_height是指当前元素的高度,wrap_content表示要与表示当前的元素只要刚好包含里面的呢内容就行。

现在按钮已经添加完了,通过可以通过右侧工具栏的Preview来预览一下当前布局。

看到button1就是创建成功了,这样就是已经编写了一个简单的布局。

接下来就是在活动中加载这个布局。

回到FirstActivity,在onCreat()中加入加粗位置的代码:

public class FirstActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
    }
}
这里调用了一个setContentView()方法来加载布局,这里的方法就是传入一个布局文件的id, 项目中添加的任何资源都会在R文件中生成一个资源id。所以我们创建的布局文件已经在R文件中了 ,这里可以总结得到一个文件id的方法就是R.layout.first_out就可以得到这个XML 这个布局文件的id,接着传入setContentView()即可。


所有的活动在AndroidManifest.xml中进行注册才能生效,实际上Android studio已经帮助我们注册好了。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.administrator.activitytest">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FirstActivity"></activity>
    </application>

</manifest>
这是在Androidmanifest.xml文件中的代码,活动的注册在<application>当中,其中android:name 指明了具体注册的是哪一个活动,填入的.activity说明是com.example.activitytest.FirstActivity的缩写,因为这个文件已经默认包含在这个程序的包中,在外层的package已经指明了这点,所以直接使用了.FirstActivity就足够了。


但是这样注册了活动还是不能够运行这个活动,因为没有为程序配置主活动,程序执行时不知道从哪里来启动这个活动,配置的方法就是:

在<Activity>标签的内部加入<intent-filter>标签并在这里标签里面添加<action android:name="android.intent.action.MAIN"/>和<category android:name="android.intent.category.LAUNCHER"/>这两句声明即可。

除此之外,android:lable指定活动中标题栏中的内容,主活动的lable不仅会成为标题栏中的内容,还会成为(Launcher)中应用程序显示的名称。


这样修改完毕之后的代码就可以运行了,就可以让FirstActivity成为我们程序的主活动程序。

得到下图的结果就代表着我们成功的创建了一个活动。




最后在这里我们简单地对创建一个活动进行总结:
1.不选择原来的empty activity而是选择add no activity 来创建(这是因为我们只选择添加一些简单地活动);
2.在app/src/mian/java/com.example.adminstrator.activitest 这个文件夹中右击添加一个empty  activity;
3.添加布局文件并且确定主活动(这一步实际上可以让Android studio帮我们自动完成,但是因为是第一次创建所以我们手动添加);
4.加载布局:
1)app/src/main/res中新建一个layout目录;
2)右击layout新建 layout resource file;
3)在布局编辑中选择XML 模式来添加一个按钮button,设置对应的id号(需要考虑特殊的@+语法)、高度宽度和标签;
4)在onCreat()方法中使用setContentView(id号)方法来加载这个布局;
5.加载并确定主活动:
修改Androidmanifest.xml中的代码,添加两句声明来确定主程序。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值