NAS安装个人图床工具
[TOC]
概述
NAS安装Qsync软件
[TOC]
概述错误提示Qsync未启用
Activity的生命周期完全解析
[TOC]
概述本节将Activity的生命周期分为两部分内容,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。所谓典型情况下的生命周期,是指在有用户参与的情况下,Activity所经过的生命周期的改变;而异常情况下的生命周期是指Activity被系统回收或者由于当前设备的Configuration发生改变从而导致Activity被销毁重建,异常情况下的生命周期的关注点和典型情况下略有不同。
Activity生命周期在正常情况下,Activity会经历如下生命周期:
(1)onCreate:表示Activity正在被创建,这是生命周期的第一个方法。在这个方法中,我们可以做一些初始化工作,比如调用setContentView去加载界面布局资源、初始化Activity所需数据等。
(2)onRestart:表示Activity正在重新启动。一般情况下,当前Activity从不可见重新变为可见状态时,onRestart就会被调用。这种情形一般是用户行为所导致的,比如用户按Home键切换到桌面或者用户打开了一个新的Activity,这时当前的Activity就会暂停,也就是onP ...
Activity的生命周期完全解析
[TOC]
文章参考:https://www.jianshu.com/p/b3a95747ee91
Activity启动模式我们知道,在默认情况下,当我们多次启动同一个Activity的时候,系统会创建多个实例并把它们一一放入任务栈中,当我们单击back键,会发现这些Activity会一一回退。
任务栈是一种“后进先出”的栈结构,这个比较好理解,每按一下back键就会有一个Activity出栈,直到栈空为止,当栈中无任何Activity的时候,系统就会回收这个任务栈。
关于任务栈的系统工作原理,这里暂时不做说明,在后续章节会专门介绍任务栈。知道了Activity的默认启动模式以后,我们可能就会发现一个问题:多次启动同一个Activity,系统重复创建多个实例,这样不是很傻吗?这样的确有点傻,Android在设计的时候不可能不考虑到这个问题,所以它提供了启动模式来修改系统的默认行为。
目前有四种启动模式:standard、singleTop、singleTask和singleInstance,下面先介绍各种启动模式的含义:
standard:标准模式这种模式是系统的默认Activity启 ...
Activity的生命周期完全解析
[TOC]
Activity启动之设置FlagsActivity的Flags有很多,这里主要分析一些比较常用的标记位。标记位的作用很多,有的标记位可以设定Activity的启动模式,比如FLAG_ACTIVITY_NEW_TASK和FLAG_ACTIVITY_SINGLE_TOP等;
还有的标记位可以影响Activity的运行状态,比如FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS等。
下面主要介绍几个比较常用的标记位,剩下的标记位读者可以查看官方文档去了解,大部分情况下,我们不需要为Activity指定标记位,因此,对于标记位理解即可。
在使用标记位的时候,要注意有些标记位是系统内部使用的,应用程序不需要去手动设置这些标记位以防出现问题。
Activity启动之Flags介绍FLAG_ACTIVITY_NEW_TASK这个标记位的作用是为Activity指定“singleTask”启动模式,其效果和在XML中指定该启动模式相同。
FLAG_ACTIVITY_SINGLE_TOP这个标记位的作用是为Activity指 ...
Activity启动之IntentFilter的匹配规则
[TOC]
文章参考:https://weread.qq.com/web/reader/9d932320716a2b159d9b881k45c322601945c48cce2e120
Activity的启动我们知道,启动Activity分为两种,显式调用和隐式调用。二者的区别这里就不多说了,显式调用需要明确地指定被启动对象的组件信息,包括包名和类名,而隐式调用则不需要明确指定组件信息。原则上一个Intent不应该既是显式调用又是隐式调用,如果二者共存的话以显式调用为主。
显式调用很简单,这里主要介绍一下隐式调用。
隐式调用需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息,如果不匹配将无法启动目标Activity。IntentFilter中的过滤信息有action、category、data,下面是一个过滤规则的示例:
为了匹配过滤列表,需要同时匹配过滤列表中的action、category、data信息,否则匹配失败。一个过滤列表中的action、category和data可以有多个,所有的action、category、data分别构成不同类别,同一类别 ...
Activity之startActivityForResult的使用详解
[TOC]
概述如果我们想进行页面之间的数据传递,我们需要怎么去做呢?页面之间的数据传输这块是个可以总结的知识点。
一般情况下页面之间的数据传输可以有以下几种思路:1、通过startActivityForResult方法进行数据传输;2、通过广播的形式传输;3、可以通过接口的调用来传输数据;4、通过存储介质来分享数据;5、通过EventBus进行页面之间的传输;
第一种,就是Activity默认为我们提供的方式,下面我们来看看startActivityForResult的用法。
一个主界面(主Activity)通过意图跳转至多个不同子Activity上去,当子模块的代码执行完毕后再次返回主页面,将子activity中得到的数据显示在主界面/完成的数据交给主Activity处理。这种带数据的意图跳转需要使用activity的onActivityResult()方法。
这里,我们要用到几个方法,可以来看看
12345678910111213141516// 参数(Intent对象,)// 第一个参数:一个Intent对象,用于携带将跳转至下一个界面中使用的数据,使用putExtr ...
Android中的LayoutInflater基础学习
[TOC]
概述大家对LayoutInflater一定不陌生,它主要用于加载布局,在Fragment的onCreateView方法、ListView Adapter的getView方法等许多地方都可以见到它的身影。今天主要聊聊LayoutInflater的用法以及加载布局的工作原理。
在 Android UI 开发中,经常需要用到 LayoutInflater 类,它的基本作用是将 xml 布局文件解析成 View / View 树。除了基本的布局解析功能,LayoutInflater 还可以用于实现 动态换肤、视图转换、属性转换 等需求。
LayoutInflater是什么?LayoutInflater是一个用于将xml布局文件加载为View或者ViewGroup对象的工具,我们可以称之为布局加载器。
获取LayoutInflater首先要注意LayoutInflater本身是一个抽象类,我们不可以直接通过new的方式去获得它的实例,通常有下面五种方式:
12345678910111213141516171819202122232425262728293031323334 ...
Android之LauncherActivity的基础
[TOC]
概述去掉Launcher图标显示12345678910111213141516171819202122232425<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.noiconapp"android:versionCode="1"android:versionName="1.0" ><uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /><application android:allowBackup="true" android:icon=" ...
小程序开发环境搭建
[TOC]
概述https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html
微信开放平台:https://open.weixin.qq.com/
Web访问数据的Web看板
https://wedata.weixin.qq.com/mp2/basic-data/core-data
搭建开发环境