第一行代码笔记1

来源:互联网 发布:时钟js代码大全 编辑:程序博客网 时间:2024/05/21 07:14
1.许多函数调用的时候都需要提供context,而activity也是继承自context的,

当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context。

Context是一个抽象基类,我们通过它访问当前包的资源(getResources、getAssets)和启动其他组件(Activity、Service、Broadcast)以及得到各种服务(getSystemService),当然,通过Context能得到的不仅仅只有上述这些内容。对Context的理解可以来说:Context提供了一个应用的运行环境,在Context的大环境里,应用才可以访问资源,才能完成和其他组件、服务的交互,Context定义了一套基本的功能接口,可以理解为一套规范,而Activity和Service是实现这套规范的子类

2.匿名内部类

abstract class A {
    public abstract void func();
}
public class Test {
    public static void main(String[] args) {
        A b = new A() {
 
            @Override
            public void func() {
                // TODO Auto-generated method stub
 
            }
        };
    }
}

A是抽象类或者接口的时候,你在new的时候就需要对其进行实现

button1.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View v){Intent intent = new Intent(firstActivity.this,secondActivity.class);startActivity(intent);}});

this作为当前对象,直接用在Activity里面是没问题的,当this在匿名内部类中使用,当前的对象就变成new的内部类,而你传入的东西如果是整个Activity的话,就要Activity.this了。

3.LayoutInflater是用来实例化整个布局文件,而 MenuInflater是用来实例化Menu目录下的Menu布局文件的。

0 0