学习分享
在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了
很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘
如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。
2021最新上万页的大厂面试真题
七大模块学习资料:如NDK模块开发、Android框架体系架构…
只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。
这份体系学习笔记,适应人群:
**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。
**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
5.直接运行发现会报错,报错原因没有给fragment设置id
6.成功运行:
=============================================================================
| 生命周期函数 | 相关解释 |
| — | — |
| onAttach() | 关联到Activity的时候调用。如果,需要使用Activity的引用或者使用Activity作为其他操作的上下文,将在此回调方法中实现 |
| onCreate() | 在最初创建Fragment的时候会调用,和Activity的onCreate类似。 |
| onCreateView() | 当第一次绘制Fragment的UI时系统调用这个方法,该方法将返回一个View,如果Fragment不提供UI也可以返回null。注意,如果继承自ListFragment,onCreateView()默认的实现会返回一个ListView,所以不用自己实现。这个函数的Bundle参数和onCretate()函数的Bundle参数是同一个 |
| onActivityCreated() | 执行该方法时,与Fragment绑定的Activity的onCreate方法已经执行完成并返回,在该方法内可以进行与Activity交互的UI操作,所以在该方法之前Activity的onCreate方法并未执行完成,如果提前进行交互操作,会引发空指针异常。 |
| onStart() | 启动Fragment的时候回调,这个时候Fragment可见 |
| onResume() | Fragment变为活动状态获取焦点的时候是回调,这个时候Fragment已经完全展示在前台,并且可以和用户交互 |
| onPause() | 注意这个时候Fragment还是可见的,无法与用户交互 |
| onStop() | Fragment变成不可见的时候调用。这个时候Fragment还是活着的,只是可能别加入到了Fragment的回退栈中 |
| onDestroyView() | Fragment中的布局被移除的时候调用 |
| onDestroy() | Fragment被销毁的时候调用 |
| onDetach() | 和Activity解除关联的时候调用,在onDestroy方法之后调用。 |
======================================================================================
=============================================================================
1.删除掉原来绑定的fragment的id,选择合适自己的布局
代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:app=“http://schemas.android.com/apk/res-auto”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:orientation=“vertical”
tools:context=“.MainActivity”>
<Button
android:id=“@+id/btn3”
android:layout_width=“match_parent”
android:layout_height=“50dp”
android:textAllCaps=“false”
android:text=“Change”/>
<Button
android:id=“@+id/btn2”
android:layout_width=“match_parent”
android:layout_height=“50dp”
android:textAllCaps=“false”
android:text=“Replace”/>
<FrameLayout
android:id=“@+id/fl”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:background=“@color/purple_200”/>
2.创建一个新的fragment(与上面创建步骤一致)
3.编辑逻辑代码
代码:
package com.hnucm.a_test09;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
import android.view.SurfaceControl;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button_change=findViewById(R.id.btn2);
button_change.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
replaceFragment(new BlankFragment());
}
});
Button button_replace=findViewById(R.id.btn3);
button_replace.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
replaceFragment(new ItemFragment());
}
});
}
private void replaceFragment(Fragment fragment) {
FragmentManager fragmentManager=getSupportFragmentManager();//专门用于管理fragment
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();//fragment替换动作用transaction来完成
fragmentTransaction.replace(R.id.fl,fragment); //传进来的fragment用来替换布局里面的fragment
fragmentTransaction.commit();//提交
}
}
4.运行结果:
===================================================================
看到最后大家有没有想一个问题为什么上面的点一下back键就可以直接回到桌面,而这一个需要点4次?
总结
本文讲解了我对Android开发现状的一些看法,也许有些人会觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证明吧!愿与各位坚守的同胞们互相学习,共同进步!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
觉得我的观点不对,但我认为没有绝对的对与错,一切交给时间去证明吧!愿与各位坚守的同胞们互相学习,共同进步!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!