1. 传值第五种方式:
  2. * 程序的全局变量application
  3. * 特点:1.一个程序application对象只能有一个
  4. * 2.application对象在程序启动时就创建
  5. * 3.通常用来存放全局变量

xml布局文件

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent"
  5. android:paddingBottom="@dimen/activity_vertical_margin"
  6. android:paddingLeft="@dimen/activity_horizontal_margin"
  7. android:paddingRight="@dimen/activity_horizontal_margin"
  8. android:paddingTop="@dimen/activity_vertical_margin"
  9. tools:context=".MainActivity" >
  10.  
  11. <Button
  12. android:id="@+id/btn01"
  13. android:layout_width="match_parent"
  14. android:layout_height="wrap_content"
  15. android:text="跳转到第二个页面"/>
  16.  
  17. </RelativeLayout>

myApplication.java

  1. package com.example.day05_application_passvalue;
  2.  
  3. import android.app.Application;
  4. import android.util.Log;
  5. /**
  6. *
  7. *
  8. * @author my
  9. *
  10. */
  11. //注意:需要在AndroidManifest.xml清单文件中注册自定义application
  12. public class myApplication extends Application{
  13.  
  14. private String TAG = "MainActivity";
  15. private String text = "呵呵呵呵";
  16. public String getTAG() {
  17. return TAG;
  18. }
  19. public void setTAG(String tAG) {
  20. TAG = tAG;
  21. }
  22. public String getText() {
  23. return text;
  24. }
  25. public void setText(String text) {
  26. this.text = text;
  27. }
  28. //重写onCreate()方法,application创建的时候调用
  29. @Override
  30. public void onCreate() {
  31. super.onCreate();
  32. Log.i(TAG, "MainActivity-->myApplication");
  33. }
  34. }

MainActivity.java

  1. package com.example.day05_application_passvalue;
  2.  
  3. import android.os.Bundle;
  4. import android.app.Activity;
  5. import android.app.Application;
  6. import android.content.Intent;
  7. import android.util.Log;
  8. import android.view.Menu;
  9. import android.view.View;
  10. import android.widget.Button;
  11.  
  12. public class MainActivity extends Activity {
  13.  
  14. private Button btn;
  15.  
  16. @Override
  17. protected void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.activity_main);
  20. btn = (Button) findViewById(R.id.btn01);
  21. //获取Application对象
  22. myApplication app = (myApplication)getApplication();
  23. //通过application对象获得值
  24. String text = app.getText();
  25. Log.i("MainActivity", text);
  26. //改变值
  27. app.setText("hahhah,值在Activity中被改变");
  28. /**
  29. * button点击事件,点击跳转到另一个页面
  30. */
  31. btn.setOnClickListener(new View.OnClickListener() {
  32. @Override
  33. public void onClick(View v) {
  34. Intent intent = new Intent(MainActivity.this,Activity2.class);
  35. startActivity(intent);
  36. }
  37. });
  38. }
  39. }

Activity2.java

  1. package com.example.day05_application_passvalue;
  2.  
  3. import android.app.Activity;
  4. import android.app.Application;
  5. import android.os.Bundle;
  6. import android.util.Log;
  7. import android.widget.TextView;
  8.  
  9. public class Activity2 extends Activity{
  10. private TextView tv;
  11.  
  12. @Override
  13. protected void onCreate(Bundle savedInstanceState) {
  14. // TODO Auto-generated method stub
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.layout1);
  17. tv = (TextView) findViewById(R.id.text01);
  18. Log.i("MainActivity", "MainActity-->Activity2");
  19. myApplication app = (myApplication) getApplication();
  20. tv.setText(app.getText());
  21. }
  22.  
  23. }

Intent传值之通过Application传值的更多相关文章

  1. iOS 页面跳转传值,属性传值,代理传值,代码块传值,单例传值,通知传值

    有时候我们在页面跳转的时候回传递相应的参数,如,你想把在第一个页面的文本框里的内容显示在第二个文本框中,或者你又想把第二个文本框中的内容改变之后到第一个页面的文本框中,所有,这个时候我们就要用到页面跳 ...

  2. iOS-跨界面传值和跨应用传值

    跨界面传值 从一个界面将一个结果值传到另一个界面,这个是我们在开发过程中非常常见的一个问题.传值本身并不是一个太复杂的问题,在此主要简述一下常用的传值方法. 我们传值常用的方法主要有四种: 1.属性传 ...

  3. 属性传值,协议传值,block传值,单例传值四种界面传值方式

    一.属性传值 对于属性传值而言,相对于其它的三种 方法来说,是最基础,最简单的一种 方法,但,属性传值 有很大的局限性,因为是适用于第一个界面向第二个界面传 值,第二个向第三个界面传值等等.N界面向N ...

  4. React创建组件的方法,组件的props属性、state属性的用法和特点,父子组件传值,兄弟组件传值

    创建组件的方法,组件的props属性.state属性的用法和特点,父子组件传值,兄弟组件传值 1.react组件 1.1.创建组件的方法 1.1.1.函数组件 定义一个组件最简单的方式是使用JavaS ...

  5. koa 基础(四)get 传值 以及获取 get 传值

    1.get 传值 以及获取 get 传值 app.js /** * get 传值 以及获取 get 传值 */ // 引入模块 const Koa = require('koa'); const ro ...

  6. vue传值(父子传值,非父子传值)

    vue组件传值,分为父子传值和非父子传值,父子传值又分为父传子和子传父. 组件之间的传值,实现了数据的联动,是从操作Dom到操作数据一个跳转性的突破,在学习vue双向绑定原理之后, 这种观念就应该继续 ...

  7. 单击事件的处理方式及注册窗体的创建之(四)Intent实现界面跳转传值

    跳转开发步骤: 创建Intent对象  设置Intent对象的跳转路径  启动Intent //Register_Activity.java case R.id.btnRegister: Inte ...

  8. Webform Application传值 ViewState

    Application:所有的会话共享一个Application空间,任何一个人改变Application的内容,其他人都会发现被改变了.Application中的内容不会被自动释放 存放位置:服务端 ...

  9. Intent的跳转和传值

    看了Intent的使用方法,感觉还是要做一些笔记的,首先对于Intent的跳转Activity这个功能的实现就有两种方法,也可以说有三种: 1.                  2.

随机推荐

  1. JSON 格式的转换: 数组、字符串、List集合、DataTable,实体对象

    JSON验证工具:http://jsonlint.com/JSON简明教程:http://www.w3school.com.cn/json/Newtonsoft.Json类库下载:http://jso ...

  2. JDBCTemplate.java

    package com.pk.xjgs.util; import java.sql.Connection; import java.sql.SQLException; import java.util ...

  3. 1351 topcoder 吃点心

    https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1351 先按low从大到小贪心再high从小到大贪心 #pragma c ...

  4. mysql 清空表的两种方法

    一.Delete DELETE FROM `table`; 二.Truncate TRUNCATE `table`; 第一种方法其实就是去掉where条件,没有了条件,也就是删除掉表里面的所有记录了: ...

  5. 题目1043:Day of Week(输入日期与当前日起天数差%7,在做相关星期调整)

    题目描述: We now use the Gregorian style of dating in Russia. The leap years are years with number divis ...

  6. 【转载】lua中的require机制

    [转载自]http://blog.chinaunix.net/uid-552961-id-2736410.html lua中的require机制 为了方便代码管理,通常会把lua代码分成不同的模块,然 ...

  7. 【noip2005】篝火晚会

    题解: 首先我们要知道一个性质: 把长度为n的序列变成目标序列最多需要n个操作 证明1: 我们可以将原序列上每位上的数字向目标序列相同位置的数字连一条有向边 如: 原序列:   1 2 3 目标序列: ...

  8. 【noip2007】树网的核

    题解: 首先我们要知道一个性质:如果有多条直径 这个核不论在哪条直径上 答案都是一样的 这样我们就可以随便找一条直径 在这条直径上枚举核的位置 并且dfs预处理maxlon[i] (i在直径上) 表示 ...

  9. Ubuntu 14.04.3 LTS 配置 DNS Server

    我们目的是用一台局域网机器完成 192.168.1.113 <-->cloudshield.com的解析,指定A记录和CNAME; 0.关于Ubuntu 14.04.2 LTS 下载.安装 ...

  10. Java注解处理器使用详解

    在这篇文章中,我将阐述怎样写一个注解处理器(Annotation Processor).在这篇教程中,首先,我将向您解释什么是注解器,你可以利用这个强大的工具做什么以及不能做什么:然后,我将一步一步实 ...