版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/zjh171/article/details/37738579

两个应用之间怎样传值。事实上这个标题太水了,专业的说法是“两个进程间怎样传值”,什么?。还不够专业,好吧,你淫了。“进程间通信”事实上更专业,这回你总惬意了吧!顺带说一下,简写成IPC:Inter-Process
Communication。

兄弟们。如果你们从搜索引擎或者其它途径找到这篇文章的话,说明你的Android技术已经提升到一个非常高的层次了哦,嘿嘿~为什么这么说呢?由于不管哪个平台。线程跟进程都是绝对的重点跟难点。

本文说的进程间传值仅仅是进程间通信的一个特例,还有其它用处比方,进程控制:让一个进程杀死还有一个进程之类的。当然这个不在本文讨论范围之内,大家不知道也无所谓的。

做事情要抓住重点跟难点。好比追女生。重点就是一開始不能表现出来。。。一定要以朋友的身份好好相处,等时间成熟就顺利成章了。

唉,都是本人的亲身经历,大家一定要引以为戒!

近期确实蛮郁闷的,一方面技术上没有特别突破。还有一方面朋友又相继离职。搞得我上班没劲,下班没人玩。真慘。

废话不多说了,開始我们的传值旅程吧。

首先大家要知道的是,每一个进程都有一段独立的内存空间。所以两个进程之间传值本身就是效率不高,比較耗时的过程。

线程相较于进程的长处在于共享一段内存,因此传值速度比进程快,最快的当然莫过于同一个线程了。这些知识点是大家了解程序传值的前提。

linux中进程间传值的方式有例如以下几种:

管道(pipe)。消息队列,信号。共享内存,套接口。

android中进程间的通信方法有下面几种:

activity,content provider,binder。service

事实上android的进程间通信是建立在linux之上的。尽管名字略有不同。但底层实现还是通过以上四种方式。

1.Activity实现两个App之间传值

如果有两个应用APP1和APP2。而且想通过app1中的ActivityA中的某个button或者其它控件的点击事件来启动APP2中的ActivityB。过程例如以下:

1.将ActivityB暴露出来

比方如今有一个LoginActivity须要暴露出来。则能够通过改动manifest来实现

<activity
android:name="com.saike.android.grape.controller.personal.LoginActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize|stateHidden" >
<intent-filter>
<action android:name="zhudows.com" /> <data android:scheme="info" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

如图,上面代码的功能我先做个介绍:

前面几行的我就不多说了,主要是<intent-filter>里面那几句,事实上从名字就能够看出这个标签的作用:用于过滤intent。那么intent是啥,我相信也不用多说了,intent是Activity中传值时不可忽略的类。

在将上面这段之前我们先看看我们比較熟悉的一段代码:

<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

这个对我们来说再熟悉只是了,由于我们在写不论什么一个应用的时候都要指明启动应用的activity,此时必须要使用标签action,并赋值他的属性android:name 为 android.intent.action.main

这个属性值的意思事实上大概就相似是表示程序的“main”函数从这个activity開始。

然后在我们须要启动这个activity的地方调用方法:

Intent i = 
new Intent("zhudows.com",
Uri.parse("info://111"));  

this.startActivity(i);  

就可以。

android:两个应用之间怎样传值之activity的更多相关文章

  1. (转载) Android两个子线程之间通信

    Android两个子线程之间通信 标签: classthreadandroid子线程通信 2015-03-20 17:03 3239人阅读 评论(0) 收藏 举报  分类: 个人杂谈 版权声明:本文为 ...

  2. Android两个子线程之间通信

    Android中,相信主线程和子线程之间的通信大家都不陌生了吧.在一次面试经历中被问到了两个子线程之间是如何进行通信的.哎呦!这可蒙住我了.后来回家研究了下,分享给大家. 其实android中线程通信 ...

  3. Android两个页面之间的切换效果工具类

    import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; ...

  4. Windows Form父子两个窗体之间的传值测试

    1:先看测试的效果图: 2:全部的代码 using System; using System.Windows.Forms; namespace WindowsForms { public partia ...

  5. 两个html之间进行传值,如何进行?

    function turnto(){ var getval=document.getElementById("text").value; turngetval=escape(get ...

  6. 两个App之间的跳转 并传值

    两个App之间的传值最主要的是方法是 Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.a ...

  7. iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)

    iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)   使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: ...

  8. 使用Delegate在两个ViewController之间传值

    以下就实现了使用Delegate在两个ViewController之间传值,这种场景一般应用在进入子界面输入信息,完后要把输入的信息回传给前一个界面的情况,比如修改用户个人信息,点击修改进入修改界面, ...

  9. 使用Block在两个界面之间传值

    首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButton,其中UILabel是为了显示第二个视图控制器传过来的字符串,UIButton是为了push到第二个界面. 第 ...

随机推荐

  1. share memory

    header for public argument:shmdata.h #define TEXT_SZ 2048 struct shared_use_st { int written; char t ...

  2. SpringBoot中配置不序列化返回值为null的属性

    package com.weiresearch.properties; import com.fasterxml.jackson.annotation.JsonInclude;import com.f ...

  3. 2.5 webpack 进阶

    配置分离 code splitting 异步加载 理解 webpack chunk webpack 调试 2.5.1 配置分离 在大型项目中,可能 webpack.config.js 会变得越来越臃肿 ...

  4. Xen的体系结构

    1. BIOS的虚拟化 xen的启动过程,与x86系统一样,首先要进入保护模式,然后安装中断处理程序. xen的中断处理程序可以分为几种,有的是直接分发给正在运行的操作系统,有的是分发给安装了硬件驱动 ...

  5. HDU 6667 Roundgod and Milk Tea (思维)

    2019 杭电多校 8 1011 题目链接:HDU 6667 比赛链接:2019 Multi-University Training Contest 8 Problem Description Rou ...

  6. POJ 1673 EXOCENTER OF A TRIANGLE(解三角形重心)

    题目链接:http://poj.org/problem?id=1673 AC代码: #include<cstdio> #include<cmath> #include<a ...

  7. 022_IO流

    对象流 // FileInput.FileOutputStream(节点流)ObjectInputStreamObjectOutputStream 序列化 把内存的数据信息永久的保存在硬盘中,这个过程 ...

  8. 《代码大全2》读书笔记 Week2

    <代码大全2>第四.五章 第四章“关键的‘构建’决策”主要有以下三要点:1.每种编程语言都有优点和缺点,程序员应根据需要选择编程语言,尽量选择熟悉的语言以提高生产效率.作为一种表达工具,编 ...

  9. 在Linux下如果要使用接口标志要加什么头文件吗?因为我在使用IFF_UP时会出错,说是未定义

    头文件一般放在/usr/include目录下,用grep 'IFF_UP' /usr/include/*.* |less这个命令查找一下在哪个头文件里面有定义.   追问 嗯~这个方法确实可以查找到一 ...

  10. 论文阅读笔记:《Interconnected Question Generation with Coreference Alignment and Conversion Flow Modeling》

    论文阅读:<Interconnected Question Generation with Coreference Alignment and Conversion Flow Modeling& ...