Android Context作用

Context 用于访问全局信息的接口

    App的资源: strings, drawable资源等等

 

工程代码:LearnContext.zip

--------------------------------------------------------

下面来看一个用Context来范围资源的粒子

public class MainActivity extends Activity {

    String TAG = "CARLOZ";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        //Activity 本身就是一个 Context
        TextView tv = new TextView(MainActivity.this);
        tv.setText("hello carloz");
        tv.setText(R.string.hello_world);
        setContentView(tv);
        
        String str = (String) getApplicationContext().getResources().getText(R.string.hello_world);
        Log.d(TAG, str);
        // 输出 08-16 11:59:27.402: D/CARLOZ(13255): Hello world!

        ImageView iv = new ImageView(MainActivity.this);
        iv.setImageResource(R.drawable.ic_launcher);
        setContentView(iv);
    }
}

    由上代码可以看出新建一个TextView或者ImageView至少要 一个参数 Context,Activity本身就是一个Context,所以可以复制。

    tv.setText(R.string.hello_world); 传入一个string id, 而setText API内部的代码是 getContext().getResources().getText(resid);  可以看到,获取资源需要用到Context。

 

 

   

 

posted @ 2015-08-16 12:53  carlo-z  阅读(283)  评论(0编辑  收藏  举报