Android

本文详细介绍了Android开发的基础知识,包括AndroidManifest.xml的作用、MainActivity.java的创建、资源文件夹的结构、图片导入、依赖管理和布局文件的创建。特别强调了Android活动的生命周期回调方法,如onCreate()、onStart()、onResume()、onPause()、onStop()和onDestroy()。还探讨了如何处理模拟器问题,如错误编码和模拟器崩溃。此外,文章还涵盖了UI设计,如线性布局和相对布局,以及按钮、文本视图、编辑框等基本控件的使用,包括事件监听和点击事件的处理。最后,讨论了Activity的启动模式和生命周期管理,以及Intent在组件间通信的角色。
摘要由CSDN通过智能技术生成

深入的学习看:天哥在奔跑号

想要跳槽进大厂,以下知识必须牢固掌握:

算法和数据结构:数组、链表、二叉树、堆栈、排序算法、B+/B-树、DP(动态规划)等;

计算机网络:HTTP、DNS、ARP、TCP、IP、ICMP、UDP等;

操作系统:IO、存储器、多线程/多进程、同步机制、处理器调度及死锁、设备管理、通道等;

计算机组成原理:冯诺依曼计算机组成、计算机层次结构、计算机性能指标等;

选定一门主攻的语言方向,比如Python、C++、Java等,并真正攻克它。

每个 Android 项目都必须有一个 AndroidManifest.xml 文件,该文件描述了有关应用程序的基本信息,例如包名称、入口点、组件、权限和元数据。

您可以使用生命周期回调方法声明活动的行为方式并有效地管理资源。在本节中,我们将讨论以下六种核心回调方法:

  • onCreate():当系统创建您的活动时调用此回调。大多数初始化逻辑(在 Activity 的生命周期中只发生一次)应放置在此处(如创建视图或绑定数据)。

  • onStart():在调用方法后,当活动对用户可见时,将调用此回调。如果在多个活动或应用程序之间切换,这种情况可能会多次发生。onCreate()

  • onResume():这意味着活动已准备好进入前台并与用户交互。

  • onPause():这意味着活动不再位于前台,并且可能仍部分可见(例如,如果用户处于多窗口模式)。在大多数情况下,它指示用户正在离开活动,并且活动将进入下一个状态。

  • onStop():当用户不再看到活动时,将调用此回调。如果在多个活动或应用程序之间切换,这种情况可能会多次发生。

  • onDestroy():此回调在销毁活动之前调用。当活动完成或系统由于配置更改而暂时销毁活动时,系统会调用此回调。当您需要释放或关闭所有剩余资源并允许垃圾回收器撤回所有分配的内存时,可以使用此回调。

基础1

一、新建android

(1条消息) Android studio安装教程_一纸梦的博客-CSDN博客

new Project->Empty Activity->language:java->sdk6.0->

可选的意思是支持历史的库

AndroidManifest.xml是注册的文件

标红说明:把当前页面设为主活动页面,启动界面

主方法MainActivity.java

所有都继承父类AppCompatActivity

资源文件夹

drawable:图片

layout:布局

视图和代码是分离的,三个角标(代码、视图、设计)

mipmap:图标

一样的图片分辨率不同

value:颜色,themes:风格

导入图片

res->右键->Android Resource Directory->type:raw->ok->json拖入raw

png图片拖到drawable

依赖文件

新建一个布局文件

res->layout->new->activity->configure/Empty activity(空的)

java文件下面也自动生成了一个继承文件

先java起名,另一个标准化。反之一样。

换主要活动

二、开始第一个app

另一个格式的界面

values多了

styles:app的风格(?)

string:字符串

toast

public class FirstActivity extends AppCompatActivity{
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
        Button button1 = (Button)findViewById(R.id.Button_1);
        button1.setOnClickListener(new View.OnClickListener(){
            @override
            public void onClick(View v){
                Toast.makeText(FirstActivity.this,"你按疼我啦",Toast.LENGTH_SHORT).show();
            }
        });
    }
}

其他

模拟器

运行的手机图标如果找不到

选择手机模拟器

HAXM插件很重要,没有运行不了安卓模拟器。但是这个插件只支持Intel的cpu,不支持amd的cpu

比如电脑控制面板->系统->处理器:amd(我是intel)

并且电脑是虚拟化的

新建模拟机

(1条消息) Android Studio创建模拟器_android studio模拟器_咸来与共的博客-CSDN博客

Error while waiting for device: Timed out after 300seconds waiting for emulator to come online.

启动模拟器出现Timed out after 300seconds waiting for emulator to come online“解决方案_总提示emulator连接超时_江南霹雳堂雷家雷无桀的博客-CSDN博客

The file was loaded in a wrong encoding: 'UTF-8'

(1条消息) File was loaded in the wrong encoding: 'UTF-8'_苦涩2020的博客-CSDN博客

The emulator process for AVD Pixel_5_API_30 has terminated

(1条消息) Android Studio启动AVD报错:The emulator process for AVD Pixel_5_API_30 has terminated.解决方法_qq_43224762的博客-CSDN博客

导入as文件

Android studio 导入项目详解 (简单快速)_android studio怎么导入项目文件_霓裳cc的博客-CSDN博客

b站简约入门

基本控件1之制作登录界面

string、colors用处

activity_main.xml

string.xml

activity_main.xml

build.gradle

需要一些包要在这里引用

gradle/gradle.properties

用真机、手机调试需要在这里添加声明

linearlayout和relativelayout

线性布局和相对布局(layout的main布局文件)

表示和父布局一样

android:layout_width="match_parent"

覆盖内容。也就是内容多少显示多大

android:layout_height="wrap_content"

垂直排列

android:orientation="vertical"

水平排列(linearlayout)

android:orientation="horizontal"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值