activity

onSaveInstanceState和onRestoreInstanceState

别说谁变了你拦得住时间么 提交于 2019-12-02 19:35:20
本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceState(),并且在介绍这两个方法之后,再分别来实现使用InstanceState保存和恢复数据功能、 Android实现屏幕旋转异步下载效果这样两个示例。   首先来介绍onSaveInstanceState() 和 onRestoreInstanceState() 。关于这两个方法,一些朋友可能在Android开发过程中很少用到,但在有时候掌握其用法会帮我们 起到比较好的效果。尤其是在应用程序在不知道的情况下退出后,如何实现其数据保存的功能。先来让我们看下这两个方法的有什么样的作用。   1. 基本作用:   Activity的 onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期方法,它们不同于 onCreate()、onPause()等生命周期方法,它们并不一定会被触发。 当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁 一个Activity时,onSaveInstanceState() 会被调用。但是当用户主动去销毁一个Activity时,例如在应用中按返回键,onSaveInstanceState()就不会被调用。因为在这种情 况下

【转载】Android 面试题(1)(转)

一笑奈何 提交于 2019-12-02 19:25:34
真他妈的全面呢。 1. 请描述下Activity的生命周期。2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?3. 如何将一个Activity设置成窗口的样式。(Edited by Sodino)4. 如何退出Activity?如何安全退出已调用多个Activity的Application?5. 请介绍下Android中常用的五种布局。6. 请介绍下Android的数据存储方式。(Edited by Sodino)7. 请介绍下ContentProvider是如何实现数据共享的。(Edited by Sodino)8. 如何启用Service,如何停用Service。(Edited by Sodino)9. 注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。10. 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。11. AIDL的全称是什么?如何工作?能处理哪些类型的数据?12. 请解释下Android程序运行时权限与文件系统权限的区别。(Edited by Sodino)13. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。14. 有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息

管理Activity的生命周期

旧时模样 提交于 2019-12-02 17:45:44
As a user navigates through, out of, and back to your app, the Activity instances in your app transition between different states in their life cycle. 作为一个用户通过导航进出和回到你的应用程序的这个过程中,你应用程序的Activity实例在它的生命周期的不同状态之间转换。 For instance, when your activity starts for the first time, it comes to the foreground of the system and receives user focus. 例如:当你的Activity第一次启动时,它会出现在系统的最前端并接受用户的焦点。 During this process, the Android system calls a series of lifecycle methods on the activity in which you set up the user interface and other components. 在这个过程中,Android系统调用了Activity一系列的生命周期方法,在这些方法中你可以设置用户界面和其他组件。 If the

第七次作业--QQ登录

余生颓废 提交于 2019-12-02 16:59:45
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.qq.MyActivity" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true

第七次作业--手机充值

我与影子孤独终老i 提交于 2019-12-02 16:59:26
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.example.task.MainActivity" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android

第七次作业--fragment

雨燕双飞 提交于 2019-12-02 16:59:18
Fragment,简称碎片,是Android 3.0(API 11)提出的,为了兼容低版本,support-v4库中也开发了一套Fragment API,最低兼容Android 1.6。 Fragment是依赖于Activity的,不能独立存在的。 一个Activity里可以有多个Fragment。 一个Fragment可以被多个Activity重用。 Fragment有自己的生命周期,并能接收输入事件。 我们能在Activity运行时动态地添加或删除Fragment。 模块化(Modularity):我们不必把所有代码全部写在Activity中,而是把代码写在各自的Fragment中。 可重用(Reusability):多个Activity可以重用一个Fragment。 可适配(Adaptability):根据硬件的屏幕尺寸、屏幕方向,能够方便地实现不同的布局,这样用户体验更好。 onAttach():Fragment和Activity相关联时调用。可以通过该方法获取Activity引用,还可以通过getArguments()获取参数。 onCreate():Fragment被创建时调用。 onCreateView():创建Fragment的布局。 onActivityCreated():当Activity完成onCreate()时调用。 onStart()

第七次作业(fragment)

守給你的承諾、 提交于 2019-12-02 16:58:41
Fragment,简称碎片,是Android 3.0(API 11)提出的,为了兼容低版本,support-v4库中也开发了一套Fragment API,最低兼容Android 1.6。 Fragment是依赖于Activity的,不能独立存在的。 一个Activity里可以有多个Fragment。 一个Fragment可以被多个Activity重用。 Fragment有自己的生命周期,并能接收输入事件。 我们能在Activity运行时动态地添加或删除Fragment。 模块化(Modularity):我们不必把所有代码全部写在Activity中,而是把代码写在各自的Fragment中。 可重用(Reusability):多个Activity可以重用一个Fragment。 可适配(Adaptability):根据硬件的屏幕尺寸、屏幕方向,能够方便地实现不同的布局,这样用户体验更好。 onAttach():Fragment和Activity相关联时调用。可以通过该方法获取Activity引用,还可以通过getArguments()获取参数。 onCreate():Fragment被创建时调用。 onCreateView():创建Fragment的布局。 onActivityCreated():当Activity完成onCreate()时调用。 onStart()

第七次作业(QQ登录)

♀尐吖头ヾ 提交于 2019-12-02 16:54:50
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.qq.MyActivity" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true

Android_activity 初始化流程分析

给你一囗甜甜゛ 提交于 2019-12-02 14:48:21
Activity是什么 Activity是一个Android应用程序组件(也是Android四大组件之一,其他为Service,BroadcastReceive , content provider)Activity主要用于显示的,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口当我们需要启动一个应用时,到应用完全打开展现在我们面前的这段时间做了些什么?现在对其中的Activity组件的冷启动流程(第一次启动)进行分析: 在这之前我们对Android Application的启动流程进行过分析:Activity的启动是以启动Application为基础的。可参看 Android_Application启动梳理 。 Activity什么时候开始创建 Activity是应用程序组件,它是依附于应用程序而创建的。首先我们可以确定它的创建肯定是要在应用进程创建之后,当我们准备开启一个应用程序时,来让我们看看Activity的启动过程: 我们先从startActivity()开始看起: .。。。。。。。。。。太多了,追不下去了,先占个坑,Activity启动流程这个慢慢追。 来源: https://blog.csdn.net/weixin_38140931/article/details

android8.0采坑 Only fullscreen opaque activities can request orientation

删除回忆录丶 提交于 2019-12-02 14:32:32
android8.0采坑 Only fullscreen opaque activities can request orientation aiprose 个人随笔上线,网址 aiprose.com 点击访问 也就是说只有全屏不透明的activity才可以设置方向,既然知道问题所在就好办了。 找到你设置透明的Activity,然后在他的theme中加入如下配置。 < item name = "android:windowIsTranslucent" > false < / item > < item name = "android:windowDisablePreview" > true < / item > 但是我的项目使用的是第三方的库 com.ycjiang:imgepreviewlibrary:1.1.3 之前使用点击图片预览大图 imgepreviewlibrary 都是一次性成功的,但是今天在新的产品上使用,却一直报错,无语。没办法只能自定义activity了。 1.我们自定义一个activity, ImageLookActivity public class ImageLookActivity extends GPreviewActivity { /*** * 重写该方法 * 使用你的自定义布局 **/ @Override public int