安卓开发学习笔记一

目录

1.闪屏的实现以及intent数据的传送与回调

1.1 xml文件的编辑

1.2 代码的编写

1.3 intent的传值

 1.4 数据的回传


1.闪屏的实现以及intent数据的传送与回调

        每当我们打开一个app时,都会显示一张图片,然后延迟一段时间再进入app中,那么我们该怎么样实现这个方法呢

1.1 xml文件的编辑

首先让我们先创建一个空的activity

 然后编辑xml文件

 接下来将启动activity改为你的闪屏activity

android:exported="true">

 这个为true的activity的文件将作为打开app的启动项

1.2 代码的编写

首先打开我们的activity创建一个handler

 请注意这里有两个选择项,一个时android的,一个是Java里的,这里我们选择android的

 我们使用handler.posDelayed()的方法,我们该如何填写呢,首先写一个内部类,打出new以后,as的编辑器中的题词器就会帮我们自动补齐,第二个参数是延迟时间,我们这里可以将其填写为1000ms,也就是1s中

接下来我们要使用intent进行页面的切换

Intent intent =new Intent(SplashActivity.this,MainActivity.class);

 context填参数大部分可以填this

接下来我们使用startactivity来运行这个页面切换的intent

startActivity(intent);

1.3 intent的传值

intent不止可以进行页面的转换,我们还可以使用intent来进行值的传递

首先我们创建一个用户表

然后创建用户的基本数据

 

接下来我们使用快捷键alt+insert

 

选择第一个constructor就可以简单的实现函数的构造了

 

 这里教大家一个如何快捷选择的方法,按住ctrl键然后就可以将其多选添加,这样就不用一个个添加了

package com.example.work;

public class UserInfo {
    private String mname;
    private String msex;
    private int mage;

    public UserInfo(String mname, String msex, int mage) {
        this.mname = mname;
        this.msex = msex;
        this.mage = mage;
    }
}

接下来我们创建一个对象,再利用intent.putExtra()进行传值但是我们发现代码标红了

这是因为我们还没有序列化,我们打开Userinfo进行修改

 

加入这段代码以后,我们就发现错误消失了

既然有传输数据,那么一定就有接受数据,那么我们该如何接受数据呢

Intent intent =getIntent();

我们可以使用getintent()的方法来接受intent,同时我们要保持编码的好习惯,一定要保证代码的安全性,要判断接受的intent是否为空值,有时候一个空值就会导致程序的崩溃,并且十分不容易被发现,浪费大量的时间去寻找错误。

 if(intent!=null)
        {
            
        }

我们使用一个判断的函数,并在其中进行数据的接收

UserInfo userInfo=(UserInfo) intent.getSerializableExtra("UserInfo");

我们传的是一个序列化的内容,接受的也一定是序列化的内容,通过这个方式就可以接受到序列化的内容

既然收到了数据我们就让他在页面上显示出来吧

private TextView title_textview;
title_textview=findViewById(R.id.title_textView);

首先我们先声明一个textview再将其与title_textview进行绑定

那么我们该怎么样使用序列化的数据呢

首先我们回到Userinfo,使用快捷键alt+insert,这次我们使用get

同样按住ctrl进行多选

 

 这样就帮我们自动生成了读取数据的函数了

if(intent!=null)
        {
            UserInfo userInfo=(UserInfo) intent.getSerializableExtra("UserInfo");
            title_textview=findViewById(R.id.title_textView);
            title_textview.setText("欢迎"+userInfo.getMname()+"进入app");
        }

 1.4 数据的回传

中国有句古话,来而不还非礼也,那么我们该如何接受到回调数据呢

 我们可以使用startActivityForResult的方法,我们可以看到有两个参数,一个是intent,另一个是requestcode

startActivityForResult(intent,888);

我们将其填写完毕以后,进入Mainactivity进行数据的接收

我这里使用的是fragment,可能和activity的方式接受不同,如果在mainactivity中直接接受的话会造成应用的闪退

public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_weixin_, null);
        Button btn = view.findViewById(R.id.fanhui_button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                getActivity().setResult(666);
                getActivity().finish();
            }
        });
        return view;
   }

这里是在fragment中绑定按钮的方式,参考了在Fragment中添加按钮

@Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        Toast.makeText(this,requestCode+" "+resultCode, Toast.LENGTH_LONG).show();
}

我们在onactivity中添加toast进行验证数据是否回调及准确

可以发现准确接受到回调的值,实验成功 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值