欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android獲取其他包的Context實(shí)例代碼

 更新時(shí)間:2014年01月16日 15:57:17   作者:  
這篇文章主要介紹了Android獲取其他包的Context實(shí)例代碼,有需要的朋友可以參考一下

Android中有Context的概念,想必大家都知道。Context可以做很多事情,打開activity、發(fā)送廣播、打開本包下文件夾和數(shù)據(jù)庫(kù)、獲取classLoader、獲取資源等等。如果我們得到了一個(gè)包的Context對(duì)象,那我們基本上可以做這個(gè)包自己能做的大部分事情。
那我們能得到嗎?很高興的告訴你,能!
Context有個(gè)createPackageContext方法,可以創(chuàng)建另外一個(gè)包的上下文,這個(gè)實(shí)例不同于它本身的Context實(shí)例,但是功能是一樣的。

這個(gè)方法有兩個(gè)參數(shù):
1。packageName  包名,要得到Context的包名
2。flags  標(biāo)志位,有CONTEXT_INCLUDE_CODE和CONTEXT_IGNORE_SECURITY兩個(gè)選項(xiàng)。CONTEXT_INCLUDE_CODE的意思是包括代碼,也就是說可以執(zhí)行這個(gè)包里面的代碼。CONTEXT_IGNORE_SECURITY的意思是忽略安全警告,如果不加這個(gè)標(biāo)志的話,有些功能是用不了的,會(huì)出現(xiàn)安全警告。

下面給個(gè)小例子,執(zhí)行另外一個(gè)包里面的某個(gè)類的方法。
另外一個(gè)包的包名是chroya.demo,類名Main,方法名print,代碼如下:

Java代碼

復(fù)制代碼 代碼如下:

package chroya.demo;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

class Main extends Activity {

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
 }

 public void print(String msg) {
  Log.d("Main", "msg:"+ msg);
 }
}


本包的調(diào)用Main的print方法的代碼塊如下:
Java代碼
復(fù)制代碼 代碼如下:

Context c = createPackageContext("chroya.demo", Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
//載入這個(gè)類
Class clazz = c.getClassLoader().loadClass("chroya.demo.Main");
//新建一個(gè)實(shí)例
Object owner = clazz.newInstance();
//獲取print方法,傳入?yún)?shù)并執(zhí)行
Object obj = clazz.getMethod("print", String.class).invoke(owner, "Hello");

ok,這樣,我們就調(diào)用了chroya.demo包的Main類的print方法,執(zhí)行結(jié)果,打印出了Hello。
怎么樣,這只是一個(gè)調(diào)用其他包的代碼的例子,我們獲取到Context,還可以做很多事情,當(dāng)然,題目所說的壞事,還是不要做為好。

相關(guān)文章

  • 詳解android與服務(wù)端交互的兩種方式

    詳解android與服務(wù)端交互的兩種方式

    這篇文章主要介紹了詳解android與服務(wù)端交互的兩種方式,此處介紹兩種方式:使用Google原生的Gson解析json數(shù)據(jù),使用JSONObject解析json數(shù)據(jù),有興趣的可以了解一下
    2017-07-07
  • 淺析AndroidStudio3.0最新 Android Profiler分析器(cpu memory network 分析器)

    淺析AndroidStudio3.0最新 Android Profiler分析器(cpu memory network

    Android Profiler分為三大模塊: cpu、內(nèi)存 、網(wǎng)絡(luò)。本文給大家介紹AndroidStudio3.0最新 Android Profiler分析器(cpu memory network 分析器)的相關(guān)知識(shí),他們的基本使用方法,在文中都給大家提到,具體內(nèi)容詳情大家通過本文一起學(xué)習(xí)吧
    2017-12-12
  • BroadcastReceiver動(dòng)態(tài)注冊(cè)案例詳解

    BroadcastReceiver動(dòng)態(tài)注冊(cè)案例詳解

    這篇文章主要為大家詳細(xì)介紹了BroadcastReceiver動(dòng)態(tài)注冊(cè)案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • flutter BottomAppBar實(shí)現(xiàn)不規(guī)則底部導(dǎo)航欄

    flutter BottomAppBar實(shí)現(xiàn)不規(guī)則底部導(dǎo)航欄

    這篇文章主要為大家詳細(xì)介紹了flutter BottomAppBar實(shí)現(xiàn)不規(guī)則底部導(dǎo)航欄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Android實(shí)現(xiàn)類似微信的文本輸入框 效果

    Android實(shí)現(xiàn)類似微信的文本輸入框 效果

    本文給大家介紹一下微信的文本輸入框是如何實(shí)現(xiàn)的,其實(shí)那只是個(gè)普通的文本框設(shè)了一個(gè)特殊的背景而已。具體微信怎么實(shí)現(xiàn)的,大家可以反編譯下,這里介紹下如何實(shí)現(xiàn)這個(gè)背景
    2017-05-05
  • Android中區(qū)別Drawable Bitmap Canvas Paint

    Android中區(qū)別Drawable Bitmap Canvas Paint

    本文主要介紹Android中Drawable Bitmap Canvas Paint 之間的區(qū)別,這里對(duì)這幾個(gè)概念做出詳細(xì)介紹,開發(fā)Android游戲的朋友可以參考下
    2016-07-07
  • Kotlin協(xié)程到底是如何切換線程的

    Kotlin協(xié)程到底是如何切換線程的

    kotlin協(xié)程可以用同步方式寫異步代碼,自動(dòng)實(shí)現(xiàn)對(duì)線程切換的管理,本文主要給大家講解kotlin協(xié)程到底是怎么切換線程的,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • Android MVP模式ListView中嵌入checkBox的使用方法

    Android MVP模式ListView中嵌入checkBox的使用方法

    這篇文章主要介紹了Android MVP模式ListView中嵌入checkBox的使用方法,如何在ListView中嵌入checkBox配合使用,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Android實(shí)現(xiàn)從相冊(cè)選擇照片功能

    Android實(shí)現(xiàn)從相冊(cè)選擇照片功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)從相冊(cè)選擇照片功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Android手勢(shì)密碼實(shí)現(xiàn)實(shí)例代碼

    Android手勢(shì)密碼實(shí)現(xiàn)實(shí)例代碼

    本篇文章主要介紹了Android手勢(shì)密碼實(shí)現(xiàn)實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04

最新評(píng)論