在build.gradle中加入
buildToolsVersion '28.0.3'
不知道为啥,27.0.3不行。
拖入控件的时候在values\styles.xml下改成
parent="Base.Theme.AppCompat.Light.DarkActionBar">
提高下载速度(在gradle中修改):
buildscript {
repositories {
maven{url'http://maven.aliyun.com/nexus/content/groups/public/'}
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven{url'http://maven.aliyun.com/nexus/content/groups/public/'}
google()
jcenter()
}
}
任何活动都要重写OnCreate()方法,这是一个初始化的函数。
setcontentview()给当前的活动加载布局。
Intent是程序中各组件之间的交互方式,第一个参数context提供一个启动活动的上下文,第二个参数class指定想要启动的目标活动。

通过startActivity(intent)来启动活动。
先来介绍一下URI和URL:
盗图
A Uniform Resource Identifier (URI) 是一个紧凑的字符串用来标示抽象或物理资源。
A URI 可以进一步被分为定位符、名字或两者都是. 术语“Uniform Resource Locator” (URL) 是URI的子集, 除了确定一个资源,还提供一种定位该资源的主要访问机制(如其网络“位置”)。
URI可以分为URL,URN或同时具备locators 和names特性的一个东西。URN作用就好像一个人的名字,URL就像一个人的地址。换句话说:URN确定了东西的身份,URL提供了找到它的方式。
- 让URI能成为URL的当然就是那个“访问机制”,“网络位置”。e.g.
http://orftp://.。
URI = Universal Resource Identifier 统一资源标志符
URL = Universal Resource Locator 统一资源定位符
URN = Universal Resource Name 统一资源名称
https://blog.youkuaiyun.com/simplebam/article/details/72644094写的比较清楚
setData,传入的是Uri,并且可以指定Data 的Type,用于数据的过滤。setData可以被系统用来寻找匹配目标组件。

Intent.ACTION_VIEW 会根据用户的数据类型打开相应的Activity或外部程序,这里是打来浏览器。参考:
https://blog.youkuaiyun.com/lovewlforever/article/details/35226185
https://www.cnblogs.com/yfafa/p/8624788.html
uri.parse是解析函数,用法可参考http://www.cnblogs.com/yi-mi-yangguang/p/5854282.html

总结一下filter的知识。

<intent-filter/>是每一个Activity对应的过滤器标签节点。每一个过滤器里面的元素可以有:
0个或多个<action.../>
0个或多个<category.../>
0个或1个<data.../>
本来想多总结一下的……但是大佬写的太好了,直接放链接叭:https://blog.youkuaiyun.com/wenzhi20102321/article/details/52876648
startActivityForResult把结果传给上一个活动activity,参考链接https://www.cnblogs.com/kross/p/3469305.html https://blog.youkuaiyun.com/hellobenji/article/details/79978701

安卓的活动周期:

周期图:

当旋转屏幕或者activity因为内存不足被系统回收的时候,会造成数据等的丢失,为了避免这种情况,使用onSaveInstanceState()函数来保存这一临时状态。
https://www.jianshu.com/p/27181e2e32d2
standard模式(默认模式):系统不会在乎这个模式是否在返回栈中存在,每次启动都会创建一个新的实例。
singleTop模式:如果返回栈的栈顶是这个activity,即直接调用这个activity。如果不是栈顶,就仍会再创立新的activity。
singleTask模式:如果不在栈顶,则把它上边的都弄出栈,使它成为栈顶。
singleInstance模式:启用一个新的返回栈。

在<activity>
android:launchMode=“singleTop”
<intent-filter>......</intent-filter>
</activity>
中修改。
可以参考https://www.cnblogs.com/rancvl/p/5529070.html
AlertDialog 置顶于所有元素之上。能够屏蔽其他控件的交互能力。参考https://blog.youkuaiyun.com/lindroid20/article/details/72639322
ProgressDialog 同上。参考https://blog.youkuaiyun.com/barryhappy/article/details/7376231
https://www.cnblogs.com/baiqiantao/p/880842e412ee421b61bf9bb5160a25f8.html
(原来不止我一个人process和progress分不清哈哈哈哈,我看好多文章里都是ProgressDialog和ProcessDialog混用的.2333)
《第一行代码》这本书是真不错。
7379



被折叠的 条评论
为什么被折叠?



