首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android学习笔记----隐式意图和显式意图

intent.putExtra("name", name); // 传递性别 intent.putExtra("sex", sex); // 如果希望在活动销毁时候能够返回一个结果给上一个活动...如果活动显式返回,则不会返回任何结果,或者在操作期间崩溃,resultCode将为RESULT_CANCELED。 当您活动重新启动时,您将在onResume()之前立即收到此调用。...resultCode int:子活动通过其setResult()返回整数结果代码。...由于在一个活动中有可能调用startActivityForResult()方法去启动很多不同活动,每一个活动返回数据都会回调到onActivityResult()这个方法,因此我们首先要做就是通过...此类实例表示RFC 2396定义语法意义上URI引用.URI可以是绝对或相对。根据通用语法解析URI字符串,而不考虑它指定方案(如果有的话)。

1.2K10

我闻到了 Android AppCompat 代码坏味道!

这个接口,于是 SharedElementCallbackImpl 接口就无法解析,于是导致了上面的错误出现。...也就是说,我本来只是想要拿到 AppCompatActivity 某一个子类全部父类和接口结果把 ActivityCompatApi23 这厮招魂似的招了出来。 谁是那个寄 Crash ?...其实是有问题,因为这段代码本身就是运行在 AppCompatActivity 子类,也就是说这时候 AppCompatActivity 肯定早就完成了类加载,相应,在它加载链接过程,它父类们也通通会被加载到虚拟机...从类加载角度讲,加载前者并不会直接引发后者加载(除非前者引用了后者),原因也很简单,前者是一个接口,你可以把它当做一个静态内部类,从语言层面看,它对外部类通常没有直接依赖。...Android Support 库里面 FragmentActivity 接口里面居然有对涉及到兼容 Api 显式引用,这个写法简直了,臭臭。。 我觉得这事儿不怪 Kotlin ! ----

59210
您找到你想要的搜索结果了吗?
是的
没有找到

Android异步消息机制详解

Android异步消息机制分为四个部分:Message、Handler、MessageQueue和Looper。...②当子线程处理完耗时操作,需要将处理结果反馈到UI时,先创建一个Message对象,并让其what字段携带一个int值,然后通过Handler对象发送出去。...由于Handler对象是在主线程创建,所以可以在handleMessage()方法安心地进行UI操作。 通过一个例子来验证一下:活动MainActivity中有一个按钮和一个TextView。...; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View...对于这种使用了静态内部类来避免内存泄露,同时又需要调用外部类方法情况:可以使用弱引用!即我们在该内部类声明一个对外部类对象引用。这样即可以调用外部类方法,又不会导致内存泄露。

1.5K10

Carson带你学Android:手把手教你实现Activity与Fragment相互通信

> 步骤3:设置Activity类文件 Activity2Fragment public class Activity2Fragment extends AppCompatActivity {.../ 步骤7:动态添加fragment // 即将创建fragment添加到Activity布局文件定义占位符(FrameLayout) fragmentTransaction.add...接口回调 回顾 把实现了某一接口类所创建对象引用 赋给 该接口声明变量,通过该接口变量 调用 该实现类对象实现接口方法。...// 接口声明变量 Com com; // 实现了Com接口类(Com1)所创建对象引用 赋给 该接口声明变量 Com com = new Com1; // 通过该接口变量(com) 调用...文章系列: Carson带你学Android:页面活动-Activity Carson带你学Android:广播-BroadcastReceiver Carson带你学Android:服务-Service

61210

Android Jetpack - Lifecycles

我们知道四大基础组件有生命周期,能感知这些生命周期组件就具备了生命周期感知能力,所以我认为以前我们使用 MVP 模式 Presenter 如果它通过接口等方式间接获得了 Activity 生命周期...( AppCompatActivity / Fragment 等)抽象出生命周期所有权,并允许任何自定义应用程序类都可以实现 LifecycleOwner 接口 实现一个简单生命周期感知组件 我们通过一个简易计时器例子来进行调整...,在 Android Jetpack - ViewModel ,我们实现了一个简易计时器,该计时器可以在 Activity 处于配置更改或后台情况下继续计时,我们现在利用 Lifecycle 修改它...这使您可以使视图更具说明性,并最大限度地减少在活动和片段编写所需更新代码。...这可能是一项艰巨任务,但它可以使您 UI 组件更容易测试 避免在 ViewModel 引用 View 或 Activity 上下文。

1.3K30

【Kotlin 协程】协程异常处理 ④ ( Android 协程中出现异常导致应用崩溃 | Android 协程中使用协程异常处理器捕获异常 | Android 全局异常处理器 )

-- 在前几篇博客示例 , 协程 如果出现异常 , 没有进行捕获 , 则程序直接崩溃 , 这种情况下需要进行 异常捕获 以 避免 Android 应用程序崩溃 ; 示例代码 : package...kim.hsl.coroutine import android.os.Bundle import android.util.Log import androidx.appcompat.app.AppCompatActivity...全局异常处理器 ---- Android 全局异常处理器 , 可以 获取 所有的 协程 中产生 没有被捕获异常 ; 无法阻止崩溃 : 全局异常处理器 不能捕获这些异常 进行处理 , 应用程序...; ④ 创建 协程 全局异常处理器 MyCoroutineExceptionHandler 自定义类 , 需要 实现 CoroutineExceptionHandler 接口 ; 并覆盖接口...: ⑥ 在 Activity 实现一个 抛出异常协程 : package kim.hsl.coroutine import android.os.Bundle import android.util.Log

1.2K10

最常见8个Android内存泄漏问题及解决方法

Android 开发,内存泄漏是一个常见问题。这个问题可能会导致应用程序变慢、崩溃或者消耗大量内存,最终导致设备性能下降。...如在后台线程执行网络请求或数据库操作,在任务完成后正确处理对象引用会导致内存泄漏。...// 任务执行完毕后,及时将相关对象引用置空 } }).start(); } Context 错误引用Android开发,Context引用是非常常见内存泄漏原因...当将一个长生命周期对象与Context关联时,如果正确解除引用,将导致Context无法被回收。...避免 Handler 导致内存泄漏:使用静态内部类和对外部类引用来避免Handler导致内存泄漏。 结论 内存泄漏是一个常见问题,在 Android 开发需要注意。

52120

四年Android面试遇到问题整理

本地方法,不能修改本地方法名   annotations 注释   数据库驱动   有些resource 文件 用到反射地方 5.ANR出现场景及解决方案 在Android,应用响应性被活动管理器...适配器模式:将一个接口转换成客户希望另一个接口,适配器模式使接口不兼容那些类可以一起工作,其别名为包装器(Wrapper) 装饰模式:动态地给一个对象增加一些额外职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活.../接口实例实现了父类提供抽象方法后,将该方法交还给父类来处理 ListviewnotifyDataSetChanged RxJava观察者模式 责任链模式:是一个请求有多个对象来处理,这些对象是一条链...结果,用代码实现 24.写出单例模式,哪些是线程安全,为什么是线程安全 25.Retrofit实现原理 26.android图片有哪些格式 答案:http://blog.csdn.net/xmc281141947...在closeDatabase()方法我们同样通过判断引用计数值,如果引用计数降为0,则说明我们需要close数据库。

53810

解决java.lang.SecurityException: Permission denied (missing INTERNET permission?)

最后,我们在​​onPostExecute()​​方法中将请求结果显示在TextView。...android:theme​​:可选属性,用来指定应用程序主题样式。​​​:用于声明应用程序活动组件(Activity)。​​...android:name​​:必需属性,用来指定活动名称。​​android:label​​:可选属性,用来指定活动显示名称。​​...android:theme​​:可选属性,用来指定活动主题样式。​​​:用于声明应用程序服务组件。​​android:name​​:必需属性,用来指定服务类名称。​...AndroidManifest.xml​​文件作用是向系统介绍应用程序功能和组件,并声明应用程序所需权限。在构建和运行应用程序时,系统会读取和解析该文件,并根据其中声明进行相应处理。

49820

《Monkey Android》第5课之剖析第一个App

MainAcivity.java代码分析 顾名思义,Main意思是主要,Acivity意思是活动;那么,MainAcivity.java源文件作用肯定就是: 主要活动窗口。...我们来跟踪一下AppCompatActivity源码: 1.键盘长按Ctrl键,鼠标左键点击AppCompatActivity,AS会带我们来到AppCompatActivity类所在源码位置;...我给翻译一下就是: 所有在App能看到和做都是在Activity上。...,有了它,就可以引用Android给我们提供好控件属性; layout_width表示布局宽,layout_height表示布局高,有3种值:match_parent撑满父布局,wrap_content...””写上内容,不过不推荐; android:id=”@+id/textview”表示该TextViewid是textview,方便在Java代码中进行实例化初始化; @表示通过一个id引用一个内容

45420

生命周期感知 Lifecycle

插件 Android 框架定义大多数应用组件都具有生命周期。...如果你想管理整个应用进程生命周期可以看看这个 ProcessLifecycleOwner 这个接口从单个类抽象出生命周期所有权,例如 Activity 和 Fragment,可以与你写组件共享生命周期...自定义生命周期所有者 支持库 26.1.0 以及更高版本 Fragment 和 Activity 已经实现了 LifecycleOwner 接口。...不幸是,在 onSaveInstanceState() 之后调用了 AppCompatActivity onStop() 方法,这留下了一个空白,在该空白,不允许 UI 状态更改,但生命周期尚未移至...这将创建一个可能较长时间间隔,在该时间间隔,即使无法修改其 UI 状态,观察者仍认为生命周期处于活动状态。

1.2K20

Android:手把手教你 实现Activity 与 Fragment 相互通信(含Demo)

阅读本文前,建议阅读Android:Fragment最全面介绍 & 使用方法解析 ---- 问题1: Activity 如何传递数据到 Fragment? 答:采用 Bundle方式。...> 步骤3:设置Activity类文件 Activity2Fragment public class Activity2Fragment extends AppCompatActivity {.../ 步骤7:动态添加fragment // 即将创建fragment添加到Activity布局文件定义占位符(FrameLayout) fragmentTransaction.add...接口回调 回顾 把实现了某一接口类所创建对象引用 赋给 该接口声明变量,通过该接口变量 调用 该实现类对象实现接口方法。...// 接口声明变量 Com com; // 实现了Com接口类(Com1)所创建对象引用 赋给 该接口声明变量 Com com = new Com1; // 通过该接口变量(com) 调用

5.2K30

【Kotlin 协程】Channel 通道 ③ ( CoroutineScope#produce 构造生产者协程 | CoroutineScope#actor 构造消费者协程 )

,通过将值发送到通道来生成值流 * 并返回对协程引用作为[receichannnel]。...* * 此协程任何捕获异常将以此异常作为原因和关闭通道 * 结果通道将变成_failed_,因此此后任何试图从它接收尝试都会抛出异常。...* * 生成通道类型取决于指定[capacity]参数。 * 详细信息请参见[Channel]接口文档。...* 并返回对其邮箱通道引用作为[SendChannel]。...发送到此演员邮箱通道。 * * 此协程捕获异常将以此异常作为原因和关闭通道 * 结果通道变成_failed_,因此任何发送到该通道尝试都会抛出异常。

43210

Fragment基本使用

Fragment概述 1.1 介绍 Fragment是一种可以嵌入在活动UI片段,能够让程序更加合理和充分地利用大屏幕空间,出现初衷是为了适应大屏幕平板电脑,可以将其看成一个小型Activity...remove()、replace()方法将碎片从从活动移除,但如果在事务提交之前调用addToBackStack()方法,这时碎片也会进入到停止状态。...Fragment与Activity通信交互如上图所示: 如果Activity包含自己管理Fragment引用,可以通过引用直接访问所有的Fragmentpublic方法 如果Activity保存任何...");//是电梯,别误会 4.2 传递数据给Activity 步骤流程: 在Fragment定义一个内部回调接口,再让包含该FragmentActivity实现该回调接口 Fragment通过回调接口传数据...(String code); } Fragment类定义该接口 private Mylistener listener; 在onAttach方法,将定义接口强转为activity类型 @Override

1.8K30

Android与Python混合编程

原理是早已走通了,剩下就是苦力活,写C代码,写JNI代码,对接口一一封装。 现在终于不用遗憾了,因为已经有人做了我一直想做事,而且是以我想要思路。...简单直观解释,它是在Android Studio基于Gradle构建系统实现一个插件。它可以帮助我们用最简便方式实现Android技术与Python混合编程。...注意,生成代码并不在src下,在方法引用一下MainActivityEx,并自动导包后,可点进去查看生成源码 // Generated at 2019-08-31T12:29:18Z with the...JNI接口使得C语言能反射Java类与方法,而Python运行在C语言之上,那么Python也就具备了调用Java能力。...内存管理 如果Python对象引用直接或间接引用原始Python对象Java对象,则可以创建跨语言引用循环。任何一种语言垃圾收集器都无法检测到这样循环。避免内存泄漏。

4.4K20

Android开发Button组件使用

button说明 就这样,我们就在活动中加入了一个Button控件,并且命名为Hello World,但是有没有发现活动上现实名称和我们输入名称是不是不一样呢?...现在我们按钮正常显示在活动,但是我们该怎么让他点击时能够响应,其实响应方法有很多,下面就来说说常见两种响应方法 添加响应事件 匿名内部类 <第一种方法就是在ButtonActivity为Button...button点击响应说明 这样,每当点击按钮时候,就会执行监听器onClick()方法,我们只需要在这个方法中加入我们需要处理逻辑就好。...实现接口 第二种方法就是使用实现接口方法进行实现注册监听器功能,代码如下所示: package com.example.jkwu.uicomponent; import android.support.v7...button点击响应说明 上面两种方法是最常用响应点击事件方法 到此这篇关于Android开发Button组件使用文章就介绍到这了,更多相关AndroidButton组件内容请搜索ZaLou.Cn

1.1K20

Android 进阶解密笔记-热修复

内存泄漏 什么是内存泄漏 内存泄漏(Memory Leak):是指程序己动态分配堆内存由于某种原因程序释放或无法释放,造成系统内存浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。...常见内存泄漏 单例造成内存泄漏 单例在Android中经常使用,如果使用不当会造成内存泄漏,因为单例静态特性使得他生命周期与应用生命周期一样长,这就造成当前对象生命周期比单例短,单例又持有该对象引用...非静态内部类会持有外部类引用,这里postDelayed是一个延迟处理消息,将一个handler装入到message,将消息放进消息队列messageQueue由Looper进行取消息进行处理。...动画资源释放导致内存泄漏 比如: public class LeakActivity extends AppCompatActivity {     private TextView textView...查了很多资料,发现这是 Android SDK输入法一个Bug,在15<=API<=23都存在,目前Google还没有解决这个Bug。

37620

Android性能优化之内存泄漏,你想要这里都有~

前言 在Android,内存泄露现象十分常见;而内存泄露导致后果会使得应用Crash 本文 全面介绍了内存泄露本质、原因 & 解决方案,最终提供一些常见内存泄露分析工具,希望你们会喜欢。...内存回收策略 步骤1:Application Framework 决定回收进程类型 Android进程 是托管;当进程空间紧张时,会 按进程优先级低->>高顺序 自动回收进程 Android将进程分为...每次启动Activity时都会使用该单例数据 public class TestActivity extends AppCompatActivity { // 非静态内部类实例引用...主要包括:Context、WebView、Adapter,具体介绍如下 1.png 5.6 总结 下面,我将用一张图总结Android内存泄露原因 & 解决方案 1.png 6....& 可通过视图直观地查看可能造成这种结果对象 具体使用:MAT使用攻略 6.2 Heap Viewer 定义:一个 Java Heap 内存分析工具 作用:查看当前内存快照 可查看 分别有哪些类型数据在堆内存总

71530
领券