在一个Android应用程序中,用户界面通过View和ViewGroup对象构建.所有View的子类成为"Widget",所有ViewGroup的子类成为"Layout".View和ViewGroup之间采用了组合设计模式.ViewGroup作为布局容器类的最上层,布局容器里面又可以有View和ViewGroup. ViewGroup和View的组合关系如下图: ViewGroup和View的继承关系如下图: 当启动Activity的时候,有一个setContent…
(来源于ThinkPHP) Android是Google公司开发的基于Linux平台的开源手机操作系统,它包括操作系统.中间件.用户界面和应用程序,而且不存在任何以往阻碍移 动产业创新的专利权障碍,并由Google公司于2007年11月5日正式发布.同时,Google公司组建了一个开放手机联盟,这个联盟由中国移动.摩 托罗拉.高通.宏达电和T-Mobile等在内的全球30多家技术和无线应用的领军企业组成,Google通过与运营商.设备制造商.开发商和其他有关各 方结成深层次的合作伙伴关系,希望借…
Android Activity动画属性简介 在Android当中 设置activity的动画 需要复写 android:windowAnimationStyle这个属性 我们自定义一个动画样式来继承 @android:style/Animation(Base style for animations.  This style specifies no animations) 这个样式是Android操作系统提供的 没用动画的样式 我们定义其中的4个属性还设置我们想要的效果 android:ac…
Android Service 通知Activity更新界面的方法研究   Android的最重要的组件式service和activity,那么在使用的过程中,我们最常遇到的问题是他们之间的通信问题.当然今天我们不研究底层的实现问题,我从上层的应用的如何使用的角度进行研究. 首先Activity调用Service 这个是比较基础的,它有两种常见的方法: 第一, 通过Intent,这个比较简单了,可以指定package name和class name的方式来调用,Intent.setClassNa…
从纯sdk及framwork的角度看,android中界面框架相关的类型有:Window,WindowManager,View等.下面就以这几个类为出发点来概览下安卓开发的"界面架构". Window 该类接触不多,和它密切相关的View类就比较熟悉了. Window和View的关系 View是可视界面上的一个矩形区域,它显示内容并接收各种交互事件.所有View形成一个ViewTree这样的结构,对应任何一个界面通过sdk自带的hierarchyviewer工具就可以看到所有View对…
一.职能简介 Activity Activity并不负责视图控制,它只是控制生命周期和处理事件.真正控制视图的是Window.一个Activity包含了一个Window,Window才是真正代表一个窗口.Activity就像一个控制器,统筹视图的添加与显示,以及通过其他回调方法,来与Window.以及View进行交互. Window Window是视图的承载器,内部持有一个 DecorView,而这个DecorView才是 view 的根布局.Window是一个抽象类,实际在Activity中持…
本章继续讲述在android界面设计中相关的知识点.介绍内容包括BroadcastReceiver(广播),Service(服务),Widget(小部件),WebView(网页加载控件). 1.BroadcastReceiver (1)广播简介 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件. 广播接收者( BroadcastReceiver )用于接收广播 I…
http://www.cnblogs.com/forlina/archive/2011/06/29/2093332.html 引言 通过前面两篇: Android 开发之旅:环境搭建及HelloWorld Android 开发之旅:HelloWorld项目的目录结构 我 们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪 些文件夹和文件及相应的作用.本篇将站在顶级的高度——架构,来看android.我开…
最近我在尝试让 Google 的 IO App 变得可单元测试,我这样做的其中一个原因是验证 Freeman 和 Pryce 在引用中对单元测试的总结.即使现在我还是没有把 IOSched 中的任何一个 Activity 重构,但我已经在重构代码的过程中感受到他们所说的东西了. 我现在在重构的 Activity 是 SessionDetailActivity,如果你一直有在关注我的话就会知道我说的是哪个 Activity,但如果你只是第一次看我的博文,你可以看看下面这张图了解下 SessionD…
转自: http://www.infoq.com/cn/articles/wechat-android-app-architecture 微信Android客户端架构演进之路 作者 赵原 发布于 2015年12月31日 | 注意:GTLC全球技术领导力峰会帮助深具远见卓识的技术人审时度势,提升领导力!4 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享    已保存     我的阅读清单   去年7月,笔者在InfoQ举办的ArchSummit深圳2014的架构师峰会上,分…
在跑Monkey测试的时候出现了一个比较特别的问题,先来看看Log: // CRASH: com.meizu.media.painter (pid 12491) // Short Msg: java.lang.IllegalArgumentException // Long Msg: java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{21dd6762 V.…
Android display架构分析(一) http://blog.csdn.net/BonderWu/archive/2010/08/12/5805961.aspx http://hi.baidu.com/leowenj/blog/item/429c2dd6ac1480c851da4b95.html 高通7系列硬件架构分析 如上图,高通7系列 Display的硬件部分主要由下面几个部分组成: A.MDP 高通MSM7200A内部模块,主要负责显示数据的转换和部分图像处理功能理,如YUV转RG…
老李推荐:第2章3节<MonkeyRunner源码剖析>了解你的测试对象: NotePad窗口Activity之NoteEditor简介   我们在增加和编辑一个日记的时候会从NotesList这个Activity进入到NoteEditor这个Activity.增加和编辑的时候的控件都是一样的,只是他们的标题内容会有区别. 下面我们先来通过hierarchyviewer来看下NoteEditor这个Activity的component名称: 图2-3-1 NoteEditor的Componen…
老李推荐:第2章2节<MonkeyRunner源码剖析>了解你的测试对象: NotePad窗口Activity之NotesList简介   NotePad窗口Activity之NotesList简介 上一节我们简要描述了测试对象NotePad的主要功能模块,那么这一节开始我们就会对每个模块进行相应的阐述,这样读者就算没有真正去安装和玩过这个应用也不会影响大家对本书的阅读理解了. 我们首先看的就是NotesList这个Activity窗口.在你的安卓手机上找到NotePad这个应用的图标之后,就…
目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 Kernel display接口 典型应用flow分析 介绍 Surface manager(surface flinger)简介 架构分析 流程分析 根据前面的介绍,surfaceflinger作为一个server process,上层的应用程序(作为client)通过Binder方式与其进行通信.…
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3924567.html [正文] 注:四大组件指的是应用组件:Activity.Service.BroadcastReceiver.ContentProvider:之前的控件指的是UI组件. 博文目录: 一.Activity简介 二.Activity的状态和生命周期 三.Activity的基本用法…
摘选自:GUI 应用程序架构的十年变迁:MVC.MVP.MVVM.Unidirectional.Cleanhttps://zhuanlan.zhihu.com/p/26799645 MV* in Android 此部分完整代码在这里,笔者在这里节选出部分代码方便对照演示.Android中的Activity的功能很类似于iOS中的UIViewController,都可以看做MVC中的Controller.在2010年左右经典的Android程序大概是这样的: TextView mCounterTe…
此指南适用于那些曾经或现在进行Android应用的基础开发,并希望了解和学习编写Android程序的最佳实践和架构.通过学习来构建强大的生产级别的应用. 注意:此指南默认你对Android开发有比较深的理解,熟知Android Framework.如果你还只是个Android开发新手,那么建议先学习下Android的基础知识. Android程序员面临的问题 传统的桌面应用程序开发在大多数情况下,启动器快捷方式都有一个入口点,并作为一个单一的过程运行,但Android应用程序的结构更为复杂.典型…
一.Android系统版本简介 Android操作系统已占据了手机操作系统的大半壁江山,截至本文写作时,Android操作系统系统版本及其详细信息,已发生了变化,具体信息见下表,当然也可以访问https://developer.android.google.cn/about/dashboards/查询最新的数据. 从表中可以看出,目前使用最多的版本为6.0,4.0以上的已经占据了超过98%. 二.Android系统架构 图摘自:https://developer.android.google.c…
1.请看某个著名的it公司一则招聘信息的其中一条要求:“熟悉android系统架构及相关技术,1年以上实际android平台开发经验:”,里面非常明确的说道要求熟练android系统架构,这从某种程度上说明了对android体系架构的理解的重要性. linux kernel:负责硬件的驱动程序.网络.电源.系统安全以及内存管理等功能. libraries和android runtime:libraries:即c/c++函数库部分,大多数都是开放源代码的函数库,例如webkit,该函数库负责and…
Android操作系统架构   Android操作系统整体应用架构 Android系统架构和一些普遍的操作系统差不多,都是采用了分层的架构,从他们之间的架构图看,Android系统架构分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层. 1.应用程序 Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等.所有的应用程序都是使用JAVA语言编写的. 2.应用程序框架 开发人员也…
原文:Android零基础入门第2节:Android 系统架构和应用组件那些事 继上一期浅谈了Android的前世今生,这一期一起来大致回顾一下Android 系统架构和应用组件. 一.Android 系统架构 Android系统的底层建立在Linux系统之上,该平台由操作系统.中间件.用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的方式进行构建.这种软件叠层结构使得层与层之间相互分离,明确各层的分工.这种分工保证了层与层之间的低耦合,当下层的层内或层下发生…
一.概述   Activity 可以说是应用程序的载体(也可以理解为界面的载体,但是不界面),用户能够在上面绘制界面(Activity本身不绘制界面),并提供用户处理事件的API,维护应用程序的生命周期(Android应用程序是由多个 Activity 堆积而成,而各个 Activity 又有其独立的生命周期).         Activity内部组合了一个Window(这是一个抽象类,具体是PhoneWindow)对象.我们自己写的扩展一个Activity时,在onCreate 方法中调用…
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录MVC 架构MVC各层的作用Android中的实际情况演示案例BaseModelCallbackSampleModelSampleActivity案例总结MVP 架构基本概念特点MVP各层的作用用MVP架构编写登录模块完整版定义Presenter接口(可选)定义Model接口(可…
文:https://www.jianshu.com/p/ce26e7960926 最近App项目(MVC架构)越做越大,协同开发效率较低,维护困难,所以产生了调整架构的想法,在 简书.csdn.知乎上看了不少文章,感觉知乎用户 0x8421bcd 对于“Android项目开发如何设计整体架构?”的回答颇为精彩,在此引用,鞠躬感谢! 0. 前言 想要设计App的整体框架,首先要清楚我们做的是什么.一般我们与网络交互数据的方式有两种:主动请求(http)和长连接推送. 结合网络交互数据的方式来说一下…
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680本篇文章将从以下几个内容来阐述数据传输与序列化: [Serializable原理] [Parcelable的原理和使用方法] [json] 一.Serializable原理 1.概念 序列化:把Java对象转换为字节序列的过程. 反序列化:把字节序列恢复为Java对象的过程. 2.用途 对象的序列化主要有两种用途: 1)把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中.…
Android系统架构 Android程序结构 创建一个Android项目,为初学便于理解,将程序项目结构切换为Project模式,项目结构如下 .gradle和.idea:这两个目录下放的都是Android Studio自动生成的文件,无需我们关心,也不需要手动编辑. app:项目中的代码.资源等内容几乎都放在这个目录下,开发工作基本在这个目录下进行. libs:如果项目引用了第三方jar包,就需要吧这些jar包放在libs目录下,此目录下的jar包都会自动添加到构建目录中. androidT…
下图是 Android 操作系统的架构,架构包括 4 层,由上到下依次是应用程序层.应用程序框架层.核心类库和 Linux 内核.其中,核心类库中包含系统库及 Android 运行环境. 图1  Android 操作系统的架构 应用程序层 Android 装配了一个核心应用程序集合,包括 E-mail 客户端.SMS 短消息程序.日历.地图.浏览器.联系人管理程序和其他程序,所有应用程序都是用 Java 编程语言编写的. 用户开发的 Android 应用程序和 Android 的核心应用程序是同…
在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider).今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大组件以后再进行介绍.说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iOS中的ViewController(视图控制器).在应用中能看到的东西都是放在活动中的.活动是安卓开发比较重要的东西…
Android四大组件:Activity,Service,Broadcast Receiver,Content Provider Activity是Context的子类,同时实现了Window.Callback和KeyEvent.Callback接口,可以处理用户与窗体交互的事件. 创建Activity 定义一个XxxActivity类继承Activity,并重写onCreate() 在onCreate()中通过setContentView()加载该Activity的布局文件 在清单文件中配置a…