• 全局获取Context的技巧


    全局获取Context的技巧

    android开发中,非常多地方都要用到Context上下文这个类对象,比方:弹出 Toast

    的时候须要、启动活动的时候须要、发送广播的时候须要、操作数据库的时候须要、使用通

    知的时候须要等。

    假设是在Activity中,那么获取这个context对象非常easy,由于Activity本身就继承Context。直接受用this就能够了。

    可是对于比較复杂的逻辑,这些代码没有放在Activity中。那么。获取Context就显得不是那么easy了。

    这里告诉大家一个技巧:

    Android 提供了一个 Application 类。每当应用程序启动的时候,系统就会自己主动将这个类

    进行初始化。

     而我们能够定制一个自己的 Application 类, 以便于管理程序内一些全局的状态信息,比方说全局 Context

    1,新建一个类MyApplication继承Application.

    代码例如以下:

    package com.example.networktest;
    public class MyApplication extends Application {
        private static Context context;
        @Override
        public void onCreate() {
            context = getApplicationContext();
        }
        public static Context getContext() {
            return context;
        }
    }


    2,在 AndroidManifest.xml 文件的<application>标签下进行指定就能够了,代码例如以下所看到的:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.networktest"
    android:versionCode="1"
    android:versionName="1.0" >
    ……
    <application
    android:name="com.example.networktest.MyApplication"
    …… >
    ……
    </application>
    </manifest>

    注意:指定 MyApplication 的时候一定要加上完整的包名,不然系统将无法找到这

    个类。

     

    这样我们就已经实现了一种全局获取 Context的机制,之后无论你想在项目的不论什么地方

    使用 Context,仅仅须要调用一下 MyApplication.getContext()就能够了。


  • 相关阅读:
    php 处理 json_encode 中文显示问题
    php输出cvs文件,下载cvs文件
    php服务器端生成csv文件
    在VS2013中强制IIS Express应用程序池使用经典模式
    align=absMiddle属性设置
    30个惊人的插件来扩展 Twitter Bootstrap
    jquery.fullCalendar官方文档翻译(一款小巧好用的日程管理日历, 可集成Google Calendar)
    jquery操作select(取值,设置选中)
    Bootstrap Paginator 分页 demo.
    uniform 中checkbox通过jquery 选中
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5180902.html
Copyright © 2020-2023  润新知