Android Studio开发——按键APP总结

          Activity是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个Activity,但不包含任何Activity的应用程序很少见。

首先

1.右键项目的任何包路径→New→Activity→EmptyActivity(完全为空的活动),会弹出一个创建Activity的对话框,如右图所示

        勾选Generate Layout File表示会自动为FirstActivity创建一个对应的布局文件。

       勾选Launcher Activity表示会自动将FirstActivity设置为当前项目的主Activity

勾选 Backwards Compatibility 表示会为项目启用向下兼容旧版系统的模式。

点击“Finish”完成创建。

2.项目中的任何Activity都应该重写onCreate()方法,而目前FirstActivity中已经重写了这个方法,这是Android Studio自动帮我们完成的,代码如下所示:

class FirstActivity : AppCompatActivity() {



    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

    }



}

3.新建一个layout(布局),Android程序的设计讲究逻辑和视图分离,最好每一个Activity都能对应一个布局。右击app/src/main/res/layout→New→Directory,可以创建一个布局文件。布局文件中是使用XML来进行界面编辑的,这里创建一个first_layout.xml文件

添加一个按钮(button1)

在xml文件中通过@+id/button1,新增一个控件,
                                 //通过@id/button1,调用一个控件

在文件中,通过R.id/button1,新增一个控件,
                                 //通过R.id/button1,调用一个控件

<?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">


    <Button
        android:id="@+id/button1"//在xml文件中通过@+id/button1,新增一个控件,
                                 //通过@id/button1,调用一个控件
                                 //在文件中,通过R.id/button1,新增一个控件,
                                 //通过R.id/button1,调用一个控件
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button1" />
</LinearLayout>

图片如下

 4.回到FirstActivity,在onCreate()方法中加入如下代码即可给当前的Activity加载一个布局。

setContentView(R.layout.first_layout)

class FirstActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.first_layout)
    }

}

5.所有的Activity都要在AndroidManifest.xml中进行注册才能生效。Activity的注册声明要放在<application>标签内,并通过<activity>标签来对Activity进行注册。

还可以通过在<activity>标签的内部加入<intent-filter>标签来配置主Activity

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.activitytest">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"//应用图标
        android:label="@string/app_name"//应用名字
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.ActivityTest">
        <activity
            android:name=".FirstActivity"
            android:exported="true"
            android:label="this is FirstActivity">//标题栏内容
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER" />//这两句是配置主活动的代码,就是进入APP首先看到的界面
        </intent-filter>
        </activity>



    </application>

</manifest>

界面如下

 6.Toast应用

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

 Toast用法,通过makeText()创建出一个Toast对象,然后通过调用show()显示

makeText()用法,需要传入三个参数,第一个是Context---就是Toast要求的上下文,因为Activity本身就是一个Context,所以这里用this。

第二个就是Toast显示的文本内容,第三个是显示的时长,Toast.LENGTH_SHORT或者Toast.LENGTH_LONG

(3.6版本以后,原来使用的kotlin.android.extensions已经不在使用,转为使用viewBinding)

buildFeatures {
       viewBinding true//使用viewBinding替代kotlin.android.extensions,要在这里定义
   }
package com.example.activitytest

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import com.example.activitytest.databinding.FirstLayoutBinding

class FirstActivity : AppCompatActivity() {
    private  lateinit var binding: FirstLayoutBinding//1
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.first_layout)
       // val button1:Button=findViewById(R.id.button1)//findViewById(R.id.button1)方法,用于获取布局文件中的元素
                                                 // ,通过R.id.button1得到按钮的实例
        val binding=FirstLayoutBinding.inflate(layoutInflater)//2
        setContentView(binding.root)//3,3.6版本以后,原来使用的kotlin.android.extensions已经不在使用,转为使用viewBinding
        // (kotlin.android.extensions缺点自行看csdn收藏),使用viewBinding首先在build.gradle(:app)里加
        // buildFeatures {
        //       viewBinding true
        //   }
        //其次在Activity里加入123句代码

        binding.button1.setOnClickListener{
            Toast.makeText(this,"您点击了这个按钮1",Toast.LENGTH_SHORT).show()//Toast是Android系统提供的一种非常好的提醒方式。
                                        // 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。
                                       //Toast用法,通过makeText()创建出一个Toast对象,然后通过调用show()显示
            //makeText()用法,需要传入三个参数,第一个是Context---就是Toast要求的上下文,因为Activity本身就是一个Context,所以这里用this
            //第二个就是Toast显示的文本内容,第三个是显示的时长,Toast.LENGTH_SHORT或者Toast.LENGTH_LONG
        }
    }
}

图片如下

 7.Android Studio自带的AVD,速度慢,建议用手机测试,手机打开开发者模式,允许USB调试


版权声明:本文为weixin_48802554原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。