Android应用开发----认识activity

1.什么是Activity

Activity是一种可以包含用户界面的组件,主要用于和用户进行交互。一个完整的应用程序可以包含零个(很少见)或者多个Activity。

说到这可能许多朋友还是无法理解,举个例子,一个可见应用打开界面,它就是Activity。如下图为Boss直聘打开界面,它就是通过activity呈现的,只是利用不同的组件,让其呈现的效果复杂多样化。

Android应用开发----认识activity_第1张图片

2.Activity的基本用法---创建Activity

1.下方为Activity刚被初始创建的代码

//继承自AppCompatActivity,并重写了onCreate方法(是调用了父类的onCreate()方法。)
class FirstActivity : AppCompatActivity() { 
    override fun onCreate(savedInstanceState: Bundle?) { 
        super.onCreate(savedInstanceState) 
    } 
} 

         Android讲究视图和逻辑分离。每个Activity都对应一个布局。 app/src/main/res/layout

/xxx_layout.xml文件。其内部的根元素默认选择LinearLayout,其布局资源文件有Android studio为我们提供的可视化布局编辑器。(Design是可视化布局编辑器,Code是通过XML文件的方式来编辑。Split是混合模式),如图所示,三种分别代表不同的模式

2.布局编辑器源代码:

需要在XML中引用一个id,就使用@id/id_name这种语法

 

    //新增的Button元素按钮
     

3.加载布局

//调用setContentView()方法来给当前的Activity加载一个布局

注意: 项目中添加的任何资源都会在R文件中生成一个相应的资源id,因此我们刚才创 建的first_layout.xml布局的id现在已经添加到R文件中了。只需要调用R.layout.first_layout就可以得到first_layout.xml布局的id,然后传入setContentView方法即可

class FirstActivity : AppCompatActivity() { 
    override fun onCreate(savedInstanceState: Bundle?) { 
        super.onCreate(savedInstanceState) 

        //调用setContentView()方法来给当前的Activity加载一个布局
        setContentView(R.layout.first_layout) 
    } 

4.注册Activity组件

所有的组件都要在AndroidManiFest.xml进行注册才能生效。忘记去AndroidManifest.xml中进行注册,从而导致程序运行崩溃

.FirstActivity:com.example.activitytest.FirstActivity的缩写而已,外层定义了包路径package="com.example.activitytest。

配置主Activity:告诉程序运行时,首先启动那个Activity

就是在标签的内部加入 标签,并在这个标签里添加

 
     
            
        
            
               
                   
                   
               
               
         
     

注意:如果你的应用程序中没有声明任何一个Activity作为主 Activity,这个程序仍然是可以正常安装的,只是你无法在启动器中看到或者打开这个程序。这 种程序一般是作为第三方服务供其他应用在内部进行调用的。

3.Toast的了解

Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户。这些信息会在一段时间后自动消息,并不会占用任何屏幕空间。

举例,在Activity中设置一个按钮,通过增加点击事件,然后弹出提示

override fun onCreate(savedInstanceState: Bundle?) {
     super.onCreate(savedInstanceState)

     setContentView(R.layout.first_layout)

     //findViewById()方法返回的是一个继承自View的泛型对象,因此Kotlin无法自动
        推导出它是一个Button还是其他控件,所以我们需要将button1变量显式地声明成Button类型。

     val button1: Button = findViewById(R.id.button1)

     button1.setOnClickListener {

        //Toast的用法:调用静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来
       //参数一:Context,,也就是Toast要求的上下文,由于Activity本身就是一个Context对象,因此
            这里直接传入this即可
        //参数二:Toast显示的文本内容
        //参数三:Toast显示的时长:
          //两个内置常量可以选择:Toast.LENGTH_SHORT和Toast.LENGTH_LONG

     Toast.makeText(this, "You clicked Button 1", Toast.LENGTH_SHORT).show()
 }
}

你可能感兴趣的:(Android应用开发----认识activity)