展开

关键词

Android组件安全

组件是一个Android程序至关重要的构建模块。Android有四种不同的应用程序组件:Activity、Service、Content Provider和Broadcast receiver。 组件的安全对于android应用来说不容忽视,下面介绍常用的android组件安全的测试方法。 如何修复 1.如果App的Activity组件不用导出,或者组件配置了intentfilter标签,设置组件的“android:exported”属性为false 2.如果组件需要给外部应用使用,应对组件进行权限控制 如何修复 1.如果应用的Content Provider组件不必要导出,建议显式设置组件的“android:exported”属性为false 2.如果必须要有数据提供给外部应用使用,建议对组件进行权限控制 如何修复 1.如果App的Service组件不需要导出,或者组件配置了intent filter标签,应设置组件的“android:exported”属性为false 2.如果组件要提供给外部应用使用,

1.1K21

android broadcastReceiver组件

> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.receivedemo " android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion ="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.SEND_SMS "/> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <application android android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER

18420
  • 广告
    关闭

    开发者专享福利,1988元优惠券限量发放

    带你体验博客、网盘相册搭建部署、视频渲染、模型训练及语音、文字识别等热门场景。云服务器低至65元/年,GPU15元起

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

    Android组件化专题 - 组件化配置

    微信公众号:Android研究院 demo地址 Android组件化专题,详细讲解组件化的使用及配置,以及实现的原理。 本文章讲解了组件化的由来及配置,下期讲解页面路由跳转及路由原理与apt 1. 在Android的领域模块化具体的实施方法为:组件化和插件化。 每个组件都有可能提供给其他组件使用,主项目与组件组件组件之间的数据传递 UI跳转。 组件的生命周期。组件加载、卸载和降维的生命周期 集成调试。在开发阶段如何做到按需的编译组件? 配置,调用组件 apply plugin: 'com.android.application' def config = rootProject.ext.androidConfig def appIdConfig Android组件化专题: 组件化配置 APT实战 路由框架原理 模块间的业务通信

    41930

    Android组件化专题 - 组件化配置

    Android组件化专题,详细讲解组件化的使用及配置,以及实现的原理。 本文章讲解了组件化的由来及配置,下期讲解页面路由跳转及路由原理与apt 1. 在Android的领域模块化具体的实施方法为:组件化和插件化。 组件化和插件化的区别 一套完整的插件化或组件化都必须能够实现单独调试、集成编译、数据传输、UI 跳转、生命周期和代码边界这六大功能。 每个组件都有可能提供给其他组件使用,主项目与组件组件组件之间的数据传递 UI跳转。 组件的生命周期。组件加载、卸载和降维的生命周期 集成调试。在开发阶段如何做到按需的编译组件? 实现组件化的第一步 整理代码拆分结构 ------------------ 实现组件化的第一步首先是,整理项目工程结构,明确哪些功能是可以作为组件。 配置,调用组件 apply plugin: 'com.android.application' def config = rootProject.ext.androidConfig def appIdConfig

    19530

    Android组件化架构

    第三方总线框架 EventBus EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。 ARouter是阿里巴巴Android技术团队开源的一款用于帮助 Android App 进行组件化改造的路由框架,支持模块间的路由、通信、解耦。 Android原生存储方式有五种,在组件化中也完全通用。 组件化资源冲突 AndroidMainfest冲突 AndroidMainfest中引用了Application的app:name属性,冲突时使用tools:replace="android:name" 组件化混淆 Android Studio使用ProGuard进行混淆,它是一个压缩、优化和混淆Java字节码文件的工具,可以删除无用的类和注释,最大程度优化字节码文件。

    9810

    Android Content provider 组件

    Content Provider 属于Android应用程序的组件之一,作为应用程序之间唯一的共享数据的途径,Content Provider 主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的借口 ; import android.content.ContentUris; import android.content.ContentValues; import android.database.Cursor ; import android.net.Uri; import android.os.Bundle; import android.util.Log; import com.amaker.ch10 > <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.amaker.ch10 .app" android:versionCode="1" android:versionName="1.0"> <application android:icon

    10940

    Android组件化搭建

    组件化开发 组件化开发这个名词并不陌生,但真正什么才是组件化开发,大家在网上搜可以查看很多相应的文章,我概念中,模块化的开发,就是把很多模块独立出来,基础模块,业务模块等。 在以往的开发中,我并未真正的去使用组件化开发,直到加入新的团队可以说是开启新世界的大门,给我的感觉,组件化开发,贼爽,为什么爽? Android studio: ?

    52270

    Android Service组件(1)

    下面通过具体事例讲解android的service组件。 1.创建android工程 在Eclipse中创建android工程 android_service_one 2.创建Service 在android工程中,创建包com.example.service 活动组件中调用刚刚建立的服务,调用之前需要在AndroidManifest.xml中对该服务进行配置。 通过<service></service>来配置服务组件。 5 import android.os.Binder; 6 import android.os.IBinder; 7 import android.util.Log; 8 9 /* 10 *

    379100

    Android GridView组件的使用

    设置列宽为90dp,这样当我们的numColumns设置为auto_fit时,Android就会自动计算我们手机屏幕的大小以决定每一行展示几个元素。这是很方便。 android:horizontalSpacing定义列之间的间隔,android:verticalSpacing定义行之间的间隔。 android:stretchMode设置为columnWidth是意味着根据列宽自动缩放。

    16930

    Android-组件化开发

    我个人认为一般有三个地方需要变动: 组件或模块的build.gradle 中的apply plugin: 'com.android.library' 变 apply plugin: 'com.android.application 这里在提个醒默认情况下我们的applicationId值是我们的包名一致 于是第三个问题也解决了,我们还是在对应的build.gradle文件中的android中增加以下代码: ? ARoute的介绍请参考我之前的文章Android-ARouter 还是以项目为例: 跳转调用其它组件(这里主要是分享组件) 比如我们要从首页模块调用x5组件,那么请看相关代码: 首页相关代码,再点击跳转 /** * 退出应用 */ public void exitApp() { activityManage.finishAll(); android.os.Process.killProcess (android.os.Process.myPid()); System.exit(0); } /** * 初始化路由 */ private

    1.1K40

    Android界面组件基本用法

    为ImageButton指定android:text属性没用,不会显示文字 可以指定android:background为按钮增加背景图片,但这图片是固定的 可以指定android:src为图片按钮增加图片属性 该属性可以有如下的属性值: @android:style/Widget.ProgressBar.Horizontal 水平进度条 @android:style/Widget.ProgressBar.Inverse 不断跳跃、旋转画面的大进度条 @android:style/Widget.ProgressBar.Small 小进度条 @android:style/Widget.ProgressBar.Small.Inverse 在界面中定义TabHost组件,并为该组件定义该选项卡的内容 B. Activity应该继承TabActivity C. 另外需要注意的是TabHost、TabWidget、FrameLayout三个组件android:id必须使用系统默认的名称,而不能自己随意定义,否则会出错。

    54620

    057 组件化的Android

    TODO:快速介绍 时间Android组件的主要支撑。 在未知森林里的有知涯上的一棵大树下,兔子在和松鼠小弟对话: 兔子有板有眼的说: Android中一切都是组件, 程序是由组件组成,比如四大组件:Activity Service BroadcastReceiver 松鼠: 是这样啊, 那么俺有几个问题,关于组件: 谁来负责组件的启动和关闭? 谁来维护组件的状态? 谁来管理组件运行时所需要的进程? 组件之间如何进行通信? 兔子说: “这个问题问的好。 Android系统中,构建了有以下的几个模块来支持解决这个问题: ActivityManager Service Binder LowMemory Killer 松鼠说: “这三个呀,他们分别是有什么功能呢 5.在Linux内核中,子进程的oom_adj值等于父进程的oom_adj,也就是说,Android里面的Native进程的oom_adj值与fork它的进程的oom_adj值一样。

    34130

    如何测试Android组件

    Android组件化调研——知己知彼 基于倒推的思路,要评估测试策略,本质上我们需要了解测试回归范围,而测试回归范围依托于开发改动的影响范围,但若要与开发沟通改动和影响范围,我们最好先了解下Android 提到“Android组件化”这一名词,第一时间可能会想到以下这些问题:什么是Android组件化?为什么要进行Android组件化?Android组件化有什么好处? 想要了解Android组件化,我们需要进行调研学习。 Android组件化 1、Android组件化概念 组件化大致可分为功能组件化和业务组件化。 4、Android组件化常见问题及需关注点 1)共享数据资源/方法调用问题; 2)组件之间的调用和通信问题; 3)组件之间的资源名冲突问题; Android组件化回归范围确定——谋定后动 在对Android 将调研的有效信息与沟通后的信息进行整合,整理出最终的Android组件化改动范围和影响范围。

    1K40

    Android组件化-经典MVP

    Android MVP是安卓开发中一个经典的话题,当项目较大、参与的开发人员较多,MVP的优势就体现出来了。 系列文章 Android组件化-基础框架搭建 Android组件化-组件间通信BRouter Android组件化-风格统一&主题变色 Android组件化-MVP设计模式 一、经典的MVP 经典的意思 ,就是又老又香 ^-^ 1.1 一句话MVP 提到Android MVP(Model-View-Presenter)就会想到MVC(Model-View-Controller),C就是Web开发中经常提到的 Controller,P则是Android中用来分离Activity逻辑与界面的Presenter。 cancelHud(); } toast():Toast封装,用于在Activity、Fragment或Presenter中弹出用户提示 findViewById():主要用于fragment中获取元素使用(组件化开发使用

    52220

    Android架构组件Room指南

    一、简介 Room是Google推出的Android架构组件库中的数据持久化组件库, 也可以说是在SQLite上实现的一套ORM解决方案。 ); 这里定义的POJO也支持使用@Embedded 2.3 查询结果的返回类型 Room中查询操作除了返回POJO对象及其List以外, 还支持: LiveData<T : LiveData是架构组件库中提供的另一个组件 Maybe<T Single<T : Room 支持返回RxJava2 的Flowablbe, Maybe和Single对象,对于使用RxJava的项目可以很好的衔接, 但需要在gradle添加该依赖:android.arch.persistence.room 更简单的使用方式 省略了许多重复代码 能在编译时校验sql语句的正确性 数据库相关的代码分为Entity, DAO, Database三个部分,结构清晰 简单安全的数据库升级方案 总结 以上所述是小编给大家介绍的Android 架构组件Room指南,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

    21310

    Android ListView组件的使用

    ListView是Android开发中非常常用的组件,ListView可以用来显示一个列表,我们可以对这个列表操作,比如点击列表要做什么等等。这篇文章主要通过一个示例来展示ListView的用法。 一、不使用xml布局文件创建一个ListView 创建一个名称为HelloListView的Android工程,可以参见 Android 第一个Android应用,HelloWorld 要使用ListView Android已经给我们实现了一些常用的适配器,如刚刚使用的数组器,还有简单适配器等,如果这些不能满足,我们还可以通过自定义适配器来实现自己的适配器。 > 这里要注意的是我们设置ListView的id为”@android:id/list”,意思是我们引用Android已经为我们定义好的一个id,名字是list,如果你不定义成这样,这个ListView String[] COUNTRIES=new String[]{“中国”,“俄罗斯”,“英国”,“法国”}; } 比上个例子只是多了setContentView(R.layout.main);是为了让Android

    39510

    WorkManager _Android新架构组件

    5月8号, I/O大会上推出了Architeture新组件WorkManager。 由于Android版本的不断更新,后台任务的处理变得越来越复杂。 1 WorkManager简介 使用场景总结::当应用完全退出后,需要管理要在后台工作的任务 On the last Google I/O Android framework, the team announced 4.支持Android所有版本 WorkManager支持Android API 14及以上 WorkManager根据设备API级别和应用程序状态等因素选择适当的方式来运行你的任务。 androidx.work 包中,但目前依赖于 Support Library 27.1 以及相关的 Arch组件版本,将来会发布带有 AndroidX 依赖项的WorkManager版本。 https://android.jlelse.eu/exploring-jetpack-scheduling-tasks-with-work-manager-fba20d7c69bf

    77620

    Android组件化架构实践

    然而随着Android 9.0上私有API的限制,插件化受到了极大的限制,主流方案慢慢向稳定、务实的的组件化方案演进。 ? 业界提出了类似于Android中四大组件之一ServiceManager的处理方法--“接口下沉”,也就是在基础组件层新建一个ServiceManager,并提供通用服务接口IService,在需要暴露服务的地方实现该接口并手动 由于Android项目是通过plugin来识别的: apply plugin:'com.android.application' // 主module apply plugin: 'com.android.library 如果只是简单的跳转不涉及到数据的获取,那么路由组件是可以胜任的,因为Android内置的Intent机制本来就是跨进程的。 组件化框架设计.png ? Android高级技术大纲

    1.9K20

    Android组件化问题思考

    configurations.all { resolutionStrategy { force "com.android.support:appcompat-v7:28.0.0" :support-v4:${androidSupportV4Version}", androidSupportV7 : "com.android.support: :compiler:${androidLifecycleVersion}", androidLifecycleExtensions:"android.arch.lifecycle :extensions:${androidLifecycleVersion}", recyclerview : "com.android.support: recyclerview-v7:${recyclerviewVersion}", androidSupportAnnotations: "com.android.support:

    55850

    android组件GridView简单使用

    > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http: --定义一个GridView组件--> <GridView android:id="@+id/grid01" android:layout_width="match_parent " android:layout_height="wrap_content" android:horizontalSpacing="1pt" android --定义一个ImageView组件--> <ImageView android:id="@+id/image_view" android:layout_width > <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/image"

    12910

    扫码关注腾讯云开发者

    领取腾讯云代金券