热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AndroidStudio开发——按键APP总结

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

          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,调用一个控件


android:orientation="vertical"
android:layout_
android:layout_>
android:id="@+id/button1"//在xml文件中通过@+id/button1,新增一个控件,
//通过@id/button1,调用一个控件
//在文件中,通过R.id/button1,新增一个控件,
//通过R.id/button1,调用一个控件
android:layout_
android:layout_
android:text="Button1" />

图片如下

 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的注册声明要放在标签内,并通过标签来对Activity进行注册。

还可以通过在标签的内部加入标签来配置主Activity


package="com.example.activitytest">
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">
android:name=".FirstActivity"
android:exported="true"
android:label="this is FirstActivity">//标题栏内容


//这两句是配置主活动的代码,就是进入APP首先看到的界面



界面如下

 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调试


推荐阅读
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
author-avatar
Mr_cool
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有