当前位置 博文首页 > 小旺的博客:Android分析HelloWorld

    小旺的博客:Android分析HelloWorld

    作者:[db:作者] 时间:2021-07-17 09:50

    ?首先打开Android-Manifest.xml文件,从中可以找到如下代码:

    <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    ?
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    </activity>
    

    这段代码表示对HelloWorldActivity这个活动进行注册,没有在AndroidManifest.xml里注册的活动是不能使用的。其中intent-filter里的两行代码非常重要,actionandroid:name=“android.intent.action.MAIN”/和表示MainActivity是这个项目的主活动,在手机上点击应用图标,首先启动的就是这个活动。
    打开MainActivity,代码如下所示:

    public class MainActivity extends AppCompatActivity {
    ?
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    }
    

    MainActivity是继承自AppCompatActivity的,这是一种向下兼容的Activity,可以将Activity在各个系统版本中增加的特性和功能最低兼容到Android2.1系统。Activity是Android系统提供的一个活动基类,我们项目中所有的活动都必须继承它或者它的子类才能拥有活动的特性(AppCompatActivity是Activity的子类)。然后可以看到MainActivity中有一个onCreate()方法,这个方法是一个活动被创建时必定要执行的方法,其中只有两行代码,并且没有Hello World!的字样。在onCreate()方法的第二行调用了setContentView()方法,就是这个方法给当前的活动引入了一个activity_main.xml布局。

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    ?
    
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    ?
    </androidx.constraintlayout.widget.ConstraintLayout>
    

    代码中有一个TextView,
    这是Android系统提供的一个控件,
    用于在布局中显示文字的。

    cs
    下一篇:没有了