View树和UI界面架构图   UI界面架构图: android视图最外层是一个window对象. phoneWindow来实现. phoneWindow将一个decorView作为整个布局的根view. 屏幕分为TitleView和ContentView. ContentView的根布局为framelayout.   view的测量: view的测量通过onMesure()来进行的: onMesure用来确定视图大小和位置. MesureSpec用来帮助我们测量view. Override p…
一.Android权限背景知识 在Android 6.0之前,所申请的权限只需要在AndroidManifest.xml列举就可以了,从而容易导致一些安全隐患,因此,在Android 6.0时,Google为了更好的保护用户隐私提出了新的权限管理机制,同时将其分为两大类: (1)Normal Permissions Normal Permission一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动,访问网络等. (2)Dangerous Permission Dangerous Perm…
转自 http://www.gisall.com/html/35/160435-5369.html 1. reference:参考某一资源ID. (1)属性定义: <declare-styleable name = "名称"> <attr name = "background" format = "reference" /> </declare-styleable> (2)属性使用: <ImageView…
概述 Android已经为我们提供了大量的View供我们使用,但是可能有时候这些组件不能满足我们的需求,这时候就需要自定义控件了.自定义控件对于初学者总是感觉是一种复杂的技术.因为里面涉及到的知识点会比较多.但是任何复杂的技术后面都是一点点简单知识的积累.通过对自定义控件的学习去可以更深入的掌握android的相关知识点,所以学习android自定义控件是很有必要的.记得以前学习总是想着去先理解很多知识点,然后再来学着自定义控件,但是每次写自定义控件的时候总是不知道从哪里下手啊.后来在学习的过程…
前言: 上篇介绍了自定义控件的基本要求以及绘制的基本原理,本篇文章主要介绍如何给自定义控件自定义一些属性.本篇文章将继续以上篇文章自定义圆形百分比为例进行讲解.有关原理知识请参考Android自定义控件之基本原理(一)这篇文章. 自定义控件相关文章地址: Android自定义控件之基本原理 Android自定义控件之自定义属性 Android自定义控件之自定义组合控件 Android自定义控件之自定义ViewGroup实现标签云 需求产生背景: 为何要引入自定义属性?当Android提供的原生属…
前言: 上篇介绍了自定义控件的基本要求以及绘制的基本原理,本篇文章主要介绍如何给自定义控件自定义一些属性.本篇文章将继续以上篇文章自定义圆形百分比为例进行讲解.有关原理知识请参考Android自定义控件之基本原理(一)这篇文章. 需求产生背景: 为何要引入自定义属性?当Android提供的原生属性不能满足实际的需求的时候,比如我们需要自定义圆形百分比半径大小.圆形背景.圆形显示的位置.圆形进度的背景等等.这个时候就需要我们自定义属性了. 自定义属性步骤: 1.)在res/values文件下添加一…
人工智能成为当下科技发展的代表之一,持续受到了不少追捧,不管你是否是这一专业的学生或者职场人,学习并掌握一项新潮技能总是不会被同龄人淘汰的.我曾经问过别人.也被别人问过关于学习人工智能(AI)最好的方式是什么?我应该去阅读什么书?我应该去看什么视频?尝试过很多方法,也做了很多的学习路径规划. 实际上,人工智能研究在本质上是学术性的,在你能够获得人工智能的某些细节之前,需要掌握大量的跨各类学科的知识. 不论你找到了怎样的学习方法,扩展阅读总是必要的,因为当下的一些人工智能网课普遍忽视了原始论文的相…
此 文主要讲述用 TestNG 的基础理论知识,TestNG 的特定,编写测试过程三步骤,与 JUnit4+ 的差异,以此使亲对 TestNG 测试框架能够有一个简单的认知. 希望能对初学 TestNG 测试框架的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! TestNG是什么?TestNG是一个灵感来自于 JUnit 和 NUnit 的一个设计用来简化广泛的测试需求的开源自动化测试框架,其引入了一些新的功能,使其功能更强大,而且易于使用,但是 TestNG 不是 JUnit 的扩展.它…
Android自定义控件及自定义属性 自定义控件 创建自定义控件 自定义一个类,继承View 继承View还是哪个类,取决于你要实现一个什么样的控件 如果你要实现的是一个线性布局的组合控件,就可以继承LinearLayout 如果你要实现的是一个布局复杂的组合控件,就可以继承RelativeLayout 具体根据实际情况 这里我要实现一个Android端的显示验证码的控件,我只继承View package --; import -- /** * Created by kongqw on 2015…
之前第三章理论知识写到过数据库.数据库是在程序内部自己访问自己.而内容提供器是访问别的程序数据的,即跨程序共享数据.对访问的数据也无非就是CRUD. 内容提供者 应用的数据库是不允许其他应用访问的 内容提供者的作用就是让别的应用访问到你的数据库 写自定义内容提供者的代码就是在被访问程序与主访问程序之间交替写代码. 自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查数据库的代码,举例增方法.自定义继承使用ContentProvider @Override…