android框架

Android组件化开发-----页面路由(ARouter)

两盒软妹~` 提交于 2020-02-20 06:44:26
平时开发中,我们经常用到页面跳转功能。之前我一直使用Intent过跳转 Intent intent = new Intent(A.this, B.class); intent.putExtra("key","value"); startActivity(intent);最近看到有大牛使用ARouter,专门了解一下,弄个简单入门的demo 下面的文字粘自Alibaba Open Source A android router middleware that help app navigating to activities and custom services. 支持直接解析标准URL进行跳转,并自动注入参数到目标页面中 支持多模块工程使用 支持添加多个拦截器,自定义拦截顺序 支持依赖注入,可单独作为依赖注入框架使用 支持InstantRun 支持MultiDex(Google方案) 映射关系按组分类、多级管理,按需初始化 支持用户指定全局降级与局部降级策略 页面、拦截器、服务等组件均自动注册到框架 支持多种方式配置转场动画 支持获取Fragment 完全支持Kotlin以及混编(配置见文末 其他#5) 多个module间解耦,组件化开发,跳转同一管理 使用步骤: 1. 配置build.gradle: defaultConfig 中添加 //arouter

RobotFramework自动化测试框架-移动手机自动化测试AppiumLibrary介绍

别等时光非礼了梦想. 提交于 2020-02-18 21:00:04
在使用AppiumLibrary库时,需要预先安装好Appium自动化工具,Appium官网地址为:http://appium.io/ Appium的GitHub地址为: https://github.com/appium Appium的下载地址: http://appium.io/downloads.html ,可以下载最新的安装版本和响应的Library库 Appium的相关介绍文档:http://appium.io/slate/cn/master/ Appium的RobotFramework-appiumlibrary地址:https://github.com/serhatbolsu/robotframework-appiumlibrary,library的安装方式,可以通过pip在线安装,也可以使用下载好library库后,采用python setup.py install的方式来进行安装, 1) 使用pip安装 pip install robotframework-appiumlibrary 2) 使用setup.py安装 git clone https://github.com/jollychang/robotframework-appiumlibrary.git cd robotframework-appiumlibrary python setup.py

基于Eclipse Xposed模块开发

痞子三分冷 提交于 2020-02-18 06:53:12
0x01 xposed hook原理 0x02 创建Android工程 0x03 引入Xposed-Framework-API 在Android项目中新建一个lib文件夹,将api-82-sources.jar、api-82.jar放入该文件夹中;右键api-xx.jar文件 api-XX.jar 选择 Build Path -> Add to Build Path API下载:https://jcenter.bintray.com/de/robv/android/xposed/api/ 参考:https://github.com/rovo89/XposedBridge/wiki/Using-the-Xposed-Framework-API 0x04 修改AndroidManifest.xml 在Application标签中按如下添加3个 meta-data标签,xposedminversion 根据上一步导入api版本号来写 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="de.robv.android.xposed.mods.tutorial" android:versionCode="1"

Android开发-目录结构详解

无人久伴 提交于 2020-02-18 04:49:49
Android开发-目录结构详解 前言 图表总览 清单文件(AndroidManifest) 全局及Activity属性 BroadcastReceive Service ContentProvider Java 绘图资源(Drawable) 布局资源(Layout) 图像资源(Mipmap) 键值资源(Values) 构建仓库(build.gradle: Project) 构建模型(build.gradle: Module) 前言 学习Android开发,第一步就是要了解其目录结构,了解了其目录结构才可以快速进行开发,减少不必要的错误产生 图表总览 以下列出的是最常用的文件夹: 清单文件(AndroidManifest) 清单文件主要用于设置应用名称、图标、主题和注册四大组件(Activity、BroadcastReceive、Service和ContentProvider) 全局及Activity属性 Activity(活动) 是一个Android的应用组件,它提供屏幕进行 交互 。每个Activity都会获得一个用于绘制其用户界面的窗口,窗口可以充满哦屏幕也可以小于屏幕并浮动在其他窗口之上 < ? xml version = "1.0" encoding = "utf-8" ? > < manifest xmlns : android = "http://schemas

IPC框架分析 Binder,Service,Service manager

核能气质少年 提交于 2020-02-17 23:25:03
http://blog.csdn.net/maxleng/article/details/5490770 IPC框架分析 Binder,Service,Service manager 我首先从宏观的角度观察Binder,Service,Service Manager,并阐述各自的概念。从Linux的概念空间中,Android的设计Activity托管在不同的的进程,Service也都是托管在不同的进程,不同进程间的Activity,Service之间要交换数据属于IPC。Binder就是为了Activity通讯而设计的一个轻量级的IPC框架。 在代码分析中,我发现Android中只是把Binder理解成进程间通讯的实现,有点狭隘,而是应该站在公共对象请求代理这个高度来理解Binder,Service的概念,这样我们就会看到不一样的格局,从这个高度来理解设计意图,我们才会对Android中的一些天才想法感到惊奇。从Android的外特性概念空间中,我们看不到进程的概念,而是Activity,Service,AIDL,INTENT。一般的如果我作为设计者,在我们的根深蒂固的想法中,这些都是如下的C/S架构,客户端和服务端直接通过Binder交互数据,打开Binder写入数据,通过Binder读取数据,通讯就可以完成了。 该注意到Android的概念中,Binder是一个很低层的概念

Android Camera基本架构介绍

狂风中的少年 提交于 2020-02-17 06:00:04
之前一直接触的是老的camera架构,这里介绍下最新的架构: 首先看下最新的架构图: Android 相机架构 应用框架: 应用代码位于应用框架级别,它使用 Camera 2 API 与相机硬件进行交互。在内部,这些代码会调用相应的 Binder 接口,以访问与相机互动的原生代码。 AIDL: 与 CameraService 关联的 Binder 接口可在 frameworks/av/camera/aidl/android/hardware 中找到。生成的代码会调用较低级别的原生代码以获取对实体相机的访问权限,并返回用于在框架级别创建 CameraDevice 并最终创建 CameraCaptureSession 对象的数据。 原生框架: 此框架位于 frameworks/av/ 中,并提供相当于 CameraDevice 和 CameraCaptureSession 类的原生类。 Binder IPC 接口: IPC binder 接口用于实现跨越进程边界的通信。调用相机服务的若干个相机 Binder 类位于frameworks/av/camera/camera/aidl/android/hardware 目录中。 ICameraService 是相机服务的接口;ICameraDeviceUser 是已打开的特定相机设备的接口; ICameraServiceListener 和

Android图片加载框架之Picasso

喜欢而已 提交于 2020-02-16 21:29:54
相信做Android开发的对Square公司一定不会陌生,大名鼎鼎的网络请求框架Retrofit就来源于它,今天学习的是该公司出品的图片加载框架Picasso。 项目地址 https://github.com/square/picasso 使用说明 http://square.github.io/picasso/ Gradle: compile 'com.squareup.picasso:picasso:2.5.2' ProGard混淆配置: -dontwarn com.squareup.okhttp.** 简介 图片为Android应用增加必要的背景和视觉,Picasso使得你可以在应用中轻而易举地实现图片加载,只需一行代码! Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); 许多在Android上图片加载常见的的陷阱都被Picasso自动的处理了: 在 adaper 中处理 ImageView 循环和取消下载 对复杂图像进行转换,使其占用最小的内存 自动的内存和磁盘缓存 特性 在Adapter中下载 自动检测Adapter重用并取消之前的下载 @Override public void getView(int position, View convertView,

墙裂推荐!2020Android阿里&腾讯&百度&字节&美团&网易&爱奇艺校招面试汇总

我的未来我决定 提交于 2020-02-15 23:49:21
作者: Hengtao24 链接: https://www.jianshu.com/p/7a8a10f541c8 1 基本情况 2020届硕士生,Android开发岗 此文主要是2019年年初春招实习的面试和正式校招面试经验汇总,最终校招拿到了腾讯,百度,美团,网易等offer 主要包括阿里4面,腾讯实习4面和校招4面,字节3面,百度3面,美团3面,网易3面,爱奇艺3面 2 阿里 阿里面试很喜欢问源码,优化,原理,涉及到的范围很广,还是具有一定挑战性的,以下包括阿里实习二面和校招二面,笔者都止步于二面,阿里可以去找找内推(笔者实习投递时笔试做的差,本来以为挂了,但可能因为找的内推所以还是给我面试了,后续又加了一轮笔试,校招时也是找的内推直接面试了没有笔试)。 阿里实习一面 源码: Handler消息机制(具体涉及到的类 & 细节);HashMap(数据结构 & put操作具体过程,扩容时间复杂度);ArrayMap原理 JVM: Java内存区域划分,堆栈的区别,哪些区域线程私有,哪些共享;栈帧,Java方法调用时的入栈出栈操作 并发访问: volatile原理及作用,是否具有原子性;synchronized:修饰代码块/方法/对象的区别?(单例模式DCL会不会失效?);Lock的原理 Android: Activity生命周期(具体执行过程,涉及到哪些类?);ANR(什么是ANR

webapp 移动端的适配

拜拜、爱过 提交于 2020-02-15 00:45:11
本篇文章为转载 http://www.cnblogs.com/plums/archive/2013/01/10/WebApp-fixed-width-layout-of-multi-terminal-adapter-since.html 本文中所指 Mobile WebApp 是指运行在 Mobile WebKit 浏览器上的 WebApp 。本篇文章讲解如何像传统PC网页开发一样,使用定宽布局开发WebApp,并让WebApp适应多终端设备: 不使用Mobile UI框架 不使用响应式布局 适配多终端,适配WebApp布局宽度为终端设备分辨率宽度 一套CSS代码,一套布局方案 可以实现复杂的UI界面 支持iPhone、Android 闲扯 目前主流的 WebApp UI 开发框架有 jQuery Mobile 、 Sencha Touch 等,这些框架在处理不同设备分辨率的适配时,采用响应式布局和基于百分比的形式显示 UI 组件, UI 可以根据设备的不同尺寸进行呈现 。 虽然 jQuery Mobile 等框架很强大,但是在开发 UI 复杂的界面时,还是力不从心:百分比设置宽度不能适应复杂的布局要求。这时就需要固定宽度布局的开发方式了,但是网上的资料都在讲述“定宽网页设计,并不适用于多终端兼容的情况”, jQuery Mobile 等框架也没有提供良好的解决方案

Android动画总结

牧云@^-^@ 提交于 2020-02-14 06:04:00
目录 1.Android动画分几类 2.帧动画 2.1利用XML实现动画 2.1.1定义动画文件rocket_thrust.xml 2.1.2将AnimationDrawable设置为ImageView背景 2.1.3获取动画开始或停止 2.2利用Java代码实现动画 2.2.1生成帧动画 2.2.2动画开始或停止 3.补间动画 3.1XML配置 3.2Java代码实现动画 3.3自定义补间动画 4.属性动画 4.1属性动画与视图动画的区别 4.2属性动画介绍 1.Android动画分几类 1.1帧动画 1.2补间动画 1.3属性动画 2.帧动画 帧动画实现原理:接连加载一系列可绘制资源(图片)以创建动画,然后像一卷胶卷一样按顺序播放,利用人眼“视觉暂留”的原理,实现动画。 2.1利用XML实现动画 定义动画的 XML 文件位于 Android 项目的 res/drawable/ 目录中; XML 文件包含一个 <animation-list> 元素(用作根节点)和一系列子 <item> 节点(每个节点定义一个帧):帧和帧时长的可绘制资源。以下是可绘制动画的 XML 文件示例: <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true">