当前位置:   article > 正文

安卓开发学习笔记一_android应用程序开发课堂笔记

android应用程序开发课堂笔记

目录

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键然后就可以将其多选添加,这样就不用一个个添加了

  1. package com.example.work;
  2. public class UserInfo {
  3. private String mname;
  4. private String msex;
  5. private int mage;
  6. public UserInfo(String mname, String msex, int mage) {
  7. this.mname = mname;
  8. this.msex = msex;
  9. this.mage = mage;
  10. }
  11. }

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

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

 

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

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

Intent intent =getIntent();

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

  1. if(intent!=null)
  2. {
  3. }

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

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

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

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

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

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

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

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

同样按住ctrl进行多选

 

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

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

 1.4 数据的回传

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

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

startActivityForResult(intent,888);

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

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

  1. public View onCreateView(LayoutInflater inflater, ViewGroup container,
  2. Bundle savedInstanceState) {
  3. View view = inflater.inflate(R.layout.fragment_weixin_, null);
  4. Button btn = view.findViewById(R.id.fanhui_button);
  5. btn.setOnClickListener(new View.OnClickListener() {
  6. @Override
  7. public void onClick(View view) {
  8. getActivity().setResult(666);
  9. getActivity().finish();
  10. }
  11. });
  12. return view;
  13. }

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/685834
推荐阅读
相关标签
  

闽ICP备14008679号