bundle

跨进程通信之Activity篇

半城伤御伤魂 提交于 2020-03-18 17:01:56
某厂面试归来,发现自己落伍了!>>> 方法一:使用ComponentName实现跨进程 ComponentName componentName=new ComponentName("com.example.vvgool","com.example.vvgool.MainActivity"); intent.setComponent(componentName); startActivity(intent); 需要注意的是:在调用启动activity的时候这样不修改所调用的应用是没问题的,但是如果调用应用的非启动activity问题就来了,错误提示:需要权限,所以说在调用应用为非启动activity的时候需要在androidManifest.xml中所在声明activity中加入android:exported="true"这样就可以了。 方法二:指定Action实现跨进程 修改androidManifest.xml ,在需要调用activity中加入 <intent-filter> <action android:name="main"></action> <category android:name="android.intent.category.DEFAULT"></category> </intent-filter> 这里action 中的name你就自己写吧。。 调用代码

静态库与动态库的区别?

筅森魡賤 提交于 2020-03-17 16:47:43
一、什么是库? 库是共享程序代码的方式,一般分为静态库和动态库。 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。 三、iOS里静态库形式? .a和.framework 四、iOS里动态库形式? .dylib和.framework 五、framework为什么既是静态库又是动态库? 系统的.framework是动态库,我们自己建立的.framework是静态库。 六、a与.framework有什么区别? .a是一个纯二进制文件,.framework中除了有二进制文件之外还有资源文件。 .a文件不能直接使用,至少要有.h文件配合,.framework文件可以直接使用。 .a + .h + sourceFile = .framework。 建议用.framework. 七、为什么要使用静态库? 方便共享代码,便于合理使用。 实现iOS程序的模块化。可以把固定的业务模块化成静态库。 和别人分享你的代码库,但不想让别人看到你代码的实现。 开发第三方sdk的需要。 八、制作静态库时的几点注意: 1 注意理解:无论是.a静态库还.framework静态库,我们需要的都是二进制文件+.h+其它资源文件的形式,不同的是,.a本身就是二进制文件,需要我们自己配上

Android学习之Fragment解析

青春壹個敷衍的年華 提交于 2020-03-17 08:03:11
1.定义 Fragment中文解释是碎片的意思,主要用在大屏幕设备上,例如平板电脑上,支持更加动态和灵活的UI设计。 Fragment在你的应用中相当于是一个模块化和可重用的组件,因为Fragment定义了它自己的布局,以及通过使用它自己的生命周期回调方法定义了它自己的行为,你可以将Fragment包含到多个Activity中。 2.特点 (1)Fragment可以作为Activity界面的一部分组成出现; (2)可以在一个Activity中同时出现多个Fragment,并且一个Fragment也可以在多个Activity中使用; (3)在Activity运行过程中,可以添加、移除或者替换Fragment; (4)Fragment可以响应自己的输入事件,并且有自己的生命周期,它们的生命周期会受宿主Activity的生命周期影响。 3.生命周期 Fragment必须是依存于Activity而存在的,因此Activity的生命周期会直接影响到Fragment的生命周期。 生命周期中涉及的方法如上图所示,具体触发条件如下所述。 onAttach() 当Fragment被添加到Activity时候会回调这个方法,并且只调用一次; onCreate() 创建Fragment时会回调,只会调用一次; onActivityCreated() 当Fragment所在的Activity启动完成后调用

Android四大组件之广播

烂漫一生 提交于 2020-03-15 20:54:59
广播接收者(Broadcast Receiver)有两种:普通广播(Normal Broadcast)和有序广播(Ordered Broadcast) 1,普通广播 Context.sendBroadcast( new Intent() ); 完全异步,可以在同一时刻被所有接收者接收到,消息传播的效率比较高; 缺点是接收者不能将处理结果传递给下一个接收者,并且无法终止广播Intent的传播; 2,有序广播 Context.sendOrderedBroadcast( new Intent() ); 按照接收者的优先级别(声明在intent-filter元素的android:priority属性中,数越大优先级越高,取值范围-100~100;也可以调用IntentFilter对象的setPriority()进行设置),被接受者依次接收广播。 前面的接收者有权终止广播(BroadcastReceiver.abortBroadcast()),如果广播被前面的接收者终止,后面的接收者就无法获取到广播; 前面的接收者可以将处理结果通过setResultExtras(Bundle)方法存放进结果对象,然后传给下一个接收者,通过Bundle bundle =getResultExtras(true))可以获取上一个接收者存入在结果对象中的数据。 生命周期: 一个广播处理完onReceive(

Activity之间参数传递

假如想象 提交于 2020-03-12 12:17:32
1、第一种,简单传递。 发送: switch (v.getId()) { case R.id.btn1: EditText editText = findViewById(R.id.editText); Intent intent = new Intent(this, my1Activity.class); intent.putExtra("data", editText.getText().toString()); startActivity(intent); break; 接收: Intent intent=getIntent(); String str1 = intent.getStringExtra("data"); TextView textView=findViewById(R.id.textView3); textView.setText(str1); 2、第二种:使用bundle. 外汇MT4教程 发送: Bundle bundle=new Bundle(); bundle.putString("data1",editText.getText().toString()+editText.getText().toString()); intent.putExtras(bundle); startActivity(intent); 接收: Bundle bundle

iOS开发关于真机—App发布证书和调试证书配置

安稳与你 提交于 2020-03-11 19:24:02
发布证书、真机调试证书、测试证书、推送证书详细过程 更重要的是让你彻底明白为什么要这样配置证书 一:发布证书 遵旨: 哪个 开发者的 哪台 电脑要发布 哪个 app (这句话可以多读几遍) 通过上边的遵旨可以得出要发布app需要哪些文件,为什么配置过程中要上传或者生成那些文件,结论如下 申请开发者账号,即花费了99刀给apple的账号,这是你可以登录developer.apple.com这个网站了 证书签名请求文件(CSR:CertificateSigningRequest) 让你的电脑具备了发布app的功能,这个CSR文件就描述了这台电脑,文件的生成方式是通过mac的签名文件(通过key),结合开发者账号生成的. 在开发者网站填写要上传的app的相关信息,告诉苹果我们要上传哪个app;区分app是通过xcode项目中的bundle ID实现的,也就是说这个bundle ID在你填写发布app时是必填项,得注意; 上边3条对于发布一个app来说貌似已经够了,但是接下来请各位注意了,这些东西得拿去让苹果验证的啊亲,苹果如何验证啊; CSR结合开发者账号生成的 ios_distribution.cer文件 : 是要装在在你mac的key中; Bundle ID: 在你的xcode的项目里; 注意你上传app是通过xcode完成的那么苹果如何验证呢?这时候.mobileprovision

安卓activity之间进行数据传输

*爱你&永不变心* 提交于 2020-03-10 19:36:46
一:单个对象传输 (1)基本数据传输(String Int) Intent intent = new Intent ( this , NewActivity . class ) ; intent . putExtra ( "name" , "android" ) ; intent . putExtra ( "version" , 9 ) ; startActivity ( intent ) ; 在另外一个NewActivity.java的onCreate获取 protected void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ) ; setContentView ( R . layout . activity_new ) ; Intent intent = getIntent ( ) ; String name = intent . getStringExtra ( "name" ) ; int ver = intent . getIntExtra ( "version" , 0 ) ; Log . d ( TAG , " name =" + name + " version=" + ver ) ; } (2)Bundle集装箱数据传输 传递方: Intent

[webpack]webpack打包文件出现 ERROR in multi ./src/main.js ./dist/bundle.js 错误的解决

青春壹個敷衍的年華 提交于 2020-03-10 04:34:52
[webpack]webpack打包文件出现 ERROR in multi ./src/main.js ./dist/bundle.js 错误的解决 错误问题 某日,正兴致勃勃地跟着webpack视频进行打包操作的时候,视频上的操作成功了,而我却报了错误: ERROR in multi ./src/main.js ./dist/bundle.js Module not found: Error: Can't resolve './dist/bundle.js' in 'E:\webproject\webpack' @ multi ./src/main.js ./dist/bundle.js main[1] 左看右看,路径却没有丝毫差错,那么问题是出现在哪里呢? webpack .\src\main.js .\dist\bundle.js // 原命令 解决方案 遂百度,发现这个错误是由于版本不同导致的4.0以后的webpack版本更改了打包命令,而我经过查询,自己的版本是4.42 所以势必要用新的命令,如下: webpack .\src\main.js -o .\dist\bundle.js 因为网上的教程视频,大多都是webpack 3.6.0版本,导致打包命令出现了不同。 黄色警告解决 黄色警告的出现,是因为webpack 4新引入了开发打包模式和生产打包模式

记一次使用修改字节码的方法解决java.lang.NoSuchMethodError

时光毁灭记忆、已成空白 提交于 2020-03-09 07:43:18
接兔兔国际sdk ane 充值界面选择兔币充值就会闪退, 观察logcat ,NoSuchMethodError: com.tutu.common.a.b.getContext 原来是因为没有方法找不到 04-19 10:10:54.224: E/AndroidRuntime(20315): FATAL EXCEPTION: main 04-19 10:10:54.224: E/AndroidRuntime(20315): Process: com.tutusdk.global.demo, PID: 20315 04-19 10:10:54.224: E/AndroidRuntime(20315): java.lang.NoSuchMethodError: com.tutu.common.a.b.getContext 04-19 10:10:54.224: E/AndroidRuntime(20315): at com.tutu.common.a.b.a(TutuAlertDialog.java:78) 04-19 10:10:54.224: E/AndroidRuntime(20315): at com.tutu.common.a.b.onCreateView(TutuAlertDialog.java:66) 04-19 10:10:54.224: E

如何将白鹭引擎开发的游戏通过Egret Native发布到 GooglePlay平台

China☆狼群 提交于 2020-03-07 00:11:29
GooglePlay 平台是很多开发者在海外发布游戏的第一选择,本文将介绍如何将白鹭引擎开发的游戏通过Egret Native 发布到 GooglePlay 平台。 发布前期准备 1、科学上网,登录GooglePlay需要***; 2、一张支持境外支付的Visa卡用来支付注册的25美金; 3、建议使用最新版Chrome浏览器来进行整体的发布流程。 打包Android App 使用Egret Native生成一个Android项目,在Android Studio中发布为aab 格式,而非 apk格式。 .aab格式为发布GooglePlay的专用格式,全名为 Android App Bundle,您可以在https://developer.android.com/guide/app-bundle/test#generate_apks上了解更多aab 格式的内容(需要科学上网)。 如果项目要输出aab格式的包,需要满足两个条件: 1、Android Studio 3.2以上版本; 2、gradle版本要大于:3.2.1,比如:classpath 'com.android.tools.build:gradle:3.2.1'。当满足如上设置后,在Android Studio中,单击菜单上的Build->Generate Signed Bundle/APK,并在弹出菜单中选择Android