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

Android学习笔记(三)Application类简介

通过继承Application类,可以完成一下3项工作:   · 对Android运行时广播的应用程序级事件做出相应。   · 应用程序组件之间传递对象。   ...· 管理维护多个应用程序组件使用的资源。   其中,后两项工作通过使用一个单态类能够更好地完成。Application的实现在本质是单态的,并应作为单态实现,以便提供对其方法成员变量的访问。...取出MyApplication中的test值并显示TextView。...· onTrimMemory:作为onLowMemory的一个特定于应用程序的替代选择,Android 4.0(API level 13)中引入。   ...21 super.onTrimMemory(level); 22 } 23 24 @Override 25 public void onConfigurationChanged

73750

Android 6.0 权限行为变更详解

对于以 Android 6.0 或者更高版本为目标平台的应用,务必在运行的时候检查请求权限(针对一些危险权限)否则,如果直接调用相关需要特殊权限的方法的话,会导致 APP 的崩溃。...请求提示危险权限 只有危险权限才需要我们代码中动态向用户请求,Android 要求用户授予危险权限的方式是用户设备运行Android 系统的版本以及我们的应用所针对的系统版本有关的。...运行时请求(Android 6.0以及更高版本) 由于国内 Android 系统都是正宗 Android 系统的基础二次开发的,所以在这种特性的问题上会正宗的 Android 系统有不同。...举个例子 :比如你将你开发的 APP 的 targetSDKVersion 设置为 23 以下的话,如果在原生的 Android 系统运行的时候是不需要运行时请求危险权限的,因为这个特性是 API...,我再举个例子:比如,小米手机 8.0 系统,你设置了 targetSDKVersion 为 22,这个时候如果是原生 Android 系统的话是不需要再动态申请权限了,但是小米还是需要的的,这个时候你调用

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

安卓应用安全指南 5.2.3 权限保护级别 高级话题

5.2.3.6 Android 版本 6.0 更高版本中对权限模型规范的修改 Android 6.0(API Level 23)引入了权限模型的修改规范,这些规范影响了应用的设计规范。...修改后的规范的影响范围 应用在运行时需要权限请求的情况,仅限于终端运行 Android 6.0 或更高版本,并且应用的targetSDKVersion为 23更高的情况。...但是,如果终端运行的是 Android 6.0 或更高版本,则即使应用的targetSDKVersion低于 23,用户安装时授予的权限也可能随时被用户撤销。 这会造成应用意外终止的可能性。...开发人员必须遵守修改后的规范,或将应用的maxSDKVersion设置为 22 或更低版本,来确保该应用不能安装在运行 Android 6.0(API Level 23)或更高版本(表 5.2-1)的终端上...当maxSdkVersion的值设置为 22 或更低时,Android 6.0(API Level 23更高版本的设备,不再被列为 Google Play 中目标应用的可安装设备。

53410

Android训练课程(Android Training) - 构建你的第一个应用

如果你的应用的一些特性可能仅仅在较新的版本,并且它不是在你的所有应用特性中起到决定性作用的话,你可以运行在它支持的版本时才启用它。...真实设备运行 如果你拥有一个安卓动力的设备,在这里展示了你如何安装启动你的应用: 1.使用USB线将你的设备插入到你的开发机器(译者注:可能是电脑),如果你使用window是开发,你可能需要为你的设备安装适当的...2.在你的设备启用USB debugging(USB调试)模式 很多运行在安卓3.2或者更旧的版本的设备,你可以选项设置里找到: 设置>应用程序>开发者 安卓4.0或者更新一些的版本,他存在于...Fragment一个可重用的模型里分解了应用程序的基础界面(UI)。更多信息请阅读: Fragments API Guide 在这个activity的最终版本里不需要使用fragment。...系统使用这个值去实现默认的导航行为,比如在安卓4.1(API等级16)或者更高的 Up navigation。

2.1K00

【谷歌官方文档】1.1 建立第一个APP

如果某些非核心功能仅在较高版本API支持,你可以只支持这些功能的版本开启它们(参考兼容不同的系统版本),此处采用默认值即可。 5....如何运行Android应用取决两件事情:是否有一个Android设备是否正在使用Android Studio开发程序。...本节课将会教使用Android Studio命令行两种方式真实的android设备或者android模拟器安装并且运行应用。...真实设备运行 如果有一个真实的Android设备,以下的步骤可以使我们自己的设备安装运行应用程序: 手机设置 把设备用USB线连接到计算机上。...系统使用此值来实现默认导航操作,比如在Android 4.1(API level 16)或者更高版本中的Up navigation。

2.3K20

应用宝基于Robotium自动化测试()

为了支撑项目组的这种研发模式,测试侧需要在FT分支及主干上做大量的测试,而其中FT分支的rebase测试、合流后验证、主干灰度测试等等阶段还包括大量的重复性测试,因此有必要在这些环节加入自动化测试,...apk一致 2.跨应用能力弱 同Robotium 1.只支API>16 2.需要被测控件有 android:hint等属性 1.API4.2以下只支持Selendroid方式 2.一台MAC机只能运行一个...3.3 Eclipse设置 工欲善其事,必先利其器,测试工程使用Eclipse作为IDE,而为了编写代码可以更高效,有必要进行一些提高效率的设置。...editText, String text)指定的editText中输入文本text void typeText(EditText editText, String text)指定的editText...注:uiautomatorviewer只有Android较高版本(4.3及以上)才能直接获取控件id值。 ?

1.9K60

干货二:微信SDK-分享初探-更新中

测试微信分享的时候,如果你直接在Android Studio运行项目,那样使用的肯定是debug的keyStore了,这样分享的时候会被微信拒绝,微信会生成缓存,即便后来你更换了正式的keystore...doc使用文档lib包 你也可以顺便下载官方提供的范例代码以便快速上手。..." /> 4.代码中使用开发工具包即可 我们分别就常用的几个功能做下演示 启动微信客户端 在这里我们需要使用我们之前申请的APP_ID 管理中心-移动应用-your APP -查看 ?...我这里并没有登录~ ---- 分享文本到好友或朋友圈 TIP:记得使用release版本来测试 亲 Code 核心代码: /** * 发送文本到微信 * * @param...此处特别注意图片的大小微信有限制不能超过32k. 这里写代码片 前人才的坑 ----

63220

精品连载丨安卓 App 逆向课程之二逆向神器 frida 的介绍

现在最火爆的又是frida,该框架从Java层hook到Native层hook无所不能,虽然持久化还是要依靠Xposedhookzz等开发框架,但是frida的动态灵活对逆向以及自动化逆向的帮助非常巨大...逆向的工作也是一样的道理,使用frida可以“看到”平时看不到的东西。出于编译型语言的特性,机器码CPU内存执行的过程中,其内部数据的交互跳转,对用户来讲是看不见的。...首先到官网[5]下载一个platform-tools的linux版本——SDK Platform-Tools for Linux,下载解压之后可以直接运行里面的二进制文件,当然也可以把路径加到环境里去。...raw_input() 然后得保证frida-server正在运行,方法可以是kali主机输入frida-ps -U命令,如果安卓机上的进程出现了,则frida-server运行良好。...$ adb logcat |grep ROYSUE 11-26 22:23:29.597 3244 3244 D ROYSUE.Sum: 7 11-26 22:23:29.673 3244 3244

2.4K20

Android 13 SDK更新内容

通知的运行时权限:Android 13新增了运行时权限:android.permission.POST_NOTIFICATIONS。此更改有助于用户专注最重要的通知。(通知的权限拆分的更细了。)...更安全地导出上下文注册的接收器:为了帮助提高运行时接收器的安全性,Android 13 允许您指定您应用中的特定广播接收器是否应被导出以及是否对设备的其他应用可见。...此导出配置Android 13 或更高版本为目标平台的应用中可用,有助于防止一个主要的应用漏洞来源。...音频说明是一种额外的旁白轨道,其中会有一位讲述者在演示过程中进行讲解,描述音频的自然停顿期间屏幕发生的情况。...Marshmallow Android 5.1 22 Lollipop Android 5.0 21 Lollipop 其中平台版本号小于当前,并大于前一个版本号。

1.9K10

Android 10正式版发布,看看都有哪些新特性

Vulkan Vulkan 1.1现在是所有运行Android 10或更高版本的64位设备的必备版本,也是所有32位设备的推荐版本。...我们已经在生态系统中看到了支持Vulkan的强大势头——在运行Android N或更高版本的设备中,超过半数支持Vulkan 1.0.3或更高版本。...在运行时,分代垃圾收集使垃圾收集时间CPU方面更高效,减少jank,并帮助应用程序低端设备更好地运行。...更快更流行 通过Android 10,我们将继续专注更快地将新平台引入设备,与我们的设备制造商高通(Qualcomm)等硅合作伙伴密切合作。...通过谷歌播放系统更新,我们可以在所有运行Android 10或更高版本的设备更新特定的内部组件,而不需要设备制造商进行完整的系统更新。我们希望接下来的几个月里为消费者设备带来第一次更新。

1.8K20

Kotlin 之美

面向对象编程,我们的代码充满着类、成员属性成员方法,这些都是我们对外的契约,如果类成员都是可访问的,意味着我们后续的迭代版本都必须保持兼容,这显然是一项巨大的工程。...EJ 第22条:优先考虑静态成员类 Java 中,我们经常要把一个类定义另外一个类的内部,该类被称之为内部类。内部类有四种:静态成员类、非静态成员类、匿名类和局部类。...通用编程语言 vs DSL 通用编程语言(如 Java、Kotlin、Android等),往往提供了全面的库来帮助开发者开发完整的应用程序,而 DSL 只专注某个领域,比如 SQL 仅支持数据库的相关处理...良好的、优雅的、整洁的、一致的 API 风格是每个优秀开发者的追求,而 DSL 往往具备独特的代码结构一致的代码风格,从 SQL 正则表达式的语法风格便可感受一二。...} } } } } 相比笨重的 XML 布局方式,Anko DSL 显然是更先进更高效的解决方案。

2.9K20

Now in Android | 11 月刊 · 2019

作者 / Chet Haase, Android 开发技术推广工程师 欢迎大家来到 Now in Android 栏目,本栏目将专注为开发者们提供近期值得关注的 Android 开发热点内容。...请务必跟上 Android 10 ? 我们 Android 10 预览版阶段收到了有关 API 功能的重要反馈,并且得以发布最终版之前进行改进。...视图绑定 (View binding) 开发者们讨厌样板代码。我们一生中能输入的字符数量是有限的,为什么要在不必要的语法表达式浪费生命?...) // or even var b = findViewById(R.id.button23) as Button 单独看起来,需要的代码量并不很多,但是当您必须对每个视图都这么处理的时候,这个工作量就不能视若无睹了...△ 使用正确的权限 MediaStore API 来让您的 Android 10 应用访问由其他应用创建的内容 我们准备了详细的文档,涵盖了处理外部存储文件的 API 做法。

60740

AndroidP升级之路

详情见Android官方文档 · 如果设备运行的是 Android 5.1 或更低版本,或者应用的目标 SDK 为 22 或更低:如果您在清单中列出了危险权限,则用户必须在安装应用时授予此权限;如果他们不授予此权限...· 如果设备运行的是 Android 6.0 或更高版本,或者应用的目标 SDK 为 23更高:应用必须在清单中列出权限,并且它必须在运行时请求其需要的每项危险权限。...之前的 Android 版本中,这些权限位于 PHONE 权限组 解决方法: 必要时,申请改权限组的权限。...详情见Android官方文档 · 如果设备运行的是 Android 5.1 或更低版本,或者应用的目标 SDK 为 22 或更低:如果您在清单中列出了危险权限,则用户必须在安装应用时授予此权限;如果他们不授予此权限...· 如果设备运行的是 Android 6.0 或更高版本,或者应用的目标 SDK 为 23更高:应用必须在清单中列出权限,并且它必须在运行时请求其需要的每项危险权限。

1.2K31

第10章 使用 Kotlin 创建 DSL第10章 使用 Kotlin 创建 DSL

10.1 什么是DSL DSL(Domain-Specific Language,领域特定语言)指的是专注特定问题领域的计算机语言。...外部DSL 外部DSL跟通用编程语言(GPL)类似,但是外部DSL更加专注特定领域。 创建外部DSL创建一种通用的编程语言的过程是相似的,它可以是编译型或者解释型的。...它具有形式化的文法,只允许使用良好定义的关键字表达式类型。经过编译的DSL通常不会直接产生可执行的程序(但是它确实可以)。...而实际Kotlin 中,类的对象实例我们也可以像函数那样直接使用 () 操作符来调用这个类的一个 invoke 操作符函数。用代码示例来说明可能会更加简单直接。...REPL 中运行上面的代码,我们发现正确输出了 >>> hello("World") Hello, World 这个特性我们一般情况下在程序代码中很少使用到。

1.3K20

HenCoder Android 自定义 View 1-5: 绘制顺序

基于 EditText它的基础增加了顶部的 Hint Text 底部的字符计数。...当然,除此之外还有其他的很多用法,具体怎么用就取决你的需求、经验想象力了。...需要注意,前景的支持是 Android 6.0(也就是 API 23)才加入的;之前其实也有,不过只支持 FrameLayout,而直到 6.0 才把这个支持放进了 View 类里。...API 去设置(xml 布局文件的 android:background 属性以及 Java 代码的 View.setBackgroundXxx() 方法,这个每个人都用得很 6 了),而不能自定义绘制...4 onDrawForeground() 首先,再说一遍,这个方法是 API 23 才引入的,所以重写这个方法的时候要确认你的 minSdk 达到了 23,不然低版本的手机装上你的软件会没有效果。

76230

Android权限如何禁止以及友好提示用户开通必要权限详解

Android权限 Android安全架构规定:默认情况下,任何应用都没有权限执行对其他应用、操作系统或用户有不利影响的任何操作。...,Android 发出权限请求的方式取决系统版本: 1、如果设备运行的是Android 6.0(Marshmallow,API 23)或更高版本,并且应用的targetSdkVersion是23更高版本...,则应用将在运行时向用户请求权限(Runtime Permissions)。...用户可随时撤销权限,因此应用每次运行时都应该检查自身是否具备所需的权限。...2、如果设备运行的是Android 5.1(LOLLIPOP_MR1,API 22)或更低版本,并且应用的targetSdkVersion是22或更低版本,则系统在用户安装应用时就要求用户授予权限。

98130

Android 3分钟带你入门开发测试

二、测试应用 AndroidJUnit基于JUnit,使得我们既可以JVM运行本地单元测试(local unit tests),也可以Android设备上进行仪器测试(instrumented tests...测试代码的位置取决您要编写的测试的类型。Android Studio 为以下两种测试类型提供了源代码目录(源集): 本地单元测试 位于 module-name/src/test/java/。...这些测试计算机的本地 Java 虚拟机 (JVM) 运行。当您的测试没有 Android 框架依赖项或当您可以模拟 Android 框架依赖项时,可以利用这些测试来尽量缩短执行时间。...这些测试硬件设备或模拟器运行。这些测试有权访问 Instrumentation API,让您可以获取某些信息(例如您要测试的应用的 Context), 并且允许您通过测试代码来控制受测应用。......如图8所示: 这样就会在模拟器或者连接的设备运行测试,你可以在手机屏幕看到被执行的动作(比如在EditText打字)请查看原文视频。

1.1K50
领券