当前位置:  编程技术>移动开发
本页文章导读:
    ▪Sencha第二章 格局(2) Card布局        Sencha第二章 布局(2) Card布局 一、Fit布局 Fit布局很有特点,它只允许自己的第一个item被显示出来,并且填充满自己。如果它的item多于一个,那难免是会出些意外的情况的。 如果你发现你的.........
    ▪ java 语言基础小结        java 语言基础总结 数据类型 1.  数据类型:基本数据类型(布尔和数值类型)和引用数据类型(类,接口和数组)。 2.  直接量:基本数据类型直接量、字符串直接量和null。 3.  变量:.........
    ▪ [中转]移动手机消息推送机制       [转发]移动手机消息推送机制 http://blog.csdn.net/zphappy/article/details/6658504 ......

[1]Sencha第二章 格局(2) Card布局
    来源: 互联网  发布时间: 2014-02-18
Sencha第二章 布局(2) Card布局
一、Fit布局

Fit布局很有特点,它只允许自己的第一个item被显示出来,并且填充满自己。如果它的item多于一个,那难免是会出些意外的情况的。

如果你发现你的容器内的控件有的没有全部被显示出来,那不妨看看它的layout是否为fit,试着将它强制设为vbox往往就能解决问题。

下图是在一个layout为fit的Panel里放了三个button的结果:

所以说:除非你想营造些令人匪夷所思的效果,请不要在fit布局的容器里面放超过一个的东西。

二、Card布局

Sencha Touch 中,Card布局继承Fit布局。算是用得比较多的一个布局了,许多的界面切换都需要这个布局的Panel的参与。Sencha Touch中使用Card布局的有:TabPanel、Carousel。

该布局会包含多个子面板,任何时候都只有一个子面板处于显示状态,该布局的重点方法是setActiveItem,

 

让我们看看官方文档是怎么写的

Component对象:Sencha Touch里所有可视控件都是由Component派生的。

第一个参数可以是:

1. 一个数字 比如说1代表激活容器里items[1],即第二个item。

2. 一个字符串 这个字符串是一个Component对象的id。

3. 一个Component对象 如果你传入的Component对象不在容器的items中,则框架会自动将其添加至items,并设置为活动的item。

第二个参数可以是:

1. 一个字符串 这个字符串代表动画效果 可选的有 slide pop fade flip cube等

2. 一个动画对象 可以对动画效果进行更多的配置。如{type: 'slide', direction : 'right'} 如果想要做出更漂亮的动画效果,请参看官方文档 anim 类。

下面看一个例子:

card布局
var myApp = new Ext.Application({
    name: 'myApp',
    launch: function () {
        
        var myPanel1 = new Ext.Panel({
            id: 'myPanel1',
            layout: 'vbox',
            html: 'Oh, this is Panel1!',
            items: {
                xtype: 'button',
                text: '前往Panel2',    
                handler: function(){
                    myApp.views.mainPanel.setActiveItem(    //设置活动项的方法
                        'myPanel2',                    //第一个参数为mypanel2的id 在这里也可以填数字 ‘1’
                        'slide'                        //这个参数为切换效果
                    );
                }
            }
        });
        
        var myPanel2 = new Ext.Panel({
            id: 'myPanel2',
            layout: 'vbox',
            html:  'This is Panel2!',
            items: {
                xtype: 'button',
                text: '前往Panel3',
                handler: function(){
                    
                    var pnl = new Ext.Panel({
                        html:'这个是点击按钮之后才创建的Panel,演示到此结束'
                    });
                    
                    myApp.views.mainPanel.setActiveItem(
                        pnl,{            //这里参数是刚创建的panel
                        type: 'slide',    //这里动画效果为一个动画效果对象
                        direction: 'right'
                    });
                }
            }
        });
        
        myApp.views.mainPanel = new Ext.Panel({
            fullscreen: true,
            layout: 'card',
            items: [myPanel1, myPanel2]    //第一个为默认界面
        });
    }
});

这个例子演示了如何使用card布局进行画面的切换,当然,实际使用的时候,碰到更多的问题是无法避免的,本篇文章也无法为大家一一解答。如果大家有什么共性的问题,欢迎提出来探讨。

ps:因为TabPanel、Carousel本身都是Card布局,因此,我们也可以调用它的setActiveItem()来改变当前显示的内容


    
[2] java 语言基础小结
    来源: 互联网  发布时间: 2014-02-18
java 语言基础总结
数据类型

1.  数据类型:基本数据类型(布尔和数值类型)和引用数据类型(类,接口和数组)。

2.  直接量:基本数据类型直接量、字符串直接量和null。

3.  变量:变量名、数据类型、存储单元和变量值。

4.  在引用数据类型变量的存储单元内存放的变量值是引用,即指向实例的索引。

5.  基本数据类型值传递相当于传的是值,不会改变函数外面变量的值

6.  引用数据类型值传递相当于传的是地址,会直接改变函数外面变量的内容

 

数组

1.    定义:

int [ ] arrayOfInt = new int[100];

int [ ] arrayOfInt = {2, 3, 4};

new int [ ] = {2, 3, 4}; // 匿名数组,用于传递给方法。

2.    复制:

int [ ] arrayOfInt1 = arrayOfInt2; // arrayOfInt1 和arrayOfInt2 两个变量引用相同的数组。

System.arrayCopy(from, fromIndex, to, toIndex, count); // 将一个数组里的值拷贝到另一个数组中。

3.    数组作为参数的使用:可以改变数组中元素的值

4.    注意:越界访问数组,编译时不会出错,但运行时会抛出异常

5.    声明一个数组变量并不创建一个数组对象或者为数组成分分配任何空间,它只创建变量自身,这个变量可以包含一个数组的引用。

垃圾回收机制

1.  Java没有机构方法,提供了一个类似的方法:protected void finalize()。

2.  Java程序可以不用处理内存的释放,而由Java系统自动进行处理。

3.  原理:不再被Java程序所用的内存是可以释放的,这些内存也称为垃圾。所以释放内存也称为垃圾回收。判断一个存储单元是否是垃圾的依据是该存储单元嗦对应的对象是否仍为程序所用。而判断一个对象是否为程序所用的依据是是否有引用指向该对象。这样,Java虚拟机就可以自动判断出并收集到“垃圾”,但一般不会立即释放它们的存储空间。Java系统自己定义了一套垃圾回收算法,用来提高垃圾回收的效率。所以Java系统不保证先申请的存储单元会先被释放。

4.  Java虚拟机另外提供了方法“System.gc()”来强制立即回收垃圾。

 

继承性

1.  子类的实例同时也是父类的实例,而父类的实例不是子类的实例

2.  子类实例的引用可以直接赋值给父类类型的引用变量,如:

J_SubClass a = new J_SubClass();

J_SuperClass b = a;

3.  如果父类类型的引用指向的实例是子类的实例,则该引用可以强制转换成子类的引用,如:

J_SubClass a = new J_SubClass();

J_SuperClass b= a;

J_SubClass t = (J_SubClass) b;

多态性

1.  静态多态性(overload):在编译时就可以被系统识别,指的是同一个类中同名方法在功能上的重载。相同方法名和不同参数列表(参数个数,参数数据类型个数,参数的数据类型的顺序),建议具有相似功能。(返回值可以不同吗?回答:仅仅返回值不同的话编译会报错。)

2.  动态多态性(override):在编译时不能被系统识别,只有在运行时才能被系统识别。指的是子类方法对父类相同声明的方法的覆盖;覆盖方法的返回值必须和被覆盖方法的返回值类型一致;覆盖方法所抛出的异常必须和被覆盖方法所抛出的异常一致,或者是其子类;被覆盖的方法不能是private,否则在其子类中只是新定义了一个方法,并没有对其覆盖;覆盖的方法的访问权限必须比被覆盖方法更大。

 

封装性

1.  类的访问控制方式:公共模式(所有类访问)和默认模式(在同一个包内访问)。

2.  类的成员(域和方法)访问控制方式:公共模式(所有类),保护模式(同一个类,包,子类),默认模式(同一个类,同一个包),私有模式(同一个类)

 

抽象类和接口

1.  抽象方法不能含有方法体,而且必须在抽象类中

2.  抽象类不能实例化,但是可以含有非抽象的方法

3.  抽象方法不能同时被声明为private,static,final,native或者synchronized

4.  Java不允许一个子类有多个直接父类,但允许一个类直接继承多个接口

5.  接口可以继承多个其他接口

6.  接口的修饰词包括:public,abstract,static,strictfp

7.  接口中的所有成员域都具有public,static,final的属性

8.  接口中的所用成员方法都具有public,abstract的属性

9.  抽象类(接口)的子类一定要覆盖抽象类(接口)中的所用抽象方法吗?回答:抽象方法必须在抽象类或接口中,如果抽象类的子类没有覆盖所有的抽象方法,那么它也是抽象类。

 

Static,final,volatile

1.  Static可以用来修饰类的成员域和成员方法

2.  静态成员属于类,可以直接用点运算符连接类名和成员名来调用

3.  静态方法只能调用静态方法和静态成员

4.  Final可以用来修饰类,类的成员域和成员方法

5.  Final修饰类时,该类不能派生出子类

6.  成员域具有final属性时,该成员域只能在定义时赋值,而且以后就不能膝盖该成员域的值了,如果定义时没有赋值,就必须在构造方法中赋值

7.  当类的成员方法具有final的属性时,其子类不能覆盖该成员方法

8.  域可以声明为volatile,在这种情况下线程每次访问该变量时都必须使它对该域的工作拷贝与住拷贝一致,而且代表一个线程的一个或多个异变变量的住拷贝上的操作由主存储器确切的按照线程要求的顺序进行。一个final域不能再声明为volatile。

 

内部类

1.  创建内部类的实例:

外部类名.内部类名变量名 = 外部类的引用.new 内部类名(构造方法参数列表)

2.  内部类的成员域要具有静态属性,则它必须同时有final属性,而且其初始值必须是在编译时就能确定的常量

3.  匿名内部类:

 

Main 方法

public static void main(String args[])

 

1.  main方法没有声明为public,编译可以通过,但运行时会提示“Main method not public.”

2.  main方法没有加static修饰词,编译可以通过,但运行时会抛出error "NoSuchMethodError"

 

3.  public static void 顺序可以变换

4.  没有写args 字符串数组,编译可以通过,但运行时会抛出error "NoSuchMethodError"

5.  没有从命令行输入任何参数,args数组为空,而不是null。即args.length == 0

 

 

构造方法

1.    构造方法没有返回值

2.    如果没有定义构造方法,系统会提供默认的构造方法,如果定义了,系统不会提供默认的构造方法。默认的构造方法没有参数,不提供操作。

3.    构造方法可以调用父类的构造方法(super()),也可以调用此类的另一构造方法(this()),这种调用必须由第一句来完成。

4.    子类的任何一个构造方法(有参,无参,系统提供)都会先调用父类的默认构造方法(无参或系统提供)。因此父类要么不定义构造方法,要么必须显式定义一个无参构造方法。


    
[3] [中转]移动手机消息推送机制
    来源: 互联网  发布时间: 2014-02-18
[转发]移动手机消息推送机制
http://blog.csdn.net/zphappy/article/details/6658504

    
最新技术文章:
▪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