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

Activity 不只有跳转。功能篇(一)

都会创建一个实例放在返回栈中,并且置于栈顶。...2:Activity正确使用   在实际开发中,页面很多,activity很多,所以,想要通过运行程序来判断当前所看的页面是对应哪一个activity就要创建一个父类activity,这样的话,让他们都来继承这个父类...,在父类中通过OnCreate方法来执行一些公用的代码和Log日志即可。...这两个方法onCreate()和onRestoreInstanceState()回调方法都会收到Bundle包含实例状态信息的相同方法。...第一种是从桌面launcher上点击相应的应用图标 第二种是在activity中通过调用startActivity来启动一个新的activity 由于launcher也是一个程序,所以当我们点击应用图标的时候系统会调用

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

    Activity详解

    onStop // onStop 一般在onPause方法执行完成直接执行,表示Activity即将停止或者完全被覆盖(Stopped形态),此时Activity不可见,仅在后台运行。...前台生存期:活动在onResume()方法和onPause()方法之间所经历的,这个生存期内,活动总是处于运行状态,此时的活动是可以和用户进行相互的,我们平时看到和接触最多的也是这个状态下的活动。...Standard模式 // Standard 模式 : ( 默认 ) 标准模式:每次激活 Activity 时,都会创建新的 Activity 对象。...standard 模式是 android 的默认启动模式,在这种模式下,activity 可以有多个实例,每次启动 Activity,无论任务栈中是否已经存在这个 activity 的实例,系统都会创建一个新的...Activity的启动过程 app启动的过程有两种情况,第一种是从桌面launcher上点击相应的应用图标,第二种是在activity中通过调用startActivity来启动一个新的activity

    1.1K30

    安卓UI

    可以使用 startActivity() 或 startActivityForResult() 方法启动新 Activity。这两种方法都需要传入一个 Intent 对象。...您可以将片段视为 Activity 的模块化组成部分,它具有自己的生命周期,能接收自己的输入事件,并且您可以在 Activity 运行时添加或移除片段(这有点像可以在不同 Activity 中重复使用的...与 Activity 生命周期协调一致 片段所在 Activity 的生命周期会直接影响片段的生命周期,其表现为,Activity 的每次生命周期回调都会引发每个片段的类似回调。...o 与 Activity 通信 片段可通过 getActivity() 访问 FragmentActivity 实例,并轻松执行在 Activity 布局中查找视图等任务 View listView...获取对 Fragment 的引用来调用片段中的方法。

    1.4K30

    用户界面开发基础

    ”Use by default for this action”复选框,下次运行会直接运行上次选择的Activity。...在Android中传递数据的方法很多,介绍4中比较常用的数据传递方法 通过Intent传递数据 通过静态(static)变量传递数据 通过剪切板(Clipboard)传递数据 通过全局变量传递数据 --...无论是windows 还是Linux,都会支持一种叫做剪切板的技术。...在不同的XML布局文件中可以存在相同ID的视图,但是在同一个XML文件中,虽然也可以有相同ID的视图,但是通过ID获取视图时,只能够获取按照定义的顺序的第一个视图对象,其他相同ID值的视图对象将无法回去...null, 通过addView方法添加 第三种方式 完全使用Java代码创建一个视图对象,并将该对象添加到容器视图中 TextView tv = new TextView(this); l1.addView

    1.8K20

    Android面试知识笔记:那些年面试官常问的知识点...(附详细解析)

    2、无序广播:所有接收者都会接收事件,不能被拦截跟修改。...Activity的启动过程 app启动的过程有两种情况,第一种是从桌面launcher上点击相应的应用图标,第二种是在activity中通过调用startActivity来启动一个新的activity。...Context Context是一个抽象基类,翻译为上下文,也可以理解为环境,提供一些程序运行基础信息。...测量视图大小,从顶层父View到子View递归调用 measure 方法,measure 方法又回调 onMeasure方法。...通过将要传递的消息放在Message中,Handler通过 sendMessage 方法将消息放入 MessageQueue 中,Looper 对象会不断的调用loop() 方法不断从 MessageQueue

    50700

    Activity 跳转详解

    逻辑步骤: 通过Activity的实现类对象调用 startActivity(Intent intent) 方法跳转 然后需要创建一个Intent对象 Intent i = new Intent(getApplicationContext...-- data android:mimeType 数据类型限制 --> 通过Activity的实现类对象调用 startActivity(Intent intent) 方法跳转 然后需要创建一个Intent...在onResume()方法中处理显示 但是上面的写法对用户的体验非常不好,因为每条短信都会重新创建一个Activity对象压入任务栈,我们要是想不创建新的Activity只在当前Activity中显示又该如何做呢...getIntent()方法的特点 我们将显示代码打上断点可以观测到,每次启动时, getIntent() 取得的方法总是 null (注:若你在模拟发送短信前,应用已经关闭,那么会回显示第一次的数据,再次发送短信取得的都是第一次的数据...然后是说:当已经有此 Activity 实例存在栈顶时,上面两种情况都会导致 onNewIntent() 方法被调用。 下面两个段落是说: 1.

    63120

    1-AIII-Service实现开屏跳转到指定Activity

    普通Service特性 1.startService方法启动,不关闭,则一直运行,即使退出了当前Activity 2.基于此可以实现音乐播放器的后台播放 3.基于此结合广播接收者可以实现开屏跳转到指定...filter.addAction("android.intent.action.SCREEN_ON"); registerReceiver(receiver, filter);//[4]通过代码的方式注册...context.startActivity(new Intent(context, MainActivity.class)); Log.i(TAG, "...startService(new Intent(this, ScreenService.class)); } } onCreate==>onStartCommand 其中onCreate只会执行1次每次启动都会执行...onStartCommand 本文由张风捷特烈原创,转载请注明 更多安卓技术欢迎访问:https://www.jianshu.com/c/004f3fe34c94 张风捷特烈个人网站,编程笔记请访问

    77260

    Activity

    每个 Activity 都会获得一个用于绘制其用户界面的窗口。...在Activity的各个生命阶段实现对应的方法; 其中重要的两个方法: onCreate() ,系统在创建Activity时调用此方法;在此方法实现视图绑定;一些 控件的初始化 onPuase(); 用户离开当前...super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } ---- 启动Activity 可以通过一个...回调方法说明 先说一下上图的方法: onCreate() :创建Activity ,可以在这里进行初始一些视图和数据 onStart(): 启动Activity ,这里你就可以看到 这个activity...了 onResume(): 调用这个方法前 只能看到Activity 并不能进行交互 ,执行完此方法才可以进行交互 ,整个Activity就彻底的运行起来了 onPause() :停止用户交互 你可以看到

    98160

    Android:Jetpack之视图绑定——ViewBinding

    抽象层,注解 + 编译时自动生成功能类; ViewModel→数据存储组件,具备生命周期感知能力; WorkManager→托管延时任务,即使APP被杀、或设备重启,只要TaskRecord还存在最近访问列表中...,都会执行; Foundation → 基础 提供横向功能,如:向后兼容、测试、安全、Kotlin语言支持; AppCompat→ 帮助较低版本的Android系统进行兼容; Android KTX→...接着试下用其他方式进行封装,先看原始Activity: [ab7e8fe03cf14d666ed0b359e76fe0f2.png] 要把圈住的代码干掉,先是泛型传递问题,泛型在进JVM前会被擦除,可在运行时通过反射获得...,还可以通过实例化类类型代替类引用,如: fun FragmentActivity.startActivity(context: Context, clazz: Class<...lazy延迟初始化,修改后的代码: [ec9c48b23eb55513dbec6c61235de1fc.png] 调用下: [cc5fe748fe432f574eb98a75d02ded4f.png] 运行通过

    1.7K30

    Android:Jetpack之视图绑定——ViewBinding

    抽象层,注解 + 编译时自动生成功能类; ViewModel→数据存储组件,具备生命周期感知能力; WorkManager→托管延时任务,即使APP被杀、或设备重启,只要TaskRecord还存在最近访问列表中...,都会执行; Foundation → 基础 提供横向功能,如:向后兼容、测试、安全、Kotlin语言支持; AppCompat→ 帮助较低版本的Android系统进行兼容; Android KTX→...接着试下用其他方式进行封装,先看原始Activity: [ab7e8fe03cf14d666ed0b359e76fe0f2.png] 要把圈住的代码干掉,先是泛型传递问题,泛型在进JVM前会被擦除,可在运行时通过反射获得...,还可以通过实例化类类型代替类引用,如: fun FragmentActivity.startActivity(context: Context, clazz: Class<...lazy延迟初始化,修改后的代码: [ec9c48b23eb55513dbec6c61235de1fc.png] 调用下: [cc5fe748fe432f574eb98a75d02ded4f.png] 运行通过

    1.1K30

    Android 集成 Flutter | 与交互

    当然这并不是说每次都要这样操作,在正常开发过程中,直接运行 flutter_module 即可。等到需要合起来的时候执行该命令即可。...它的新能明显高于 TextureView,但是 SufaceView 不能再 Android View 层次结构中交叉,SurfaceView 必须是最下面的视图,或者是最上面的视图。...但是,当 SurfaceView 被指示以透明方式呈现时,它会将自己定位在比所有其他 Android 视图更高的 z-index 上,这意味着它会出现在所有其他视图之上。...通过上面的验证,可以得出,使用了 Flutter 之后,内存确实会增加很多,但是并不会造成内存压力。 通增加缓存引擎的对比,发现每次增加一个缓存引擎,就会增加 60Mb 左右。...不能每次打开页面都重新进行初始化引擎。

    2K20

    (转载非原创)Android系统编程入门系列之界面Activity交互响应

    boolean onTouchEvent(MotionEvent event) 在子视图没有处理的情况下,用户对硬件设备屏幕的每一个操作,都会回调一次该方法。...boolean onKeyDown(int keyCode, KeyEvent event) 在子视图没有处理的情况下,用户对硬件设备按键的每一次按下行为,都会回调一次该方法。...boolean onKeyUp(int keyCode, KeyEvent event) 在子视图没有处理的情况下,用户对硬件设备按键的每一次抬起释放行为,都会回调一次该方法。...不同于用户与界面的交互,界面间交互主要是变量数据的共享,所以通过Intent支持的交互数据类型是有限的。...这里的startActivity(Intent)方法是最简单的启动方法,另外还有startActivity(Intent, Bundle)在启动时将要发送的数据打包作为参数二传入。

    42800

    Android 插件化原理解析——Hook机制之AMS&PMS

    调用被Activity类重载过的startActivity方法,通常在我们的Activity中直接调用这个方法就是这种形式; Context.startActivity 我们查看Context类的startActivity...Activity.startActivity Activity类的startActivity方法相比Context而言直观了很多;这个startActivity通过若干次调用辗转到达startActivityForResult...Hook AMS OK,我们到现在知道;其实startActivity最终通过ActivityManagerNative这个方法远程调用了AMS的startActivity方法。...ActivityManagerNative实际上就是ActivityManagerService这个远程对象的Binder代理对象;每次需要与AMS打交道的时候,需要借助这个代理对象通过驱动进而完成IPC...,最终都会发现它们都会使用ActivityManagerNative的这个AMS代理对象来完成对远程AMS的访问。

    1.4K10
    领券