当前位置:  编程技术>移动开发
本页文章导读:
    ▪取得LayoutInflater的两种方式        获得LayoutInflater的两种方式 获得LayoutInflater的两种方式:   1、通过Activity的getLayoutInflater方法: LayoutInflater inflater = getLayoutInflater ();   2、通过获得系统服务: LayoutInflater inflater = (LayoutInflater).........
    ▪ JAXB初始了解        JAXB初步了解 JAXB 的全名是Java Architecture for XML Binding。JAXB的特点就是将你用DTD定义好的XML文档映射为Java对象,提供简单、快速的数据操作方式。要访问XML中的元素、属性只要通过相应对象上.........
    ▪ CATransition对 type的设立       CATransition对 type的设置    [UIView beginAnimations:nil context:nil];              [UIView setAnimationRepeatAutoreverses:YES];//动画是否返回        [UIView setAnimationDuration:0.3];       button.alpha =0;   .........

[1]取得LayoutInflater的两种方式
    来源: 互联网  发布时间: 2014-02-18
获得LayoutInflater的两种方式

获得LayoutInflater的两种方式:

 

1、通过Activity的getLayoutInflater方法:

LayoutInflater inflater = getLayoutInflater ();

 

2、通过获得系统服务:

LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

 

参考地址:http://developer.android.com/reference/android/view/LayoutInflater.html


    
[2] JAXB初始了解
    来源: 互联网  发布时间: 2014-02-18
JAXB初步了解

JAXB 的全名是Java Architecture for XML Binding。JAXB的特点就是将你用DTD定义好的XML文档映射为Java对象,提供简单、快速的数据操作方式。要访问XML中的元素、属性只要通过相应对象上的一系列getter和 setter方法。你还可以通过marshal方法将对象的数据写进XML文件,通过unmarshal方法将XML文件的数据读入对象,通过validate方法验证XML文件是否符合DTD的约束。JAXB的缺点就在于只能访问特定的(也就是你用DTD定义的)XML文档。

先看例子吧:

 

Customer.java

 

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement; 

@XmlRootElement
public class Customer {

    String name;
    int age;
    int id;
    
    @XmlElement   
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    @XmlElement
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    } 
    
    @XmlAttribute
    public int getId() {
        return id;
    }  

    public void setId(int id) {
        this.id = id;
    }

    @Override
    public String toString()
    {   	
		return "Customer[" + getName() + "," + getId() + "," + getAge() + "]";   	
    }

}

 

 

 

import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

public class JAXBExample {

    public static void main(String[] args) {

      Customer customer = new Customer();
      customer.setId(100);
      customer.setName("mkyong");
      customer.setAge(29); 

      try {

        File file = new File("C:\\file.xml");
        JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
        
        //JAVA to XML
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
        //按标签划分行
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        jaxbMarshaller.marshal(customer, file);
        jaxbMarshaller.marshal(customer, System.out);   //打印输出  
        
        //XML TO JAVA
        Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
	    Customer mycustomer = (Customer) jaxbUnmarshaller.unmarshal(file);
	    System.out.println(mycustomer);

          } catch (JAXBException e) {

        e.printStackTrace();

          }  
    }
}

 

 控制台打印输出如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<customer id="100">

    <age>29</age>

    <name>mkyong</name>

</customer>

Customer[mkyong,100,29]

 

关于注解:

@XmlRootElement   将一个Java类映射为一段XML的根节点
参数:name            定义这个根节点的名称
         namespace   定义这个根节点命名空间


@XmlAccessorType  定义映射这个类中的何种类型需要映射到XML。可接收四个参数,分别是:
      XmlAccessType.FIELD:映射这个类中的所有字段到XML
      XmlAccessType.PROPERTY:映射这个类中的属性(get/set方法)到XML
      XmlAccessType.PUBLIC_MEMBER:将这个类中的所有public的field或property同时映射到XML(默认)
      XmlAccessType.NONE:不映射

@XmlElement  指定一个字段或get/set方法映射到XML的节点。如,当一个类的XmlAccessorType 被标注为PROPERTY时,在某一个没有get/set方法的字段上标注此注解,即可将该字段映射到XML。
参数:defaultValue  指定节点默认值
         name             指定节点名称
         namespace    指定节点命名空间
         required         是否必须(默认为false)
         nillable           该字段是否包含 nillable="true" 属性(默认为false)
        type               定义该字段或属性的关联类型

@XmlAttribute  指定一个字段或get/set方法映射到XML的属性。
参数:name             指定属性名称
         namespace    指定属性命名空间
         required         是否必须(默认为false)

@XmlTransient  定义某一字段或属性不需要被映射为XML。如,当一个类的XmlAccessorType 被标注为PROPERTY时,在某一get/set方法的字段上标注此注解,那么该属性则不会被映射。

@XmlType 定义映射的一些相关规则
参数:propOrder        指定映射XML时的节点顺序
         factoryClass     指定UnMarshal时生成映射类实例所需的工厂类,默认为这个类本身
         factoryMethod  指定工厂类的工厂方法
         name               定义XML Schema中type的名称
         namespace      指定Schema中的命名空间

@XmlElementWrapper  为数组元素或集合元素定义一个父节点。如,类中有一元素为List items,若不加此注解,该元素将被映射为
    <items>...</items>
    <items>...</items>
这种形式,此注解可将这个元素进行包装,如:

    @XmlElementWrapper(name="items")
    @XmlElement(name="item")
    public List items;
将会生成这样的XML样式:
    <items>
       <item>...</item>
       <item>...</item>
    </items>

@XmlJavaTypeAdapter  自定义某一字段或属性映射到XML的适配器。如,类中包含一个接口,我们可以定义一个适配器(继承自 javax.xml.bind.annotation.adapters.XmlAdapter类),指定这个接口如何映射到XML。

@XmlSchema 配置整个包的namespace,这个注解需放在package-info.java文件中。

 

 

测试:

将上面的代码做少许更改,如下:

 

    @XmlElement(name = "myname")   
    public String getName() {
        return name;
    }

    @XmlAttribute(name = "theID")
    public int getId() {
        return id;
    }  

 结果打印输出为:

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<customer theID="100">

    <age>29</age>

    <myname>mkyong</myname>

</customer>

Customer[mkyong,100,29]

发现改变了属性及节点的标签名称。

 

总结:

注解可以放在成员变量声明上面,也可以放在set/get函数上面。若是要指定别名的时候,不能放在变量声明上面,会报错。

 

参考:jaxb注解

 


    
[3] CATransition对 type的设立
    来源: 互联网  发布时间: 2014-02-18
CATransition对 type的设置
   [UIView beginAnimations:nil context:nil];
              [UIView setAnimationRepeatAutoreverses:YES];//动画是否返回
  
    [UIView setAnimationDuration:0.3];
  
    button.alpha =0;
  
  
    [UIView commitAnimations];

CATransition的type属性
 
1.#define定义的常量
     kCATransitionFade   交叉淡化过渡
     kCATransitionMoveIn 新视图移到旧视图上面
     kCATransitionPush   新视图把旧视图推出去
     kCATransitionReveal 将旧视图移开,显示下面的新视图
 
2.用字符串表示
     pageCurl            向上翻一页
     pageUnCurl          向下翻一页
     rippleEffect        滴水效果
     suckEffect          收缩效果,如一块布被抽走
     cube                立方体效果
     oglFlip             上下翻转效果 
 
- (void)MyCAnimation1 {  
     
    CATransition *animation = [CATransition animation]; 
    //动画时间 
    animation.duration = 1.0f; 
    //display mode, slow at beginning and end 
    animation.timingFunction = UIViewAnimationCurveEaseInOut; 
    //过渡效果 
    animation.type = kCATransitionMoveIn; 
    //过渡方向 
    animation.subtype = kCATransitionFromTop; 
    //添加动画 
    [imageView.layer addAnimation:animation forKey:nil]; 

 
- (void)MyCAnimation2 {  
     
    CATransition *animation = [CATransition animation]; 
    //动画时间 
    animation.duration = 1.0f; 
    //display mode, slow at beginning and end 
    animation.timingFunction = UIViewAnimationCurveEaseInOut; 
    //在动画执行完时是否被移除 
    animation.removedOnCompletion = NO; 
    //过渡效果 
    animation.type = @"pageCurl"; 
    //过渡方向 
    animation.subtype = kCATransitionFromRight; 
    //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果 
    animation.fillMode = kCAFillModeForwards; 
    //动画停止(在整体动画的百分比). 
    animation.endProgress = 0.7; 
    [imageView.layer addAnimation:animation forKey:nil]; 

 
- (void)MyCAnimation3 {  
     
    CATransition *animation = [CATransition animation]; 
    //动画时间 
    animation.duration = 1.0f; 
    //display mode, slow at beginning and end 
    animation.timingFunction = UIViewAnimationCurveEaseInOut; 
    //过渡效果 
    animation.type = @"pageUnCurl"; 
    //过渡方向 
    animation.subtype = kCATransitionFromRight; 
    //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果 
    animation.fillMode = kCAFillModeBackwards; 
    //动画开始(在整体动画的百分比). 
    animation.startProgress = 0.3; 
    [imageView.layer addAnimation:animation forKey:nil]; 
}

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3