android源码解读一(Context)
Context类Context是一个抽象类public abstract class Context里面定义了很多便利的方法返回应用需要的实例。1,返回操作文件的模式:a)MODE_PRIVATE ,MODE_APPEND,MODE_WORLD_READABLE,MODE_WORLD_WRITEABLE2,返回具体的操作对象AssetManager getAssets() 用来操作assets目录Resources getResources() 操作资源文件PackageManager getPackageManager() 获取包管理器ContentResolver getContentResolver() 用来管理内容提供者Looper getMainLooper() 获取当前进程的主线程Context getApplicaitonContext() 返回全局唯一的单例的ContextCharSequence getText(int resId) 通过资源文件获取名称String getString (int resId) 通过getResources()获取字符串Void setTheme(int resId) 设置当前context的基本主题,必须在试图显示之前调用该方法Theme getTheme() 返回当前主题ClassLoader getClassLoader() 获取一个类加载器ApplicationInfo getApplicationInfo() 获取整个应用的包信息String getPackageResourcePath() 返回当前应用资源文件resources的全路径String getPackageCodePath() 类路径File getSharedPrefsFile(String name) 根据给定的名称返回SharedPrefers的全路径文件SharedPreferences getSharedPreferences(String name,int mode) 创建一个SharedPreferences并返回FileInputStream openFileInput(String name) FileOutputStream openFileoutput(String name,int mode)Boolean deleteFile(String name) 删除一个当前应用的文件File getFileStreamPath(String name)返回一个已经存储了的创建的文件的绝对路径File getFilesDir() 如果文件被openFileOutput()创建,返回一个已经存在的系统绝对路径文件目录File getChacheDir() 返回存放缓冲文件的绝对路径File getExternalCacheDir() 返回SD卡存储路径String[] fileList() 列出当前应用包的所有文件SQLiteDatabase openOrCreateDatabase(String name,int mode,CursorFactory factory)Boolean deleteDatabase(String name)删除一个已经存在的数据库File getDatabasePath(String name) 返回数据库存储的绝对路径位置String[] databaseList() 返回当前应用包下的所有数据库Void sendBroadcast(Intent intent)发送一个广播Void sendBroadcast(Intent intent ,String receiverPermission) 根据接收权限发送一个广播Boolean stopService(Intent service) 停止一个服务Boolean bindService(Intent service,ServiceConection conn,int flags)绑定一个服务Void unbindService(ServiceConnection conn) 断开一个服务Object getSystemService(String name) 根据名称获取一个系统服务系统的服务有如下:Android.view.windowManager #WINDOW_SERVICEAndroid.view.LayoutInflater #LAYOUT_INFLATER_SERVICEAndroid.app.ActivityManager #ACTIVITY_SERVICEAndroid.os.PowerManager #POWER_SERVICEAndroid.app.AlarmManager #ALARM_SERVICEAndroid.app.NotificationManager #NOTIFICATION_SERVICEAndroid.app.KeyguardManager #KEYGUARD_SERVICEAndroid.location.LocationManager #LOCATION_SERVICEAndroid.app.SearchManager #SEARCH_SERVICEAndroid.hardware.SensorManager #SENSOR_SERVICEAndroid.os.storage.StorageManager #STORAGE_SERVICEAndroid.os.Vibrator #VIBRATOR_SERVICEAndroid.net.ConnectivityManager #CONNCECTIVITY_SERVICEAndroid.net.wifi.WifiManager #WIFI_SERVICEAndroid.media.AudioManager #AUDIO_SERVICEAndroid.telephony.TelephonyManager #TELEPOONY_SERVICEAndroid.view.inputmethod.InputMethodManager #INPUT_METHOD_SERVICEAndroid.app.UiManager #UI_MODE_SERVICEAndroid.app.DownloadManager #DOWNLOAD_SERVICEInt checkCallingPermission(String permission) 判断当前应用是否拥有指定的权限Boolean isRestricted () 判断当前应用Context是否受限制
?