Android Studio基础

您所在的位置:网站首页 activity生命周期代码 Android Studio基础

Android Studio基础

2024-07-04 20:25| 来源: 网络整理| 查看: 265

知识点1:Android Studio基础-Activity的生命周期

7个方法:

onCreate()、onStart()、onResume()、onRestart()、onPause()、onStop()、onDestroy()。

使用上一节项目的Activity代码编写(https://blog.csdn.net/xwbk12/article/details/115825559?spm=1001.2014.3001.5501),或者看知识点2的内容。

package com.xwb.recyclerview; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private HomeAdapter mHomeAdapter; private String[] names = {"小鸟","小龙","小虫","小鱼"}; private int[] icons = {R.mipmap.btn_login_n,R.mipmap.btn_login_p,R.mipmap.ic_captain_jack,R.mipmap.ic_drakan}; private String[] instrduces = {"小鸟一个伟大的鸟人,可以放六个技能,大招全员减伤30%","不知道是哪个种族","虫族来自人族饲养,技能结合人族使用","在海洋中称霸各类水族种类"}; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i("生命周期第1个方法","onCreate"); setContentView(R.layout.activity_main); mRecyclerView = findViewById(R.id.rec);//绑定item_recycler_view.xml布局中RecyclerView //设置布局的方式 //mRecyclerView.setLayoutManager(new LinearLayoutManager(this));//第一种写法直接写this,会造成不一定是需要的 mRecyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));//第二种写法类名.this mHomeAdapter = new HomeAdapter(); mRecyclerView.setAdapter(mHomeAdapter);//关联Adapter } @Override protected void onStart() { super.onStart(); Log.i("生命周期第2个方法","onStart"); } @Override protected void onResume() { super.onResume(); Log.i("生命周期第3个方法","onResume执行后,表示Activity可以被用户看到,就是此时APP页面被用户看到了"); } @Override protected void onRestart() { super.onRestart(); Log.i("生命周期第4个方法","onRestart"); } @Override protected void onPause() { super.onPause(); Log.i("生命周期第5个方法","onPause Activity暂停,可能还会被使用,会有数据保留"); } @Override protected void onStop() { super.onStop(); Log.i("生命周期第6个方法","onStop Activity被停止,数据不会保留"); } @Override protected void onDestroy() { super.onDestroy(); Log.i("生命周期第7个方法","onDestroy Activity彻底不见了,只有销毁了,再打开时,就会重新调用noCreate()方法"); } class HomeAdapter extends RecyclerView.Adapter{ @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { //创建holder MyViewHolder holder = new MyViewHolder(LayoutInflater.from(MainActivity.this).inflate(R.layout.item_recycler_view,parent,false)); return holder; } @Override //绑定数据到单元格的控件上 public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { holder.tv_name.setText(names[position]); holder.tv_introduce.setText(instrduces[position]); holder.tv_icon.setImageResource(icons[position]); } @Override public int getItemCount() { return names.length;//把names、icons、instrduces任意一个长度告知即可 } class MyViewHolder extends RecyclerView.ViewHolder{ TextView tv_name; TextView tv_introduce; ImageView tv_icon; public MyViewHolder(@NonNull View itemView) { super(itemView); //绑定控件 tv_name = itemView.findViewById(R.id.tv_name); tv_introduce = itemView.findViewById(R.id.tv_introduce); tv_icon = itemView.findViewById(R.id.tv_icon); } } } }

运行后查看日志信息

在模拟器的手机上点击“返回”

查看logcat日志信息

知识点2:多个Activity的跳转

作用:第一个布局xml中按钮点击后,跳转至第二个布局xml中。

第一步:第一个布局xml

 

第一个MainActivity

package com.xwb.testactivity; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; public class MainActivity extends AppCompatActivity { public void tiaozhuan(View v) {//添加XML的点击事件tiaozhuan //点击添加到MainActivitySec中,在AndroidManifest.xml配置 Intent intent = new Intent();//跳转的意图 //告诉意图。想从哪个界面跳转到哪里 intent.setClass(MainActivity.this,MainActivitySec.class);//跳转的源于目的 //执行跳转,进行行动 startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i("生命周期第1个方法MainActivity","onCreate"); setContentView(R.layout.activity_main);//绑定xml布局 } @Override protected void onStart() { super.onStart(); Log.i("生命周期第2个方法MainActivity","onStart"); } @Override protected void onResume() { super.onResume(); Log.i("生命周期第3个方法MainActivity","onResume执行后,表示Activity可以被用户看到,就是此时APP页面被用户看到了"); } @Override protected void onRestart() { super.onRestart(); Log.i("生命周期第4个方法MainActivity","onRestart"); } @Override protected void onPause() { super.onPause(); Log.i("生命周期第5个方法MainActivity","onPause Activity暂停,可能还会被使用,会有数据保留"); } @Override protected void onStop() { super.onStop(); Log.i("生命周期第6个方法MainActivity","onStop Activity被停止,数据不会保留"); } @Override protected void onDestroy() { super.onDestroy(); Log.i("生命周期第7个方法MainActivity","onDestroy Activity彻底不见了,只有销毁了,再打开时,就会重新调用noCreate()方法"); } }

 

第二个布局XML

第二个MainActivitySec

package com.xwb.testactivity; import android.os.Bundle; import android.util.Log; import android.view.View; import androidx.appcompat.app.AppCompatActivity; public class MainActivitySec extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i("生命周期第1个方法MainActivitySec","onCreate"); setContentView(R.layout.activity_sec);//绑定xml布局 } @Override protected void onStart() { super.onStart(); Log.i("生命周期第2个方法MainActivitySec","onStart"); } @Override protected void onResume() { super.onResume(); Log.i("生命周期第3个方法MainActivitySec","onResume执行后,表示Activity可以被用户看到,就是此时APP页面被用户看到了"); } @Override protected void onRestart() { super.onRestart(); Log.i("生命周期第4个方法MainActivitySec","onRestart Activity没有被销毁,重新被启用"); } @Override protected void onPause() { super.onPause(); Log.i("生命周期第5个方法MainActivitySec","onPause Activity暂停,可能还会被使用,会有数据保留"); } @Override protected void onStop() { super.onStop(); Log.i("生命周期第6个方法MainActivitySec","onStop Activity被停止,数据不会保留"); } @Override protected void onDestroy() { super.onDestroy(); Log.i("生命周期第7个方法MainActivitySec","onDestroy Activity彻底不见了,只有销毁了,再打开时,就会重新调用noCreate()方法"); } }

第二步:设置AndroidManifest.xml

/

第三步:运行APP

启动APP的日志

点击按钮跳转的日志

点击系统的返回键

把改APP退到后台

退出该APP

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3