Tween动画----XML配置文件
08Gesture和Animation

Frame Animation
• Frame Animation是顺序播放事先做好的图像,跟电影类似。不同于 animation package, Android SDK提供了另外一个类 AnimationDrawable来定义、使用Frame Animation。 • Frame Animation可以在XML Resource定义(还是存放到res\anim 文件夹下),也可以使用AnimationDrawable中的API定义。由于 Tween Animation与Frame Animation有着很大的不同,因此XML 定义的格式也完全不一样,其格式是:首先是animation-list根节点 ,animation-list根节点中包含多个item子节点,每个item节点定义 一帧动画,当前帧的drawable资源和当前帧持续的时间。
• 在java代码中运用会导致重复代码较多,因此 • 特别推荐XML方法
interpolator定义一个动画的变化率(the rate of change )。这使得基本的动画效果(alpha, scale, translate, rotate)得以加速,减速,重复等。它定义了动画的变化速 度,可以实现匀速、正加速、负加速、无规则变加速等。 Interpolator 是基类,封装了所有 Interpolator 的共同 方法,它只有一个方法,即 getInterpolation (float input)
Tween Animation 使用方法(java文件中)
• 1 创建一个AnimationSet对象(Animation的子 类,可以效果叠加) • 2 增加需要创建相应的Animation对象 • 3 为Animation对象设置相应的数据 • 4 将Animation对象添加到AnimationSet对象中 • 5 使用控件开始执行AnimationSet
黑马程序员android开发笔记及源码

01、什么是3G02、android系统简介03、android背景介绍04、android的framewor简介05、两种虚拟机的比较06、sdk的下载以及简介07、创建android模拟器08、ddms简介09、platform-tools的简介及常见adb指令10、android项目的目录结构11、android下apk安装的过程12、常见的adb指令介绍13、创建模拟器遇到的常见错误14、电话拨号器15、点击事件的四种写法16、短信发送器17、相对布局&单位介绍18、现形布局&布局的组合19、表格布局&绝对布局20、帧布局21、测试相关概念22、android下junit测试框架配置23、logcat简介24、保存文件到手机内存25、android下文件访问的权限26、保存文件到SD卡中27、分析setting源代码获取SD卡大小28、_sharePreference入门29、xml文件的序列化30、采用pull解析xml文件31、采用断电调试的方法观察pull解析的的流程32、android下创建一个sqllite数据库33、sql语句实现数据库的增删改查34、系统api实现数据库的增删改查&Sqlite3工具的使用35、数据库的事物36、listView入门37、采用layoutInflater打气筒创建一个view对象38、采用数据适配器ArryAdapter39、常用数据适配器simpleAdapter40、数据适配器总结41、内容提供者简介42、内容提供者的实现43、短信的备份44、插入一条记录到系统短信应用45、内容观察者46、获取系统的联系人信息47、保存联系人到系统通讯录48、读取联系人的一个小细节49、网络图片查看器50、anr产生的原理&如何避免51、android消息机制入门52、网络html查看器53、字符乱码问题的处理54、采用get方式提交数据到服务器55、采用post方式提交数据到服务器56、提交数据到服务器中文乱码问题的处理57、采用httpclient提交数据到服务器58、异步http框架简介&实现原理59、异步http框架提交数据到服务器60、上传文件到服务器61、smartimageview&常见开源代码62、多线程下载的原理63、多线程断点下载的原理64、多线程java代码移植到android65、多线程下载文本页面的更新66、显示意图激活另一个activity67、隐式意图激活另一个activity68、隐式意图的配置69、隐式意图和显示意图的使用场景70、在不同activity之间数据传递71、activity的声明周期72、activity的启动模式73、activity横竖屏切换的声明周期74、开启新的activity获取他的返回值75、请求码和结果码的作用76、利用广播实现ip拨号77、短信窃听器78、自定义广播时间&发送自定义广播&广播接受者优先级79、采用服务执行长期后台操作80、采用服务窃听电话&服务的声明周期81、android进程优先级&为什么使用服务82、绑定方式开启服务&调用服务的方法83、服务的声明周期(混合开启84、采用aidl绑定远程服务85、代码注册广播接受者&利用广播调用服务的办法86、加载大图片到内存87、获取图片exif信息88、从gallery获取图片89、图片画画板90、扒开美女衣服91、图片的缩放92、图片的旋转93、图片的平移&镜面&倒影效果94、图片的合成95、图片的颜色处理96、多媒体播放api简介97、人脸识别98、mediaplayer的生命周期99、soundpoo简介100、sufaceview的生命周期101、播放在线视频102、视频播放器进度的处理103、调用系统照相机拍照和录像104、采用camera拍照105、常见对话框106、notification入门107、菜单108、android下的样式109、android下的主题110、代码编写ui111、html创建ui112、帧动画113、代码创建创建的tween动画114、xml文件定义动画115、传感器简介116、117、杀死进程118、apk的安装119、应用程序的反编译120、动态创建fragment121、用fragment创建一个选项卡122、fragment的向下兼容性123、fragment的生命周期124、fragment之间的通讯125、应用程序国际化04、android的framewor简介Wap:wait and playWireless Makeup Language(WML)精简的html语言Applications:android自带的基本上层应用Aplication framework:应用程序框架Librarics:Linux lernel:05、两种虚拟机的比较编译后文件格式:jvm:.java->.class->.jardalvik vm:.java->.dex->.odex基于的架构:jvm:基于栈的架构dalvik vm:基于寄存器的架构Cpu直接访问寄存器因此dalvik虚拟机的效率比jvm高06、sdk的下载以及简介->获取sdk工具包(sdk:standard develope kits)->ADT(android develop tools,实际上是eclipse的插件)SDK具体内容Android->SDK Plateform:开发时使用到的jar包->Samples for sdk:->ARM EABI V7a System Image:模拟器运行时的镜像->Intel n86 Aton System:模拟器运行时的镜像->MIPS System Image:模拟器运行时的镜像->google APIs:google提供的jar包,可以直接使用google提供的一些API ->source for android SDK:SDK全部的源代码Extrals:->tools:开发的工具->support library:实现高版本的android向下的兼容->google Admed Ads SDK:gongle提供的广告插件->Analyties App Irackiong SDK:应用的用户分析->cloud message:云消息->gongle play service:收费服务->google USB Driver:真实的设备驱动开发时:基于4.0,兼容2.2、2.3.307、创建android模拟器avd:android virture developerVGA:480*640(电视的标准分辨率)QVGA:240*320(四分之一)HVGA:320*480(一半)WVGA:480*800(width)FWVGA:480*854(更宽)08、ddms简介ddms:模拟器不支持中文,因此发送中文会显示不出来09、platform-tools的简介及常见adb指令Android调试桥:内部实现就是socket让两个系统之间实现数据交互->reset adb:模拟器找不到时候可以重启->adb device:列出所有的连接的设备->adb kill-server:杀死adb调试桥->adb start-server 启动adb调试桥dx.bat:将.class文件打包10、android项目的目录结构一:SDK的目录结构->Samples->Api demo:根据API demo(模拟器上面可以看见)的效果可以在sample中看见相应的代码->Source:jar包所有的sdk源代码都在这个文件夹里->SystemImage:系统镜像->temp:下载更新临时存储的文件夹,一般是空的->tools:emulater.ext 不同版本的模拟器二:New Android Application->theme:留给以后作为扩展,现在并没有太大的作用->target SDK:一般选择高版本,因为高版本对下兼容->mark project as a library:一般不选择,意思是将这个项目提供一个jar包供别人使用三:文件夹目录.setting:设置目录assets:资产目录,存放一些文件,这些文件会被原封不动打包到应用程序的apk中bin:gen:自动生成的目录->builderConfig.java:生成的配置信息->R.java:Android 4.1.2->android.jar开发环境,jar包可以在properties中修改,jar包就是SDK011、Android下apk的安装过程一、Android安装过程分析:->setContentView:甚至view的对象,把里面的xml文件加载到->在project中选择build automaticly会自动把文件生成字节码文件,.class $代表的class文件生成的是内部类->dex.bat文件会把.class文件生成.dex文件->apk压缩文件解压内部内容->META-INF:应用程序的签名eclipse的调试签名文件->res:资源文件->classes.dex:class文件->resources.arsc:资源ID映射->android软件安装的过程:->拷贝xxx.apk带/data/app/xxx-1.apk->在/data/data目录下创建一个文件夹,文件夹名称当前应用程序的报名012、常见adb指令前提:->设备连接上电脑而且驱动安装正常,如果安装不正常的话,会有黄色的问号显示;->设备上打开USB调试;指令:->adb device(如果启动发现这个程序没有安装会自动安装)->adb kill-server->adb start-server->adb uninstall <包名>->adb -s emulator-5554 install c:\\users\\administrator\\hello.apk如果有多个设备的话,如果不指定安装的是哪个设备程序会报错->adb push haha.prop /sdcard/haha.txt 将文件移到(360管家,豌豆荚之类的软件他们也是用的adb指令,倘若电脑上装这些软件的话,会因为两个adb指令抢端口号而挂掉)(adb版本之间兼容不是很好,经常报错可以考虑下版本的问题)->adb shell:远程连接到了android的linux终端ls:显示文件夹ps:显示正在运行的程序ping:网络连通性013、创建模拟器遇到的常见错误->路径最好不要有中文:->应用安装不上,或者安装模拟器的时候开启一个新的模拟器:可能是模拟器的资源被占用,模拟器在运行的时候其实占用着硬盘上面的一个文件,这个文件位于工作空间.android/avd/iphone.avd 里面会有镜像文件,当一个模拟器开启起来了,就给你创建一个文件夹.knock的文件夹,代表着这个模拟器被锁定了,如果把模拟器关掉,就没有程序占据这几个镜像资源了,那么这几个程序就会被自动删除。
DWR.xml配置文件说明书

DWR.xml配置文件说明书关键字: dwrDWR是一种AJAX(Asynchronous JavaScript and XML)的JAVA实现,它提供了一种能在web浏览器端采用JavaScript语言直接调用后台业务商业组件的解决方案。
DWR通过JavaScript直接调用远程组件可以减少Web开发的时间,特别对于那些具有和用户频繁交互的Web应用程序。
DWR使得浏览器不用刷新页面就可以从远程Web服务器取得用户需的数据,这种无刷新页面的交互方式大大提高Web页面的响应时间。
至少用户不会感觉到刷新页面带来的等待响应心理感觉。
DWR采用浏览器端采用纯JavaScript实现,并且会自动根据浏览器类型采用最高效率的远程组件调用机制。
DWR目前最新发布的稳定版本为1.0。
本次项目中采用的也是目前的最新发布版本1.0。
1、建立dwr.xml 配置文件任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下:整个配置文件的大体结构如下:有几个术语有必要理解,参数叫做converted,远程Bean叫做created.如果远程Bean A有个方法A.blah(B),那么你需要为A建立一个created,为B建立一个converted.配置文件init部分声明那些用于建立远程bean和在方法调用中转换bean的类.这部分是可选择性配置的,多数情况下可以不必使用它,如果你想定义一个新的creator或者converter那么就必须在部分中声明,but do double check on the ones that are currently available first.在init部分的作用是告诉DWR一些类实例和关于这些类怎样运行的信息.实际上并不会使用.这有点向java中的import语句,多数类在使用之前需要引入,但引入了类并不意味着这些在使用,每个creator和converter需要有个id属性来允许以后进行引用.配置文件的allow部分定义哪些类可以建立和转换,每个被准许的类都可以有一个'create'或者'convert'配置行.下面列出的类的转换在默认情况下不需要进一步的设置.1、所有基本类型,boolean,int,double等等2、基本类型的对象形式实现的类,Boolean,Integer等等3、ng.String4、java.util.date 和三个SQL形式的派生类5、以上所有类型的数组形式6、以上所有类型的集合,List,Set,Map(有些局限性)However nothing is added to the list of classes that can be created (i.e. put up for remoting) without you declaring it.2、T he Converters这里仅仅是定义了Converter并且简单的放在<convert….>元素之内,任何的<convert….>元素内容都有两个必须定义的属性.一个是对converter定义的引用和converter能够转换的类.例如最简单的converter是null converter,它作用是把null和void值转换成javascript的null 和undefined值.它是所有converter中最简单的,就象调用java的静态方法一样,所以并不需要创建对象.默认的时候DWR将java void值转换成javascript的null值就是这样设置<convert converter="null" match="void"/>.有时ng.Void也需要进行这样的转换,所以设置也是相似的<convert converter="null" match="ng.Void"/>.从java中传递null值到javascript是没有任何危险性的,所以DWR将这个作为默认的converter,所以你自己不用再把这个converter添加到配置文件的<allow>部分中去. 基本类型的converter转换int,boolean,double等.当然还包括对应的对象形式Integerv,Boolean 等等.DWR中在allow预定义了16个配置项目分别用于所有基本类型的转换.就象这样<convert converter="primitive" match="ng.Long"/><convert converter="primitive" match="long"/>.String类型和Date同样预先定义了Converter,这些converter都没有办法进行改变的,所有的String,Date和数值类型都统一采用默认的converter.2.1 Array ConvertersArray的配置项目没有上面介绍的那么直观,默认情况下DWR装载所有的基本类型和可装载的对象,这些包括String,Date等先前介绍的类型.java高级程序员可能会理解为什么match的这行有点奇怪.和其他可装载的类型是一样的.2.2Bean Converters一种不能采用默认方式定义的converter就是Bean Converter,这个是将POJO对象转换成javascript相关的数组,反向也一样.基于安全因素的考虑这种类型的converter不能采用默认的方式实现.假设有个bean并且通过<create ...>语句设置成远程可用,有种类型的参数他本身是一个带有setter的java bean,但setter会产生严重的隐患.攻击者可能促使这隐患的发生.通过下面的语句就可以设置但个类的bean converter要想允许转换指定包或子包下所有类的转换可以按照下面的设置2.3 Restricting Property Conversion(指定属性转换)将象用exclude和incluce来通知DWR隔离creator的方法一样,converter也有一个类似的配置方法.因为指定属性转换只有针对bean才有效(基本类型的转换没有必要指定属性),这个功能只能应用与特定的converter即BeanConverter和从次类派生的所有类.相关配置语法如下为拒绝访问方式,当然你也可以采用下面的方式配置可以访问的方法(授权访问方式)较好的安全控制大部分都是采用授权访问方式.2.4 Collection Converters通常converter是采用递归方法转换集合中的所有对象.这里有两个地方需要注意:仅仅通过反射方法没有办法知道集合元素中的类型,所以上面的两个converter能将任何集合转换成相对javascript而言有意义的对象.然而没有办法将不同的集合类类型分别采用不同的转换方法.因为没有办法完全自动进行转换,我们可以应用dwr.xml文件的special signatures syntax配置部分设置类型的转换处理过程.2.5 DOM ObjectsDWR 自动将DOM、DOM4J、JDOM和XOM转换成DOM树,前面这几种类型都仅仅返回Document,Element,Node.DWR会自动将这些转换成浏览器DOM对象.通常在启动JDOM因为DWR没有办法知道你是否采用jdom converter,所以提示信息是info级别.如果你想采用jdom converter,你必须很清楚地知道jdom converter是否可以被加载.这就是DWR保留上面的提示信息的原因.3 The CreatorsDWR共有三种Creator,最简单的”new”是调用bean的默认构造函数创建实例.”scripted”允许采用其他脚本语言创建实例.如BeanShell.在远程bean的默认构造函数不能进行进一步配置的情况下这种类型的creator比较有用.”Spring”类型允许你通过spring创建实例.这些参数对于用过jsp或servlet的开发人员并不陌生.3.1 Uing static methods如果你想远程调用一个creator的静态方法,并且creator是new类型.因为调用远程bean的方法前DWR不会检测将要执行的方法是不是静态方法,如果是静态方法那么creator就不用创建.这种机制可以适用任何类型的creator,但new类型的creator是最简单配置的.3.2 SecurityCreator可以配置类的成员函数的访问权限.creator有授权访问(指明可以被访问的方法)和拒绝访问(指明不允许访问的方法)两种配置方式.如果要设置除了setWibble方法之外的所有方法都不可访问可以采用下面的设置.3.3 The 'spring' Creator3.4 The 'new' CreatorDWR已经默认定义了new creator.<creator id="new" class="uk.ltd.getahead.dwr.create.NewCreator"/>DWR已经将这配置到了内置的dwr.xml文件中,并不需要进行额外的配置.Creator通过调用类的默认的构造方法创建实例.应用new creator有以下几个优点:安全性生命周期比较短的creator可以得到更好的安全性,通过不同的应用情况设置适合的生命周期. 低内存开销在访问量比较大的情况下,可以不用担心发生内存泄露的情况.配置一个creator的创建和远程方法调用设置:上面的配置信息表示将java.util.date提供给客户端调用,并且引用名称是Blash.当你在客户端调用Blash.toString(reply)时,后台将采用java.util.date的默认构造方法创建一个实例.然后调用实例的tostring方法.客户端的javascript将返回给reply对象(此时reply是java.util.date的字符串形式)3.5 The 'scripted' CreatorDWR 已经默认配置了scripted creator配置,<creator id="script" class="uk.ltd.getahead.dwr.create.ScriptedCreator"/>这种类型的creator采用4 Signatures in dwr.xmlSignatures部分用于配置Collections中装载对象元素的类型.举个例子来说:下面的java代码没有办法对List集合中的对象进行转换.Singatures配置允许我们对DWR要操作的对象类型进行配置.对于了解JDK5泛型编程的开发人员来说下面的格式是很容易理解的.DWR有个专门用于解析上面配置语句的解析器,虽然上面的是JDK5中才有的特性,因为有解析器的原因这也可以应用与JDK5之前的版本.解析规则是不可见的,但有两种例外情况.一种情况是因为DWR1.0的解析器中有个Bug,在有些场合会无法处理返回值的类型.所以应该要避免这种情况的发生.一种情况是因为解析器是一个语法宽松的解析器,他不象编译器一样对语法有非常严格的要求,所有有时可能一些重要的语句没有配置而无法事先发现.Signature部分只用于泛型参数到基本类型参数的转换,对于其他的类型DWR采用反射机制或运行时类型来确定.在没有泛型参数的情况下可以不配置Signature.下面的就需要配置,因为反射机制无法完成次类功能.有一个值得注意的地方是在javascript中所有对象的keys都是一个字符串,你也可以把其他对象作为keys.他们在使用之前都会转换成字符串形式.DWR1.x将采用这个特性来转换成String.以后对象的转换将会在服务器端完成.5 Scripting IntroductionDWR生成的javascript代码和java代码很相似并通过dwr.xml配置输出.相比普通java异步调用之下,通过ajax生成远程接口和java 代码的最大挑战是AJAX异步功能.DWR通过引入一个回调函数,当数据从服务返回数据是调用这个函数。
FLASH CS3 实例 电子相册

FLASH CS3 实例电子相册在Flash中制作电子相册有两种方法:一种是将所有的素材图像导入其中,制作各种图片显示效果动画,然后通过鼠标单击事件跳转到指定的动画帧,完成电子相册效果;另一种是通过XML文件与ActionScript语言的结合,无需将素材图像导入即可实现电子相册效果,如图14-8所示。
图14-8 电子相册技能要点-通过XML文件加载外部图像XML是一种具有数据描述功能、高度结构性及可验证性的语言,可以在任何平台或者语言之间交换数据,且允许用户自行定义标记和属性。
ActionScaript3.0包含一组基于ECMAScript for XML (E4X)规范的类,这些类包含用于处理XML数据的强大且易用的功能。
下面将通过ActionScript3.0语言读取XML文件中的图像地址,并将图像显示在舞台中。
首先准备两张素材图像,并将其放置在images文件夹下,如图14-9所示。
图14-9 准备素材图像新建记事本文档,在其中输入如下代码。
然后将其保存为car.xml文件,如图14-10所示。
图14-10 新建XML文件在的地址。
新建550×237像素的空白文档,在图层1的第1帧处打开【动作-帧】面板,并声明变量,代码如图14-11所示。
图14-11 声明变量将光标置于第7行,创建侦听加载XML文件事件,该事件调用xmlLoader()函数,代码如图14-12 所示。
图14-12 侦听加载XML文件将光标置于第16行,创建xmlLoader()函数,该函数通过读取XML文件中图像的地址,将图像显示在舞台中,代码如下所示。
children()顺序列出其子项。
一个理指令;文件中元素节点的个数。
至此通过XML文件加载外部图像就制作完成了,保存文档后预览动画,如图14-13所示。
图14-13 预览效果制作过程首先通过读取XML中小尺寸图像的地址,将小图像显示在舞台的左侧,然后利用鼠标单击事件,再将相对应的大尺寸图像显示在舞台的右侧。
testngxml配置文件

testngxml配置⽂件简单介绍运⾏TestNG测试脚本有两种⽅式:⼀种是直接通过IDE运⾏(例如使⽤eclipse中的“Run TestNG tests”),另⼀种是从命令⾏运⾏(通过使⽤xml配置⽂件)。
当我们想执⾏某个包或者某个类中的⼀部分测试脚本的时候,使⽤xml配置⽂件是⾮常便利的。
在xml配置⽂件⾥,不仅可以选择某些需要执⾏的测试脚本,还可以排除某些不需要运⾏的测试脚本。
创建testng.xml⽂件创建xml⽂件很容易,只需要在其中填充⼀些内容。
1)⾸先要声明⼀个suite的名字,⽤于描述将要运⾏的测试脚本集,可以根据⾃⼰需要任意命名,最终这个名字会在testng的测试报告中看到。
<!DOCTYPE suite SYSTEM "/testng-1.0.dtd" ><suite name="SuiteName" verbose="1"><test name="TestName">2)如果选择的测试脚本是基于组的(使⽤了@Test (groups={"student"})这样的注解),那么接下来需要声明如何使⽤这些组:包含或者排除。
如果使⽤了include标签标注某些组,那么在选择的测试脚本中,只有属于那些组的测试脚本会被运⾏。
那些未被选中的测试脚本,或者被选中却不属于某些组的测试脚本都不会被运⾏。
需要注意,⼀个测试脚本可以属于很多个组,只要有⼀个组被include标签标注,那么它就会被运⾏。
如果使⽤了exclude标签标注某些组,那么在选择的脚本中,只有不属于那些组的测试脚本会被运⾏。
如果同时使⽤了include标签和exclude标签,那么拥有被include标注的组的那些脚本会被运⾏,拥有被exclude标注的脚本不会被运⾏。
有⼀个例外是,⼀个组同时被include和exclude标注了,那么拥有这个组的脚本会被运⾏。
iTween帮助文档参数解析(中文版)

1. CameraFade(摄像机的渐隐)其中Camera或者场景的东西并没有消失,只是在屏幕上贴了一张贴图首先,要用到摄像机的渐隐/显功能的话,必须调用CameraFadeAdd()函数,来添加背景图片,不然在运行时会包错。
下面来讲解一下CameraFade里面需要用到的几个函数1) CameraFadeAdd() //当不传参的时候,会默认一个黑色的背景CameraFadeAdd(Texture2D texture) //摄像机视图渐隐后显示texture CameraFadeAdd(Texture2D texture,int depth) //同上,depth的作用暂时不知道,猜测与分层有关,可能类似PS中的图层2)CameraFadeDepth(int depth) //改变刚才texture的depth3)CameraFadeDestroy() //移除并摧毁4)CameraFadeTo(float amount,float time) 从当前视图转换到前面设置的视图(texture)//amount透明度,介于0~1之间。
等于1时Texture完全覆盖Camera视图//time是达成该效果需要多少秒CameraFadeTo(Hashtable args) //用哈希表可以设置更详细的内容此函数的哈希表key有:name,amount,time,delay,easetype,looptype,onstart等,KEY 作用以及值参考提供的EXCEL文档中的HASHTABLE项5)CameraFadeFrom(float amount,float time)CameraFadeTo(Hashtable args)//从前面设置的视图(texture)转换到当前视图,参数参考CameraFadeTo6)CameraTexture(Color color) //创建一个单色的用于CameraFade的texture2d2. Audio音频同CameraFade一样,itween中对音频的控制也并没有结束音频的播放,而是控制的音频的音量(volume)和音调(pitch)。
TWaver入门指南中文版,帮助文档
版本编号 日期 备注
1.0 1.1 1.2 1.3 1.3.1
2004 年 1 月 2004 年 9 月 2005 年 7 月 2005 年 10 月 2005 年 12 月
SERVA TWaver™ � 快速入门指南
目 录
简介......................................................................................................................................................................... 1 ........................................................................................................................................... 2 安装和使用 TWAVER TWAVER........................................................................................................................................... ...........................................................................................................................................2 前期准备..................................................
紫光面试试题-答案
1、Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念DVM指dalivk的虚拟机。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。
2、sim卡的EF 文件有何作用sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本身可以有自己的操作系统,EF就是作存储并和手机通讯用的3、嵌入式操作系统内存管理有哪几种,各有何特性?页式,段式,段页,用到了MMU,虚拟空间等技术4、什么是嵌入式实时操作系统, Android 操作系统属于实时操作系统吗?、嵌入式实时操作系统是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。
主要用于工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。
又可分为软实时和硬实时两种,而android是基于linux内核的,因此属于软实时。
5、一条最长的短信息约占多少byte?中文70(包括标点),英文160个字节6、android中的动画有哪几类,它们的特点和区别是什么?两种,一种是Tween动画、还有一种是Frame动画。
Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。
7、handler机制的原理andriod提供了Handler 和Looper 来满足线程间的通信。
Handler 先进先出原则。
Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。
1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。
Image+.XML的方式,实现动画效果
Image+.XML的方式,实现动画效果步骤一创立.XML文件(如下图1所示),并将添加图片图 1步骤二将<selector修改成<animation-list<animation-list xmlns:android="/apk/res/android" android:oneshot="true"><item android:duration="500" android:drawable="@drawable/door4"/><item android:duration="500" android:drawable="@drawable/door3"/><item android:duration="500" android:drawable="@drawable/door2"/><item android:duration="500" android:drawable="@drawable/door1"/></animation-list>步骤三在activity_main.xml的Image属性注释// app:srcCompat="@drawable/door1"MainActivity文件编程ImageView img;AnimationDrawable open_door;//两个.XML文件AnimationDrawable close_door;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);intiview();}private void intiview() {open_door = (AnimationDrawable) getResources().getDrawable(R.drawable.opendoor);close_door=(AnimationDrawable)getResources().getDrawable(R.drawable.closedoor);img = findViewById(R.id.imageView);}public void btn_close(View view) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {img.setBackground(close_door);}close_door.start();}public void btn_Open(View view) {if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {img.setBackground(open_door);}open_door.start();}}。
Bolt界面引擎中XLUE布局XML文件节点属性配置详解
整数或表达式
蒙板矩形左上顶点横坐标
masktop
整数或表达式
蒙板矩形左上顶点纵坐标
maskwidth
整数或表达式
蒙板矩形宽度
maskheight
整数或表达式
蒙板矩形高度
maskblendtype
instead/ attenunate
指定蒙层的作用方式,第一种表示指定蒙层上的点代替渲染源的alpha值的方式;后面那种渲染源上的alpha值按照蒙层上的点进行衰减的方式
ImageObject
BaseRenderObject
图像对象
TextureObject
纹理对象
FillObject
填充对象
BlurObject
毛玻璃对象
LineObject
线对象
PolygonObject
多边形对象,暂不支持xml配置
TextObject
文本对象
EditObject
编辑框对象
ControlObject
event
>=4
eventlist
事件节点
default
5
attr
默认属性值,只有当atr的父节点是attr_def时才可用
2. 基本对象类型关键字
类型名
继承于
类型描述
LayoutObject
N/A
布局对象,根对象
MaskObject
LayoutObject
蒙层对象
BaseRenderObject
渲染对象基类,不可在XML中配置
cursor
字符串,参见Windows命名,如IDC_HAND,IDC_ARROW等
鼠标放在对象上时的显示形状
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Tween动画----XML配置文件
package com.softwise.Chapter12_Graphic_Animation1;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView girlImage;
private Button b1,b2,b3,b4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
girlImage=(ImageView) findViewById(R.id.Imageview01);
b1=(Button) findViewById(R.id.Button01);
b2=(Button) findViewById(R.id.Button02);
b3=(Button) findViewById(R.id.Button03);
b4=(Button) findViewById(R.id.Button04);
b1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Animation
scaleAnimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.scale);
girlImage.startAnimation(scaleAnimation);
}});
b2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Animation
alphaAnimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.alpha);
girlImage.startAnimation(alphaAnimation);
}});
b3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Animation
translateAnimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.translate);
translateAnimation.setFillAfter(true);
girlImage.startAnimation(translateAnimation);
}});
b4.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Animation
rotateAnimation=AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
rotateAnimation.setFillAfter(true);
girlImage.startAnimation(rotateAnimation);
}});
}
}
main.xml
android:layout_height="fill_parent"
android:orientation="vertical" >
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
alpha.xml
android:duration="5000"/>
Translate.xml
android:fromYDelta="10"
android:toYDelta="100"/>
Scale.xml
android:fromYScale="0.0"
android:toYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="5000" />
Rotate.xml
android:repeatCount="2"
android:pivotX="50%"
android:pivotY="50%"
android:duration="2000"/>