Android传值,怀旧一下

少壮不努力,老大看源码。
------不晓得哪个说的,可能是鲁迅?

就Android原生而言,传值是相当的简单。

Activity之间是这样传的:

	public void goActivity() {
		Intent intent = new Intent(MainActivity.this, DemoActivity.class);
		intent.putExtra("text", "content");
		startActivity(intent);
	}

Activity传向Fragment是这样传的:

	public void goFragment(){
		Bundle bundle = new Bundle();
		bundle.putString("text","content");
		NoteListFragment fragment = new NoteListFragment();
		fragment.setArguments(bundle);
//		showFragment();
	}

很古老的传值方式,那个时候大家都还很单纯,没有那么多小三(第三方库),甚至干脆自己写interface传值…

但随着Android市场的繁荣,业务的逐渐复杂,界面的日益花哨,数据的急速增长,原生的传值方式似乎渐渐退出视野了。

有时候我在想,这和现在的整个Android行业状况是契合的,最近几年,原生似乎越发没落,各种移动框架的盛行让原生似乎变成了第二选择,从H5到RN,从RN到Flutter,似乎某一天,Android也会走上Symbian的老路,被更新的技术代替。

每年都会出现新语言,Android被替代似乎也不是什么遥不可及的事情,作为一个日渐稳定下来的从业人员,我表示慌的一批…

和代码打交道其实是一件很幸运的事情,0和1的世界真是很单纯,远比生活中的蝇营狗苟来着宽心,当然,要是没有bug就更好了…
可惜,大家不止要应付工作中的bug,还要敷衍生活中的蝇营狗苟,工作中的bug终有调试好的那一天,生活中的bug有的却会影响人一生。

最近几年人工智能很火热,与之相关的语言与技术又兴盛起来,这一波一波的技术浪潮让许多业内人员望而却步,大家都说程序员是吃青春饭,向来地位不高,一方面是国内的加班文化盛行,一方面也是国人自古以来就注重安定,所有不稳定的行业都是下九流,而技术行业,又尤其是处于风口浪尖的互联网行业,怎么可能稳定地下来?有此言论,似乎也是理所当然。

闲来想想,一个行业只需要少数人去探路,多数人只是在这条路上来回奔波,技术从来不神圣,甚至向来是为权力和资本服务的,技术人说来高傲,却要立足于能服务于强大的资本或权力而言,简单直接地说,技术也需要光环加身,不论是金钱、名声或是地位。我曾经以为技术是单纯的,但其实也并非想像中那么纯粹,只是相比之下,其他东西都已经面目全非。

啰嗦一堆,真是年纪大了容易怀旧。

其实我只是想说,原生传值的原理真是出乎意料的简单~

//Intent.java
    public @NonNull Intent putExtra(String name, String value) {
        if (mExtras == null) {
            mExtras = new Bundle();
        }
        mExtras.putString(name, value);
        return this;
    }

此时,我已经有了一种不祥的预感…

//Bundle.java
    ArrayMap<String, Object> mMap = null;
    
    public void putString(@Nullable String key, @Nullable String value) {
        unparcel();
        mMap.put(key, value);
    }

祝各位技术人勇猛精进,再进一步。

以上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值