首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Android】Activity 如何进行数据传输

    比如第一个页面中有一些字符串数据之类的要通过数据传输,传递给第二个页面进行显示的 1:MainActivity做处理 在定义一个按钮,和一个文本输入框 <Button android:...} startActivity(intent); } (1)putExtra Extra翻译为额外;它的作用是在通过 Intent 启动另一个组件(如 Activity...对象,“要启动哪个页面”,也可以在 Intent 里用 putExtra 携带数据传给目标页面。...resultCode:“结果码”,是目标 Activity 返回的状态标记 data:一个 Intent 对象,是目标 Activity 返回的 “数据载体”; 记得判空 getInExtra...,并不受影响 三:Activity数据回传的新方式 1:.launch 用于启动目标 Activity 并等待其返回结果的核心方法。

    17110

    四大组件的纽带——Intent

    启动 Activity Activity 表示应用中的一个屏幕。通过将 Intent 传递给 startActivity(),可以启动新的 Activity 实例。...在 Activity 的 onActivityResult() 回调中,Activity 将结果作为单独的 Intent 对象接收。 2....启动服务 Service 是一个不使用用户界面而在后台执行操作的组件。通过将 Intent 传递给 startService(),可以启动服务执行一次性操作(例如,下载文件)。...Intent 描述了要启动的服务,并携带了任何必要的数据。 如果服务旨在使用客户端-服务器接口,则通过将 Intent 传递给 bindService(),可以从其他组件绑定到此服务。 3....在程序中,如果需要在本应用中启动其他的Activity时,可以使用显式意图来启动Activity,其本例代码具体如下: // 创建Intent对象 Intent intent = new Intent

    1.3K50

    Android Activity之间的数据传递

    一、通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent...元素,这样我们可以将这个action动作绑定到了这个Activity上,即Android操作系统会去找与intent对象中指定的action名字的 对象,然后执行相应的动作,例如: 这样我们的Intent...这样我们就可以实现Activity之间的传值。这里插入一句题外话,Intent传值与Bundle传值有什么区别?...另外需要提到的是,上面都是传一些系统自带的数据类型,如果想传一个对象或者对象的数组怎么办呢?...还是可以用Intent传值,不过要对传递的对象作一些特殊处理,可以参考这篇博客: intent可以传递的数据类型 三、先把数据存在本地,然后在下一个Activity中从本地取。

    2.3K21

    Android系列之Activity的传值和回传值

    Android 组件系列之Activity的传值和回传值 在这篇随笔里将讲解Activity的传值和回传值。...一、通过startActivity来进行Activity的传值 在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent...intent-filter> 对象,然后其子元素声明一个 元素,这样我们可以将这个action动作绑定到了这个Activity上,即Android操作系统会去找与intent对象中指定的...intent = new Intent(); intent.putExtra("result", result); /* * 调用setResult方法表示我将Intent对象返回给之前的那个...方法可以将我们的值保存在Intent对象中,并返回给MainActivity对象,通过的 onActivityResult 方法来处理得到的回传Intent对象。

    2.6K30

    Intent详细介绍及使用实例

    如果要从一个Activity切换到另一个,必须用Intent来激活。实际上,Activity,Service和Broadcast Receiver这三种核心组件都需要使用Intent来激活。...Intent对象可以传递给startActivity() 或startActivityForResult()方法来启动一个activity,或让一个已经存在的Activity去做其他任务。...Intent对象可以传递给Context.startService()方法来初始化一个service或者向一个已经存在的service传递新的指令。...在Activity中标准动作最常用的是ACTION_MAIN(初始Activity,没有数据)和ACTION_EDIT(将数据显示给用户用于编辑),使用startActivity()启动。...在标准广播动作中,通常使用registerRecevier()或者在配置文件中的标签。Intent对象中的动作使用setAction()设置,使用getAction()读取。

    1.3K10

    Activity之间传递大数据问题

    Android开发人员都知道,Intent适用于在不同的Activity之间传递数据,包括参数、字符串、以及序列化的对象等。...但是笔者所做的项目用到了使用Intent 传递Bitmap图片对象,图片的数据量相对来说是比较大的,那么intent能否胜任传递图片的任务呢?...在Activity或者组件之前传递信息时,一般采用intent绑定bundle的方式传值,但在使用过程中需要注意的是不要用bundle传递大容量数据: 传输一般的数据参数不会用到这么大的数据量,因此...如果想传递图片那么建议使用其他方式,附录里提供了三种传递图片的方式。 下面谈谈我们如何通过Intent组件传递大数据 传递小的bitmap对象 1。...MainActivity中包括一个ImageView;当我们点击ImageView时;把图片传递给另外一个Activity   MainActivity的主要代码: 复制代码代码如下: Intent

    3K90

    Fragment与Activity之间的数据交互

    1概念 1 为什么 因为Fragment和Activity一样是具有生命周期,不是一般的bean通过构造函数传值,会造成异常。...2 参考链接 Activity和Fragment传递数据的两种方式 【Fragment精深系列4】Fragment与Activity之间的数据交互 2 Activity把值传递给Fragment 2.1...Activity 3.1 步骤 (1)在fragment中定义一个内部回调接口,再让包含该fragment的activity实现该回调接口,这样fragment即可调用该回调方法将数据传给activity...(3)在一个fragment从activity中剥离的时候,就会调用onDetach方法,这个时候要把传递进来的activity对象释放掉,不然会影响activity的销毁,产生不必要的错误。...;     } } 4 Fragment与Fragment之间的传值 在Activity中加载Fragment的时候、有时候要使用多个Fragment切换、并传值到另外一个Fragment、也就是说两个

    58110

    Realm技术选型初体验

    和SQLite不同,它允许你在持久层直接和数据对象工作。...public void onError(Throwable error) { // 事物失败,自动取消 } }); 查操作 // 创建一个RealmQuery...用于查找所有符合条件的user RealmQuery query = realm.where(User.class); // 添加查询条件 query.equalTo("name", "John...,不能随意切换) 数据类型(RealmList没有实现Serializable接口,不能通过intent直接传值) 数据库版本迁移问题(需要关注实体类的变更,这。。)...其实还有增加包大小的问题(可以通过split abi来减少包大小) 总结 本篇文章,只是粗略了介绍了Realm的用法,还需要更加深入去使用才能决定是否使用到项目中,在技术选型中,除了简单易用还要考虑是否适合自己的场景

    95310

    Android 开发踩坑记:Activity 间传参总是失败?4 种常用方式 + 完整代码示例,一次学会

    今天就把Android中Activity间传参的4种常用方式拆解开,附完整代码和避坑点,新手也能跟着做。一、先搞懂:为什么需要Intent传参?...Intent就像“信使”,负责在Activity之间传递“请求动作”和“附加数据”,它的核心作用是:告诉系统“要跳转到哪个Activity”;携带需要传递的参数(比如字符串、数字、对象等)。...更灵活,推荐在传参较多时使用。...将Bundle添加到Intent中 intent.putExtras(bundle); startActivity...代码简单,无需Intent携带 内存泄漏风险,值易被覆盖 简单临时数据,不推荐频繁使用 putExtra 无需额外配置,支持基础数据类型传参多的时候代码冗余

    33110

    Android进程间通信(三):Bundle、文件共享、Messenger

    由于篇幅原因使用 AIDL、ContentProvider、Socket 的方式将单独介绍。...基于这一点我们可以在一个进程里 启动 另一个进程的 Activity、Service、Receiver,我们就可以在 Bundle 中添加对应的数据 通过 Intent 传递。...当然我们的数据必须能够被序列化,或者说可以通过 intent.putExtra() 传的,如下图: public @NonNull Intent putExtra(String name, String...如果需要服务端能回应客户端,就和服务端一样,我们还需要创建一个 Handler 以及 一个新的 Messenger,并把这个 Messenger 对象通过 Message 的 replyTo 参数传递给服务端...以下是 Messenger 的工作原理图: ---- 小结 使用 Bundle 方式在 Activity、Service、Receiver 中通过 Intent 传递可以显示进程间通信,不过类型只包括

    1.3K40

    Android开发之Activity的创建跳转及传值

    使用Intent进行Activity的跳转 Intent在Android开发中被誉为“意图”,从字面意思不难理解,就是“你打算去哪”。...在下方使用的Intent类的构造器中,第一个参数是当前Activity,第二个参数是将要跳转的Activity。...} }); (2) 如果MainActivity中的值要传给要跳转过去的SecondActivity,那么就可以通过Intent的对象中的putExtra方法来进行传值。...对象intent通过调用putExtra来进行传值,第一个参数是值得名字,也就是值的key, 在下个Activity中通过这个key来获取对应的value。...(1)跳转时通过startActivityForResult()方法来进行值得回传,第一个参数就是intent对象,第二个参数是requestCode(请求码)。

    3.9K100

    Activity实现界面间传值和数据回传案例

    做下注册; 在第一个界面定义数据,传递到第二个界面,借助于Bundle对象; 在第二个界面接受数据; 从界面2回传数据到界面1,这个我做了下简化; 1.主界面的xml配置文件如下: 在这里插入代码片...; bundle.putString("info",info); //将bundle对象传递到intent里面; intent.putExtras...//开始做回传了; startActivityForResult(intent,100); } }); } //第二个针对回传数据的方法; @Override...接受到界面2; Intent intent=this.getIntent(); //获取当前对象的intent,这个是传递对象; Bundle bundle=intent.getExtras...intentData=new Intent();//因为是回传的数据,所以,需要借助于新的intent对象; String editText1=((EditText)findViewById

    54110

    字节Android工程师都在学习的Activity与Activity调用栈,你都学习了?

    本文为Android的Activity相关知识整理,具体参考了 《Android开发艺术探索》第一章 《Android群英传》第八章 《第一行代码》第二章 Activity是与用户交互的第一接口。...当系统长期处于onStopped状态而且此时系统内存紧张时,系统会回收此Activity,而此时,系统会通过onSaveInstanceState()方法将Activity状态保存到Bundle对象中(...当重新创建此Activity时,保存的Bundle对象会传递到onRestoreInstanceState()与onCreate()中。...然后,Activity被重新创建,系统会在onStart()之后,调用onRestoreInstanceState(),并且把之前保存的Bundle对象传递给onRestoreInstanceState...PS:阻止Activity被重新创建 使用android:configChanges="orientation|screenSize"属性。

    73530
    领券