Android中Context的理解及使用(二)——Application的用途

实现数据共享功能:

  多个Activity里面,可以使用Application来实现数据的共享,因为对于同一个应用程序来说,Application是唯一的。

1、实现全局共享的数据App.java继承自Application:

    public class App extends Application {

      private String textData = "default";

      public void setTextData(String textData) {
         this.textData = textData;
      }
      public String getTextData() {
         return textData;
      }
    }

并配置AndroidManifest.xml:android:name=".App"

2、创建类Main2继承自Activity(会在启动页面呈现两个图标,这两个Activity都是应用程序的入口),

   并配置AndroidManifest.xml:

  <activity android:name=".MainActivity" android:label="Main1">
    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />  <!--启动-->
    </intent-filter>
  </activity>
  <activity android:name=".Main2" android:label="Main2">
    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>

3、创建main1.xml和main2.xml,都是同一布局:

  <TextView
    android:text="展示保存的内容"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/textView" />

  <EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editText" />

  <Button
    android:text="保存"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/btnSaveData" />

4、MainActivity.java和Main2.java的功能实现:

  public class MainActivity extends AppCompatActivity {

    private TextView textView;
    private EditText editText;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main1);  //setContentView(R.layout.main2);

      textView = (TextView) findViewById(R.id.textView);
      editText = (EditText) findViewById(R.id.editText);
      textView.setText("共享的数据是:"+getApp().getTextData());

      findViewById(R.id.btnSaveData).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          getApp().setTextData(editText.getText().toString());
          textView.setText("共享的数据是:"+editText.getText().toString());
        }
      });
    }
    public App getApp(){
      return (App)getApplicationContext();
    }
  }

时间: 2024-12-30 01:06:37

Android中Context的理解及使用(二)——Application的用途的相关文章

Android中Context的理解与使用技巧

Context类,时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等都会利用到Context的相关方法. 但是不懂Context的原理.类结构关系.一个简单的问题是,一个应用程序App中存在多少个Context实例对象呢? Context,中文直译为"上下文",SDK中对其说明如下: Interface to global information about an application environment. This is an ab

【三】6.Android 中 Context 的理解及使用

[一]Context的作用:访问全局信息 Context是访问全局信息的接口,比如说应用程序的资源(图片资源.字符串资源.其他资源...), 所以一些常用组件就会继承Context,目的就是为了访问资源,比如说Activity以及将要学习的Service. 创建项目来看下如何通过Context进行资源的访问. public class MainActivity extends Activity{     private TextView tv;          @Override     pr

(四)Android中Context的理解与使用

一.Context的作用 Context可用于访问全局资源. public class MainActivity extends Activity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = new TextV

《Android笔记3.6》 Android 中 Context 的理解及使用

课程背景:Context 是 Android 中一个非常重要的概念,用于访问全局信息,几乎所有的基础组件都继承自 Context,理解 Context 对于学习 Android 四大基本组件非常有帮助. 核心内容:1.理解 Context2.理解 Application Context 的作用 用于访问全局的资源 很多常用组件都是继承自Context,就是为了方便访问资源. private TextView tv; @Override protected void onCreate(Bundle

Android中Context详解 ---- 你所不知道的Context

转载至 :http://blog.csdn.net/qinjuning 前言:本文是我读<Android内核剖析>第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书. 大家好,  今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中 时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等都会利用到Context的相关方法 : 说它陌生,完全是 因为我们真正的不懂Context

Android中Context详解 ---- 你所不知道的Context (转载)

Android中Context详解 ---- 你所不知道的Context (转载) http://blog.csdn.net/qinjuning 大家好,  今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中 时刻的在与它打交道,例如:Service.BroadcastReceiver.Activity等都会利用到Context的相关方法 : 说它陌生,完全是 因为我们真正的不懂Context的原理.类结构关系.一个简单的问题是,一个应用

Android中Context详解 ---- 你所不知道的Context(转)

Android中Context详解 ---- 你所不知道的Context(转)                                              本文出处 :http://blog.csdn.net/qinjuning 前言:本文是我读<Android内核剖析>第7章 后形成的读书笔记 ,在此向欲了解Android框架的书籍推荐此书. 大家好,  今天给大家介绍下我们在应用开发中最熟悉而陌生的朋友-----Context类 ,说它熟悉,是应为我们在开发中 时刻的在与它打

Android中关于JNI 的学习(二)对于JNI方法名,数据类型和方法签名的一些认识

处理特征数据 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26240241 输入文件:  1. 归一化后的特征文件, 第1列是标签, 其余列是特征; 2. 特征最大值向量文件: 前3列是标准格式, 其余列是最大值; 输出文件: 1. 符合SVM训练数据的特征格式; 2. Mat存储的标准XML文件; 代码: /* 处理特征数据程序 By C.L.Wang 数据格式: 特征数据: 第1列是标签, 其余列是特征; 最大

Android中Context的总结及其用法

在语句 android中我们经常遇到这样的情况,在创建一个对象的时候往往需要传递一个this参数,比如:语句 MyView mView = new MyView(this),要求传递一个this参数,这个this究竟指的是什么东西呢? 其实这里的this指的就是当前的Activity.this,是这个语句所在的Activity的this.Activity.this取的是这个Activity的Context,那么这个Context究竟是什么东西呢?它起到什么作用呢? Context 按照英文字面意