Android 组件系列之Activity的传值和回传值 在这篇随笔里将讲解Activity的传值和回传值。...* requestCode: 表示的是启动一个Activity时传过去的requestCode值 * resultCode:表示的是启动后的Activity回传值时的resultCode值...我们看到这里还有一个 onActivityResult 方法,这个方法就是用来处理我们Activity的回传值的方法,所有的Activity回传值的操作都是在这个方法中完成。...对象的生命 finish(); } }); } } 这个类里面我们将MainActivity传过来的值给TextView赋上,然后通过点击按钮将值回传给我们的 MainActivity,通过 setResult...方法可以将我们的值保存在Intent对象中,并返回给MainActivity对象,通过的 onActivityResult 方法来处理得到的回传Intent对象。
接着,我们做了视图一个填充,将制定的MenuFragment.axml填充进视图View中;这里的子页面视图MenuFragment.axml只是普通的界面布局。...这样,我们的子页面就做好了;下面需要做的就是到主页面里引用这个子页面。...Activity之间传值 Android的页面之间传值是比较特别,它是使用Intent的PutExtra方法来传值的。 而PutExtra方法是一个被重载的方法,如下图所示: ?...也就是说,PutExtra只能传图中给定类型的参数,想传自定义类型的参数是不可以的。 下面我们定义一个按钮点击事件,然后传递两个参数给新的页面。...传值与Fragment引用就介绍完了。
我们把这个工程中创建的一个新的Activity,然后再有Hello World中添加一个按钮,点击按钮跳转到我们创建的新的Activity中。在新的按钮中点击Back返回到上一个Activity中。...Activity的Button, 她就是用来跳转到SecondActivity的,不同Activity见跳转可以传值,也可以在返回的时候返回值,接下来就介绍Activity间的跳转和传值问题。...SecondActivity,那么就可以通过Intent的对象中的putExtra方法来进行传值。...对象intent通过调用putExtra来进行传值,第一个参数是值得名字,也就是值的key, 在下个Activity中通过这个key来获取对应的value。...因为我们传入的值是String类型的所以用getStringExtra(), 不同类型的值对应着不同的方法。然后把获取的值显示在TextView上。之后点击Button返回。
Android 中两个Activity 之间的传值问题 在Android项目中,有时需要一些全局的静态变量来保存一些数据,这样在关闭赋值界面后,其他的页面还可以调用这些数据。...这是会影响到系统的性能的。那么在android中可不可以不通过这种方式来传递值呢? 今天自己做了一个小demo,感觉还不错:不通过全局静态变量而实现两个Activity之间传递数据。...); //获取按钮对象 Button btnSendButton = (Button)findViewById(R.id.btnSend); btnSendButton.setOnClickListener...之间的通过Intent传值的,那么如果有三个Activity是依次显示的,但是,第三个Activity需要用到第一个Activity中的值,这种方法是否还能够发挥功效?...是否还有其他更好的方法? 以上就是Android 两个Activity 之间的传值问题,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
php 问题缘起 发这篇文章其实挺羞愧的,应该是自己的基础不够扎实,我记得好久之前(应该是初学的时候)是知道这个事情的,各种赋值引用都自己测试过,但是苦于一直没有使用到,忘光了。...测试数据: 这里我只用这三条数据进行测试,来说明php对象的引用传值。...其实这个时候的b已经变成了b = 总结: 一般我们在普通赋值中,都会触发php的cow机制,但是: 在php5以后,所有对象都是引用传递,除非显式调用clone $object。...即使赋值给其它变量,也是引用。 所以,应尽量避免函数内操作外部对象。 课后作业: 请问下面代码会输出什么?欢迎在下方评论写下你的答案。...tree2->where('name', 102)->get(); return $b; } } 扩展 : PHP底层分析: 关于写时复制(cow) php manual: 对象和引用
业务中需求的方法,接口返回一个数组,里面包含了大量的对象,具有同名的属性名,比较常见。但是需要将其中参数为name的属性值全部取出,合并成数组。
示例一: /** * 大厂面试题(微博、百度、腾讯): * 两个Integer的引用对象传递给一个swap方法的内部进行交换,返回后,两个引用的值是否会发生变化 */ public class...数组元素作为函数的实参时,用法跟普通变量作参数相同,将数组元素的值传递给形参时进行函数体调用,函数调用完返回后,数组元素的值不变。...private final int value; 交换的是引用地址,修改成员变量final value的值,可用通过反射机制修改。...,并设置给 i1,因为tmp=i1.intValue(),栈中的tmp的地址会指向Integer在堆中数组对应值为i1的地址,所以 经过 value.set(i1, Integer.valueOf(i2...这里总总结前面的经验,new Integer开辟新的内存空间,不会走缓存了
需求整理: 本篇文章主要实现的是将一个数组的中对象的属性值通过升序的方式排序,然后能够让程序可以指定对应的数组对象移动到程序的最前面。..., Id: 24 },{ name: "小红", Id: 25 }] 找到Id为23的对象,移动到数组的最前面去(注意Id值唯一): 实现原理:因为移除数组对象需要找到对应数组对象的下标索引才能进行移除...,现在我们需要移除Id=23的对象,让其排到最前面去(先找到对象下标,然后把给数组对象赋值给temporaryArry临时数组,然后在通过下标移除newArrayData中的该对象值,最后将arrayData...v=>v.Id==23); console.log('Id=23的索引值为:',currentIdx); //把Id=23的对象赋值给临时数组 temporaryArry.push(newArrayData...[currentIdx]); //移除数组newArray中Id=23的对象 newArrayData.splice(currentIdx,1);//从start[一般为对象的索引]的位置开始向后删除
activity 并获取activity返回过来的数据: //获取当前Activity,使用H5的方式调用android原生方法,从而启动activity var main = plus.android.runtimeMainActivity...(); //invoke: 调用对象(类对象/实例对象)的方法,调用Android原生方法 plus.android.invoke('com.pingAnBank.payment.PingAnPaymentHelper...(一般为int,标志不同的支付类型) //resultCode 结果码,结果码用于标识返回数据来自哪个新Activity //data Intent中所携带的数据 main.onActivityResult...获取参数并计算(这里模拟原生处理) String newstring = "你好,这个字符串来自android原生代码,您传过来的参数是:" + array.optString(1); //...构建回传参数 JSONArray newArray = new JSONArray(); newArray.put(newstring); // JSUtil.execCallback
,Android系统会将再次重新创建该Service,并执行onStartCommand回调方法,但是不同的是,Android系统会再次将Service在被杀掉之前最后一次传入onStartCommand...Activity的布局的组件; 3.4、与Activity通信 fragment不通过构造函数进行传值的原因是因为横屏切换的时候获取不到值。...Activity向Fragment传值: Activity向Fragment传值,要传的值放到bundle对象里; 在Activity中创建该Fragment的对象fragment,通过调用setArguments...,这样值就传到了Activity中 Fragment与Fragment之间是如何传值的: 第一种: 通过findFragmentByTag得到另一个的Fragment的对象,这样就可以调用另一个的方法了...ViewGroup事件分发 当一个点击事件产生后,它的传递过程将遵循如下顺序: Activity -> Window -> View 事件总是会传递给Activity,之后Activity再传递给Window
通过将 Intent 传递给 startActivity(),可以启动新的 Activity 实例。Intent 描述了要启动的 Activity,并携带了任何必要的数据。...在 Activity 的 onActivityResult() 回调中, Activity 将结果作为单独的 Intent 对象接收。...Intent 描述了要启动的服务,并携带了任何必要的数据。 如果服务旨在使用客户端-服务器接口,则通过将 Intent 传递给 bindService(),可以从其他组件绑定到此服务。...通过将 Intent 传递给 sendBroadcast()、sendOrderedBroadcast() 或 sendStickyBroadcast(),可以将广播传递给其他应用。...例如,启动新 Activity 以响应用户操作,或者启动服务以在后台下载文件。创建显式 Intent 启动 Activity 或服务时,系统将立即启动 Intent 对象中指定的应用组件。
米开朗基罗认为这是在浪费自己的才华,充满愤怒的作画。当然,他又成功了。 ? 描述 这一讲中,我将使用JSON,将数据库备份到远程的数据库中。反过来我也将从远程数据库中抓取条目,并放入安卓的数据库。...HTTP获得数据 下一步,我将增加"Download"按钮点击后的功能。按钮点击后,应用将访问互联网,并获得URL指向的.js文件。...获得.js文件后,我从该文件中提取JSON对象,这个对象中包含一些新的Category名字。...所以,我们必须把网络访问放在一个新的线程中。我们通过异步的方式进行网络访问,将在下一部分介绍。 程序中的JSONObject和JSONArray用于解析接收到的JSON字符串。...此外,doInBackground()方法的返回值将成为onPostExecute()的参数,因此doInBackground()方法的返回值类型也是Z。 当工作完成,AsyncTask会通知主线程。
本文实例讲述了Android编程简单解析JSON格式数据的方法。分享给大家供大家参考,具体如下: 比起XML,JSON主要优势在于它的体积更小,在网络上传输的时候可以更省流量。...); 每次循环保存名称相对应的值: String name = jsonObject.getString("name"); ======================使用GSON===========...============= GSON是谷歌提供的一个API,它主要就是可以将一段JSON格式的字符串自动映射成一个对象,从而不需要手动编码进行解析。...首先要建立一个类容纳JSON中的数据,然后实例化 Gson 对象,并通过 fromJson() 方法获取JSON对象集合。...相关内容感兴趣的读者可查看本站专题:《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android编程之activity操作技巧总结》、《Android文件操作技巧汇总
这是android开发必须遇到的问题,那么今天我们来探讨一下。 Activity传值给Fragment ,通过Bundle。...第二步:MainActivity获取ActivityA传递的Intent对象,在传递给FragmentA //获取ActivityA传递的Intent的Bundle Intent mIntent =getIntent...方式一: MainActivity 发送方法:, //将Bundle对象通过setArguments 设置给要传递的Fragment, ............此处你们自己写自己的FragmentManager...= null){ .............获取值之后的方法 } Fragment传值给 Activity 通过 Bundle。...和上面类似 思路:在Framgment中定义接口回调给传递给Activity 我一般将这部分代码写在BaseFragmeng中 直接上图了: fragmeng操作 ?
Parcelable(android专用): 除了Serializable之外,使用Parcelable也可以实现相同的效果,不过不同于将对象进行序列化,Parcelable方式的实现原理是将一个完整的对象进行分解...1,SDK提供JSONArray,JSONObject 2,google提供的 Gson 通过fromJson()实现对象的反序列化(即将json串转换为对象类型) 通过toJson()实现对象的序列化...即使我们的Android程序已经结束了,但是别的引用程序仍然还有对我们的Android程序的某个对象的引用,泄漏的内存依然不能被垃圾回收。...只有确定了对象无法恢复引用的时候才会清除对象内存。 45、Bundle传递数据为什么需要序列化? 序列化,表示将一个对象转换成可存储或可传输的状态。...还有就是,在使用context的时候,小心内存泄露,防止内存泄露,注意一下几个方面: 不要让生命周期长的对象引用activity context,即保证引用activity的对象要与activity本身生命周期是一样的
,常用的只有三个方法:addView、updateView和removeView; 各种Window的不同,主要是 token及type的不同; app中控制Window,是通过WindowManager.LayoutParams...WindowManagerImpl;(另外 Activity本身重写了getSystemService方法,如果使用android.app.Activity#getSystemService,返回的其实不是这个对象...第三步 下面代码说到,android.view.Window#setWindowManager中,并未使用传递进去的WindowManager,而创建了一个新对象,可以看一下代码: public...#addWindow中会对WindowManager.LayoutParams做一些检验并返回值。...上面说过事件是通过WMS传递给ViewRootImpl,然后传递给View,Activity, 具体事件在ViewRootImpl的分发过程, 可以看这篇博客:Android中MotionEvent的来源和
Runnable,通过Handler发布消息,消息将只会发送到与它关联的消息队列,然也只能处理该消息队列中的消息 Looper:是Handler和消息队列之间通讯桥梁,程序组件首先通过Handler把消息传递给...后台线程就是通过传进来的 Handler对象引用来sendMessage(Message)。...singleInstance “singleInstance”独占一个task,其它activity不能存在那个task里;如果它启动了一个新的activity,不管新的activity的launch...它是通过将Intent对象和目标的intent filter相比较来完成这一工作的;一个component的intent filter告诉android该component能处理的intent。...那么即使该 Activity 已经 onDestroy,但是由于仍有对象保存它的引用,因此该Activity依然不会被释放。 4.
说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。...,单例模式是最常见的发生此泄漏的场景,比如传入一个Activity的Context被静态类引用,导致无法回收 5.静态View导致泄漏 使用静态View可以避免每次启动Activity都去读取并渲染View...,但是静态View会持有Activity的引用,导致无法回收,解决办法是在Activity销毁的时候将静态View设置为null(View一旦被加载到界面中将会持有一个Context对象的引用,在这个例子中...调用put插入新的对象也是存储在链表尾端,这样当内存缓存达到设定的最大值时,将链表头部的对象(近期最少用到的)移除。 说下你对 Collection 这个类的理解。...如果对象的hashCode值不同,那么不用调用equals方法就会将对象直接存储到集合中; 如果对象的hashCode值相同,那么需调用equals方法判断返回值是否为true, 若为false,
本文分享一款完整的案例——欧瑞天气,希望通过这个项目,让读者了解利用 Kotlin 开发 Android App 的全过程。..." android:layout_width="match_parent" android:layout_height="match_parent" /> 在布局文件中,使用标签引用了一个...第4个方法用于分析描述天气信息的JSON数据,而且未使用Android SDK标准的API进行分析,而是使用了gson开源库对JSON数据进行分析,并返回一个Weather对象,Weather类与其他相关类的定义需要符合...以上内容实现了一个Android App,尽管这个App不算大,但完全可以演示使用Kotlin开发Android App的完整过程。本章实现的App综合使用了UI、Activity、布局、网络等技术。...希望读者根据本书提供的Demo源代码以及本书讲解的知识独立完成这个项目,这样会让自己的Android和Kotlin开发功力有大幅度提升。
领取专属 10元无门槛券
手把手带您无忧上云