重点笔记

第一点:检查有没有临时数据
在遇到有输入框或存有临时数据时,我们应该更改当前活动页面的启动模式,以防在手机内存不足时,活动被系统回收,临时数据丢失,这样会导致用户体验差。
修改方式为:在清单文件的activity标签中写android:launchMode=“singleTask”,然后在此活动页面重写onSaveInstanceState方法,最后在此活动页面的onCreate的方法内判断是否重写此方法,具体代码如下:

@Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
        String tempData="aaaabbbbbcccc";
        //想要保存的数据
        outState.putString("data",tempData);
    }
 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("BaseActivity", getClass().getSimpleName());
        if(savedInstanceState!=null)
        {
            //得到保存的值
            String tempData=savedInstanceState.getString("data");
        }
    }

第二点:知晓活动是哪个页面
在工作中,难免会阅读他人的代码,由于代码的量特别的大,所以此时我们要学会如何阅读他人的代码。
新建一个类,继承AppCompatActivity,然后在此类中重写onCreate方法,最后让每个活动继承这个类,其它活动的原来功能不会受到任何影响,因为这个类继承了AppCompatActivity。

第三点:传递重要数据:

在工作中我们基本上是由一个团队开发一个项目的,有可能我需要完成的部分是活动A,B活动需要传入数据,而B活动不是由自己开发,如果我们不想阅读他人代码找到需要传入的数据或问开发这个活动的同事,我们需要在B活动的页面写一个方法,我们需要知道传入数据的数量代码如下:

public static void actionStart(Context context,String data1,String data2)
    {
        Intent intent=new Intent(context,Main2Activity.class);
        //保存数据
        intent.putExtra("param1",data1);
        intent.putExtra("param2",data2);
        context.startActivity(intent);
    }

然后在A活动中写入代码传入参数

Main2Activity.actionStart(MainActivity.this,"data1","data2");

猜你喜欢

转载自blog.csdn.net/weixin_43747497/article/details/84554979