首页 > 其他分享 >Android数据流程的优化

Android数据流程的优化

时间:2023-05-16 23:44:15浏览次数:58  
标签:流程 intent User activity new Android 优化 id Intent

       第二次阶段开始,对于第一阶段的数据传输线进行优化,因为第一次数据传输入栈activity太多,导致用户使用感不好,人机分离,同时大量activity的入栈,会导致app很卡,所以进行了优化,采用的是向上一个activity/fragment回传数据(一开始以为肯定有一个简洁的方法来实现不同活动的数据共享,但好像没有,只能传递,我没有找到方法反正),这样将用户id等等主键传值进行操作,以下为其一代码:

一:这是fragment向activity内进行跳转

Button myButton = (Button) getActivity().findViewById(R.id.Add_Button);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {

Intent intent = new Intent(getActivity(), Add.class);
Bundle bundle = new Bundle();
bundle.putInt("User_id",User_id);
intent.putExtras(bundle);
//2023.5.16更改
startActivityForResult(intent,1);
// startActivity(intent);
}
});
二:我跳转回来的语句
Intent intent = new Intent(Add.this, HomeFragment.class);
//更新操作 2023.5.16
System.out.println("comsumer === " + comsumer);
intent.putExtra("already_Login",comsumer);
setResult(RESULT_OK,intent);
finish();

三:源活动接收的语句
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1)
{
if(resultCode == RESULT_OK)
{
int flag = data.getIntExtra("already_Login",-1);
// System.out.println("收到了 == " + data.getIntExtra("already_Login",-1));
if(flag == -1)
{
Toast.makeText(getContext(), "出错了,主人", Toast.LENGTH_SHORT).show();
}else
{
Toast.makeText(getContext(), "收到了,主人", Toast.LENGTH_SHORT).show();
User_id = flag;
System.out.println("User_id " + User_id);
simpleAdapter = new SimpleAdapter(getActivity(),getData(),R.layout.my_menu,new String[]{"type","money"},new int[]{R.id.myMenu_type,R.id.myMenu_money});
listView.setAdapter(simpleAdapter);

}

}
}
}
同时,listview进行更新防止了activity的入栈,很简介的代码便实现了,以下为代码,主要是返回到fragment,listview自己进行更新。
simpleAdapter = new SimpleAdapter(getActivity(),getData(),R.layout.my_menu,new String[]{"type","money"},new int[]{R.id.myMenu_type,R.id.myMenu_money});
listView.setAdapter(simpleAdapter);



标签:流程,intent,User,activity,new,Android,优化,id,Intent
From: https://www.cnblogs.com/wudisanrenzu/p/17407241.html

相关文章

  • SQL优化改写案例14(OB数据库SQL优化,把你的脑袋当成CBO)
    OB一哥们找我优化条SQL,反馈在OceanBase存储过程执行时间很慢,需要626秒才能出结果,安排。--原SQL:INSERTINTOinsurance_stat_sx(id,stat_date,cal_num,underwrite_num,veh_num,effect_num,effect_money,unit_code,life_......
  • Android实现人脸识别检测(FaceDetector)
    前言目前网上常规解决这块问题的方案总结了一下有以下五种,当然有更多的暂时还未了解过~1、OpenCV(APIlevel8+)识别效果一般,侧脸无法识别.对识别的距离有限制(2~3米).如果需要做静态图片识别的话,需要对Javalibrary层进行修改.项目里有我编好的动态链接库,拿来就能用......
  • 【Cocos2d游戏开发之九】CCSpriteBatchNode与"pvr.ccz","plist"精灵优化及注意事项
     首先对于使用过精灵的童鞋很熟悉CCSpriteBatchNode,至少大家都会知道它能优化精灵,但是至于优化原理这里简单说下:      一般使用精灵CCSprite的时候,都是直接使用[CCLayer*addChild:CCSprite*];,假设我们创建一百个精灵,那么当前的CCLayer会为100个精灵单独绘制;  ......
  • Android QQ登录界面
    布局loginpage.xml:<?xmlversion="1.0"encoding="UTF-8"?><LinearLayoutandroid:orientation="vertical"android:id="@+id/loginRoot" android:layout_width="fill_parent"android:lay......
  • Android 控件之Notification
    [quote]最近一直在研究android,并一边研究一边做应用。其中遇到了把程序通知常驻在Notification栏,并且不能被clear掉的问题。虽然notify()的第一个参数可以写死并clear掉,但这个值我并不想写死,但是这个值如果是随机生成一个数怎么传给Activity,用Intent当中的Bu......
  • Android Studio学习日志二,Toast用法
    首先,创建一个util,在ToastUtil里面调用方法在里面编写Toast类的代码,方便以后调用packagecom.example.appdemo.util;importandroid.content.Context;importandroid.widget.Toast;publicclassToastUtil{publicstaticToastmToast;publicstaticvoidsh......
  • 作为一个 Android 开发者,我为什么要在意深度学习?
    阅读本文大概需要5.20分钟。AlphaGo再次战胜人类,Google发布TensorFlow正式版,百度筹建深度学习实验室......人人都在谈论机器学习、深度学习,作为移动应用开发者,这些概念离你很远吗?其实不然,如果你不想被未来淘汰,想获得更好的工作,想在技术上变得更牛掰,机器学习和深度学习可能是......
  • Android Studio学习日志一,直接跳转和密码正确跳转
    记录一下我跟着手把手教你用AndroidStudio写一个APP_UP主Superior-Leo进行app开发小项目UP主的笔记首先,在资源文件创建一个文件夹,用来放APP背景图片,按钮图片一、直接跳转第一步、声明控件第二步,找到控件第三步骤,实现跳转代码packagecom.example.appdemo;importa......
  • Android Lottie动画库的导入与使用
    没想到又把安卓捡回来了,好长时间没碰这玩意但是大作业又不得不写......emmmm所以为了给大作业里的功能实现一个好看的UI界面还是得写个app出来。不少app在启动时或者干别的什么活动时会有一个动画效果,这时候可以用Lottie库实现。添加依赖在build.gradle(:app)的dependencies添......
  • resin的配置优化
    下载resin源码包:resin-3.0.18.tar.gz [path]#cpresin-3.0.18.tar.gz/usr/local/ [path]#cd/usr/local/ [path]#tar-zxvfresin-3.0.18.tar.gz [path]#cdresin-3.0.18 [path]#./configure–prefix=/usr/local/resin --with-apxs=/usr/local/apache2/bin/a......