赵峻天 学习笔记1

Posted by SIPC Android's Blog on May 24, 2019

匿名内部类

当某个类只需要使用一次时,为了代码简洁,使用匿名内部类,可避免单独编写为一个类

如以下页面跳转代码:

Button button=(Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View v) {
                 Intent intent =new Intent(MainActivity.this,BankActivity.class);
                 startActivity(intent);
             }
        });

只要一个类是抽象的或是一个接口,那么其子类中的方法都可以使用匿名内部类来实现

接口回调

回调可以指出某个特定事件发生时应采取的动作

例如在构造定时器时,需要设置一个时间间隔,并告之定时器到达时间间隔时需要做些什么

这就需要传递的对象所属的类实现如下接口:

public interface ActionListener{
    void actionPerformed(ActionEvent event)
}

它将某个类的对象传递给定时器,然后定时器调用这个对象的方法

当到达指定时间时,定时器就调用actionPerformed方法

泛型

泛型意味着编写的代码可以被很多不同类型的对象所重用

就像一个ArrayLis类可以集聚任何类型的对象,这就是一个泛型程序设计的实例

一个例子:

//此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型
//在实例化泛型类时,必须指定T的具体类型
public class Generic<T>{ 
    //key这个成员变量的类型为T,T的类型由外部指定  
    private T key;

    public Generic(T key) { //泛型构造方法形参key的类型也为T,T的类型由外部指定
        this.key = key;
    }

    public T getKey(){ //泛型方法getKey的返回值类型为T,T的类型由外部指定
        return key;
    }
}

Activity布局

android:id 可以通过该方法来设置TextView的ID,然后可以通过findViewById()方法来获取控件

android:layout_width与android:layout_height代表控件的宽度与高度

属性代表着控件的宽度,该属性的值是match_parent, 表示该控件的宽度与父视图的宽度相同。

android:layout_height属性代表着控件的高度,该属性的值是wrap_content,表示控件的高度根据内容的高度进行改变。 android:textSize可以改变文字的大小,单位是sp

android:textColor可设置字体颜色

android:background可设置背景颜色