安卓移动开发作业二

安卓移动开发作业二

设计目标

  • 使用log展示生命周期的状态变化

  • 增加列表项的单项点击功能,点击后实现activity的跳转

  • 实现最新的ActivityForResult功能

功能说明

  • 通过在MainActivity和ItemActivity中打印生命周期的日志,我们可以在as控制台中看到MainActivity和ItemActivity完整的生命周期
  • 在recyclerview中点击就可以进行activity的跳转,并且在跳转的页面有查看按钮
  • 点击跳转页面的查看按钮就可以显示回传的数据

代码解析

protected void onStart() {
        super.onStart();
        Log.i(TAG, "The activity state---->onStart");
    }

    protected void onRestart() {
        super.onRestart();
        Log.i(TAG, "The activity state---->onRestart");
    }

    protected void onResume() {
        super.onResume();
        Log.i(TAG, "The activity state---->onResume");
    }

    protected void onPause() {
        super.onPause();
        Log.i(TAG, "The activity state---->onPause");
    }

    protected void onStop() {
        super.onStop();
        Log.i(TAG, "The activity state---->onStop");
    }

    protected void onDestroy() {
        super.onDestroy();
        Log.i(TAG, "The activity state---->onDestroy");
    }

实现activity生命周期的7个方法log打印日志信息,还有一个是在onCreate方法中打印日志信息

@Override
    public void onBindViewHolder(myviewholder myviewholder, int j) {
        myviewholder.textView.setText(list.get(j));
        myviewholder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(context,ItemActivity.class);
                context.startActivity(intent);
            }
        });
    }

RecycleView的点击事件的简单写法,在adapter里面直接对控件做点击事件;

Intent 是一个消息传递对象,通过将 Intent 传递给 startActivity(),就可以启动新的 Activity 实例,实现跳转功能。

public ActivityResultLauncher test = registerForActivityResult(
            new ActivityResultContracts.StartActivityForResult(),
            new ActivityResultCallback<ActivityResult>(){

                @Override
                public void onActivityResult(ActivityResult result) {
                    if (result.getResultCode() == 888){
                        Log.d("xr","onActivityResultLauncher...");
                        textView.setText(result.getData().getStringExtra("data"));
                    }
                }
            })

textview控件作为数据回传的载体,显示传递的数据内容

public class ResultActivity extends AppCompatActivity {

    private static final String TAG ="xr";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);
        Intent intent=getIntent();
        intent.putExtra("data","今天是10月21日,天气是小雨。"+
                "现在的时间是: "+ Calendar.getInstance().getTime());
        setResult(888,intent);
        finish();
    }
}

ResultActivity类中,在intent中添加了数据内容,传递给了textview,并且在textview回显出来

运行展示截图

在这里插入图片描述
这是部分生命周期的日志情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UdANHdlM-1666328403389)(C:\Users\huawei\Desktop\安卓移动开发作业\安卓移动开发作业二\image-20221021112031737.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bxaRSR8N-1666328403390)(C:\Users\huawei\Desktop\安卓移动开发作业\安卓移动开发作业二\image-20221021112049285.png)]

如图就实现了列表项的单项点击功能和activity的跳转功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wYwS7IE4-1666328403390)(C:\Users\huawei\Desktop\安卓移动开发作业\安卓移动开发作业二\image-20221021112144175.png)]

点击查看天气信息就实现了接收回传值的功能

源码仓库地址

仓库地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值