第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Android 全局獲取Context & Intent傳遞對(duì)象

標(biāo)簽:
Android
全局获取 Context

很多情况下都需要用到 Context,由于大部分操作都是在活动中进行的,而活动本身就是一个 Context 对象,所有只需要Activity.this 就可以轻松获得 Context对象。
但是,当应用程序的架构逐渐复杂起来的时候,很多的逻辑代码都将脱离 Activity 类,这种情况下获取 Context并非是那么轻松的一件事。

Android 提供了一个 Application 类,每当应用程序启动的时候,系统就会自动将这个类进行初始化。
定制一个 Application 以便于管理程序内全局状态的信息,比如 Context,代码如下:

public class MyApplication extends Application {

    private static Context context;

    @Override
    public void onCreate() {
        super.onCreate();
        //得到一个应用程序级别的 Context
        context = getApplicationContext();
    }

    public static Context getContext() {
        return context;
    }
}

接下来需要在 AndroidManifest 文件的<application>标签下指定程序启动时初始化 MyApplication 类:

 <application android:name="MyApplication">...</application>

这样就实现了一种全局获取 Context 的机制,之后不管你想在项目的任何地方使用 Context,只需要调用一下 MyApplication.getContext() 方法就可以了:

     Toast.makeText(MyApplication.getContext(),"全局Context获取成功",Toast.LENGTH_SHORT).show();

使用 Intent 传递对象

Intent 的 putExtra( )方法中所支持的数据类型是有限的,当你想去传递一些对象的时候就需要将这些对象进行序列化。
序列化表示将一个对象转换成可存储或可传输的状态。序列化后的对象可以在网络上进行传输,也可以存储到本地。

对象序列化的方法很简单,只需要让一个类去实现 Serializable 这个接口就可以了。

public class Festival implements Serializable {
    private String name;
    private String data;

    public Festival(String name,String data){
        this.name = name;
        this.data = data;
    }

    public String getName() {
        return name;
    }

    public String getData() {
        return data;
    }
}

接下来在 FirstActivity 中创建一个 Festival 实例,然后直接将它传入到 putExtra()方法中。

 Festival festival = new Festival("元旦节","1月1日");
 Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
 intent.putExtra("festival_object", festival);
 startActivity(intent);

最后在 SecondActivity 中调用 getSerializableExtra() 方法获取这个对象。

 Person person = (Person)getIntent().getParcelableExtra("person_object");

如此一来,我们就成功实现了使用 Intent 传递对象的功能了。

點(diǎn)擊查看更多內(nèi)容
12人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消