android架构

Android组件内核之Activity调用栈分析(一)

那年仲夏 提交于 2019-12-06 00:16:14
阿里P7Android高级架构进阶视频免费学习请点击: https://space.bilibili.com/474380680 导语 我们陈述一下Activity,Activity是整个应用用户交互的核心组件,了解Activity的工作模式,生命周期和管理方式,是了解Android的基础。 主要内容 Activity简介 Android任务栈简介 AndroidMainifest启动模式 Intent Flag启动模式 清空任务栈 Activity任务栈使用 具体内容 Activity简介 Activity作为四大组建出现平率最高的组件,我们在哪里都能看到他,就让我们一起先来了解一下他的生命周期。 起源 Activity是用户交互的第一接口,他提供了一个用户完成指令的窗口,当开发者创建Activity之后,通过调用setContentView来指定一个窗口界面,并以此为基础,提供给用户交互的接口,系统采用Activity栈的方式来管理Activity。 Activity形态 Activity一个最大的特点就是拥有多种形态,他可以在多种形态中自由切换,以此来控制自己的生命周期。 Activity/Running:这个时候,Activity处于Activity栈的最顶层,可见,并与用户进行交互。 Paused:Activity失去焦点

高级UI晋升之自定义View实战(八)

我是研究僧i 提交于 2019-12-06 00:15:30
更多Android高级架构进阶视频学习请点击: https://space.bilibili.com/474380680 本篇文章自定义流式布局来进行介绍: 一般常见的流式布局由两种,一种是横向的个数固定,列表按照竖向进行排列。另一种是横向先排,横向排满之后再竖向排列。而本框架实现是以第二种方式进行处理。 ​ 那么这个框架到底该如何使用呢? 一、引入资源 这里提供两种方式,引入资源文件。 1、在build.gradle文件中添加以下代码: allprojects { repositories { maven { url 'https://jitpack.io' } } } dependencies { compile 'com.github.zrunker:ZFlowLayout:v1.0' } 2、在maven文件中添加以下代码: <repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories> <dependency> <groupId>com.github.zrunker</groupId> <artifactId>ZFlowLayout</artifactId> <version>v1.0</version> <

高级UI晋升之自定义View实战(九)

孤人 提交于 2019-12-06 00:14:58
更多Android高级架构进阶视频学习请点击: https://space.bilibili.com/474380680 1.前言: 本文采用自定义view的方法来实现一键清除的动画这个功能。 2.效果图: ​ 3.具体详细代码 3.1 \res\values\attrs_on_key_clear_circle_view.xml <resources> <declare-styleable name="OnKeyClearCircleView"> <attr name="innerCircleColor" format="color" /> <attr name="outCircleColor" format="color" /> <attr name="innerCircleRadius" format="integer" /> <attr name="progress" format="integer" /> <attr name="textSize" format="dimension" /> <attr name="outArcwidth" format="dimension" /> </declare-styleable> </resources> 对属性的说明: 一般,我们在res/values文件夹中添加attrs.xml文件来放置,其实

高级UI晋升之常用View(三)中篇

安稳与你 提交于 2019-12-06 00:13:59
更多Android高级架构进阶视频学习请点击: https://space.bilibili.com/474380680 本篇文章将从ViewPager来介绍常用View: 文章目录 一、简介 二、基本使用 xml引用 page布局 创建适配器 设置适配器 标题栏 5.1. xml引用 5.2. 重写PagerAdapter的getTitle()方法 翻页动画 6.1. DepthPageTransformer 6.2. ZoomOutPageTransformer 6.3. 自定义动画 6.4. 开源框架ViewPagerTransforms 翻页监听 7.1. 设置方法 7.2. 翻页监听接口 7.3. 重写方法 7.4. 使用 三、与Fragment结合使用 创建Fragment及相应的xml布局 给Viewpager设置数据和适配器 四、实现轮播图效果 特点 使用介绍 2.1. 导包 + 权限 2.2. xml引用 2.3. 创建图片加载器 2.4. 设置数据 五、实现画廊效果 viewpager布局 pager布局 Adapter vp设置adapter 问题 一、简介 Viewpager,视图翻页工具,提供了多页面切换的效果。Android 3.0后引入的一个UI控件,位于v4包中。低版本使用需要导入v4包,但是现在我们开发的APP一般不再兼容3.0及以下的系统版本

高级UI晋升之常用View(三)下篇

六眼飞鱼酱① 提交于 2019-12-06 00:13:46
更多Android高级架构进阶视频学习请点击: https://space.bilibili.com/474380680 本篇文章将从WebView来介绍常用View: 一、WebView介绍 Android WebView在Android平台上是一个特殊的View, 基于webkit引擎、展现web页面的控件,这个类可以被用来在你的app中仅仅显示一张在线的网页,还可以用来开发浏览器。WebView内部实现是采用渲染引擎来展示view的内容,提供网页前进后退,网页放大,缩小,搜索。Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。 现在很多APP都内置了Web网页,比如说很多电商平台,淘宝、京东、聚划算等等。WebView比较灵活,不需要升级客户端,只需要修改网页代码即可。一些经常变化的页面可以用WebView这种方式去加载网页。例如中秋节跟国庆节打开的页面不一样,如果是用WebView显示的话,只修改修改html页面就行,而不需要升级客户端。 Webview功能强大,可以直接使用html文件(本地sdcard/assets目录),还可以直接加载url,使用JavaScript可以html跟原生APP互调。 二、加载html四种方式 webView.loadUrl("http://139.196.35.30:8080

140款Android开源优秀项目源码

耗尽温柔 提交于 2019-12-05 23:18:10
BeautifulRefreshLayout-漂亮的美食下拉刷新 https://github.com/android-cjj/BeautifulRefreshLayout/tree/BeautifulRefreshForFood Material Design-动画风格的选项卡tab切换功能 https://github.com/neokree/MaterialTabs TwinklingRefreshLayout-支持下拉刷新和上拉加载的RefreshLayout,自带越界回弹效果 https://github.com/lcodecorex/TwinklingRefreshLayout DialogLoadding-Android开发之常用的loading等待效果实现,仿微博等待动画。两种实现方式详解 https://github.com/QQ986945193/DialogLoadding owspace-完整高仿单读的APP,模仿得非常精美,基于MVP+Dagger2+Retrofit2.0+Rxjava https://github.com/babylikebird/owspace GSYVideoPlayer-android视频播放器,支持基本的拖动,声音、亮度调节,支持边播边缓存 https://github.com/CarGuo/GSYVideoPlayer

深入理解JAVA虚拟机原理之Dalvik虚拟机(三)

我的未来我决定 提交于 2019-12-05 22:38:58
更多Android高级架构进阶视频学习请点击: https://space.bilibili.com/474380680 本文是Android虚拟机系列文章的第三篇,专门介绍Andorid系统上曾经使用过的Dalvik虚拟机。 也许有人会问,既然Dalvik虚拟机都已经被废弃了,为什么我们还要了解它呢?出于下面的原因,让我觉得还是有必要了解一下Dalvik虚拟机的: Dalvik留下的很多机制在现在的Android系统是一样适用的,例如Dalvik指令,dex文件 并非每个人都是在最新版本的Android系统上工作 了解一项技术曾经的历史和演进过程,有助于增加对于现在状态的理解 Dalvik是Google专门为Android操作系统开发的虚拟机。它支持.dex(即“Dalvik Executable”)格式的Java应用程序的运行。.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 Dalvik由Dan Bornstein编写,名字来源于他的祖先曾经居住过的小渔村达尔维克(Dalvík),位于冰岛。 栈 VS 寄存器 大多数虚拟机都是基于堆栈架构的,例如前面提到的HotSpot JVM。然而Dalvik虚拟机却恰好不是,它是基于寄存器架构的虚拟机。 对于基于栈的虚拟机来说,每一个运行时的线程,都有一个独立的栈。栈中记录了方法调用的历史

Android Studio奇淫巧技

杀马特。学长 韩版系。学妹 提交于 2019-12-05 20:00:45
目录 3.1 Android Studio使用初探 Project面板 Stucture面板 Android Monitor Keymap Tip of the Day 快速查找 Search Action 演示模式 3.2 Android Studio使用进阶 操作与导航 快速重构 代码模板 内置模板 自定义代码注释模板 代码分析 在Android Studio中进行版本管理 3.3 Android Studio新功能 项目模板 ThemeEditor Image Asset&&Vector Asset Android Monitor Instant Run Productivity Guide 3.4 Android Studio插件 Ignore 自动生成代码类插件 主题插件 3.5 Android Studio资源网站 Android Studio中文社区 Android Studio问答社区 3.1 Android Studio使用初探 本人感觉这章对刚使用 Android Studio的初学者来说很有用,里面很多技巧需要自己慢慢摸索,建议养成使用快捷键的习惯,久而久之,会给你的编程带来极大的效率。本章作者主要以Mac的快捷键来介绍的,文章最后会给出快捷键附录 Project面板 在Android Studio最左边可以找到Project标签,这里是开发者管理项目的地方

Android RecyclerView 使用完全解析 体验艺术般的控件

我的未来我决定 提交于 2019-12-05 16:32:40
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45059587 ; 本文出自: 【张鸿洋的博客】 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:ListView、GridView。 那么有了ListView、GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。 你想要控制其显示的方式,请通过布局管理器LayoutManager 你想要控制Item间的间隔(可绘制),请通过ItemDecoration 你想要控制Item增删的动画,请通过ItemAnimator 你想要控制点击、长按事件,请自己写(擦,这点尼玛。) 基本使用 鉴于我们对于ListView的使用特别的熟悉,对比下RecyclerView的使用代码: mRecyclerView = findView(R.id.id_recyclerview);/

fir.im Weekly

寵の児 提交于 2019-12-05 14:47:06
本期 fir.im Weekly 收集的热度资源,大部分关于Android、iOS 开发工具、源码和脑洞大开的 UI 动画,希望给你带来更多的工作创意与灵感。 ##盘点国内程序员不常用的热门iOS第三方库 @ios122 的这份整理综合了 github 上各个项目的关注度与具体使用情况,涵盖功能,UI,数据库,自动化测试,编程工具等类型。看完,还敢自称”精通iOS开发”吗? :-D 文章 传送门 . ##Objective-C与Swift、Android、Java的转化工具 关于Objective-C与Swift、Android、Java的代码转化, @iOS程序犭袁 分享了 5 个开发工具: OC转Swift 工具:地址 iSwift在线版(含Mac客户端) ; OC转Android和Swift工具:地址 My App Converter ; Jave转OC工具:地址点 这里 ,Demo 在此 ; OC转Swift的Mac工具:代码开源在 Github 上(虽然需要手动修正许多,不过效率也提升了不少); 在线OC转 Swift工具,地址 在此 。 ##给 Android 开发者的 RxJava 详解 @扔物线 同学在 匠心写作 发布的新文: 《给 Android 开发者的 RxJava 详解》 ,深入浅出,写的超赞,每一个 Android 开发者都应该读一读! #