张飞学Android之嘲讽Context


《1》

//允许访问应用程序特定的资源和类,以及电话应用程序级的操作如发射活动,广播和接收的意图等

public abstract class Context {


 public static final int MODE_PRIVATE = ????;//

 public static final int MODE_WORLD_READABLE = 0x0001;

public static final int MODE_WORLD_WRITEABLE = 0x0002;

 public static final int MODE_APPEND = 0x8000;


以上是四种访问模式。(在其他应用使用的四种模式)。。粗略描述一下


public static final int BIND_AUTO_CREATE = 0x0001;

  • 第一个bindService()的参数是一个明确指定了要绑定的service的Intent.

  • 第二个参数是ServiceConnection对象.

  • 第三个参数是一个标志,它表明绑定中的操作.它一般应是BIND_AUTO_CREATE,这样就会在service不存在时创建一个.其它可选的值是BIND_DEBUG_UNBIND和BIND_NOT_FOREGROUND,不想指定时设为0即可.。


    public static final int BIND_DEBUG_UNBIND = 0x0002;




《2》

|-----Android系统为每个新设计的程序提供了/assets目录,这个目录保存的文件可以打包在程序里。/Res和assets的不同点是,Android不为/assets下的文件生成ID.

如果使用/assets下的文件,需要指定文件的路径和文件名。

    /** Return an AssetManager instance for your application's package. */
    public abstract AssetManager getAssets();


事例://访问assets目录下的文件

 AssetManager assetManager =getAssets();

 assetManager.open("readme.txt");//打开asset目录下的readme.txt文件

 assetManager.list("image");//加载image文件下的文件名,返回String[]


|-----Android的文件管理器,里面用到很多的地方用到了getResources。
    /** Return a Resources instance for your application's package. */
    public abstract Resources getResources();

事例:读取res/drawable目录下的png或者bmg

                                //得到Resources对象
                               Resources r = this.getContext().getResources();
                               //以数据流的方式读取资源
                               Inputstream is = r.openRawResource(R.drawable.my_background_image);
                               BitmapDrawable bmpDraw = new BitmapDrawable(is);
                               Bitmap bmp = bmpDraw.getBitmap();

                               注意,使用getResource()的时候注意

                               1、必须要有Context呀

                               2、可以用作成员变量,构造传入或方法参数传入。就可以了。


|-----
    /** Return PackageManager instance to find global package information. */
    public abstract PackageManager getPackageManager();


android系统中,有很多管理服务相关的类:TelephoneManager,WindowManager,SmsManager,ActivityManager等。

|-----

在Android中,我们的应用有的时候需要对外提供数据接口,可以有如下几种方法:1)AIDL 2)Broadcast 3)ContentProvider。
    /** Return a ContentResolver instance for your application's package. */
    public abstract ContentResolver getContentResolver();


4)

    public abstract Looper getMainLooper();


5)

  public abstract Context getApplicationContext();

   


明天再续。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值