精华内容
下载资源
问答
  • 使用全局变量传递数据

    千次阅读 2014-07-17 15:03:32
    使用全局变量传递数据,所谓的全局变量类似于jee开发中的application变量。申明后,全局调用。只有当内存被清理后,才被销毁。否则一直可以调用。 还是使用点击一个button,传递一个数据到另一个页面中显示。 ...

    使用全局变量传递数据,所谓的全局变量类似于jee开发中的application变量。申明后,全局调用。只有当内存被清理后,才被销毁。否则一直可以调用。

    还是使用点击一个button,传递一个数据到另一个页面中显示。

    首先,新建工程,然后,打开mainActivity.xml文件,然后,添加button。

    [html]  view plain copy
    1. <Button  
    2.         android:id="@+id/button"  
    3.         android:layout_width="wrap_content"  
    4.         android:layout_height="wrap_content"  
    5.         android:text="使用Application传递数据" />  

    先新建一个MyApp.java类,存储全局变量

    [java]  view plain copy
    1. public String name;  
    2.     @Override  
    3.     public void onCreate() {  
    4.         // TODO Auto-generated method stub  
    5.         super.onCreate();  
    6.         setName("hello");  
    7.     }  
    8.     public String getName() {  
    9.         return name;  
    10.     }  
    11.   
    12.     public void setName(String name) {  
    13.         this.name = name;  
    14.     }  
    15.   
    16.     public MyApp() {  
    17.         // TODO Auto-generated constructor stub  
    18.     }  
    然后在MainActivity.java中,添加

    [java]  view plain copy
    1. private Button button;  
    2.     private MyApp myapp;  
    3.     @Override  
    4.     protected void onCreate(Bundle savedInstanceState) {  
    5.         super.onCreate(savedInstanceState);  
    6.         setContentView(R.layout.activity_main);  
    7.         button = (Button)this.findViewById(R.id.button);  
    8.         button.setOnClickListener(new View.OnClickListener() {  
    9.             @Override  
    10.             public void onClick(View v) {  
    11.                 // TODO Auto-generated method stub  
    12.                 //获取全局变量数据  
    13.                 myapp=(MyApp)getApplication();  
    14.                 //myapp.setName("world");//可重新赋值  
    15.                 Intent intent = new Intent(MainActivity.this,OtherActivity.class);  
    16.                 startActivity(intent);  
    17.             }  
    18.         });  
    19.     }  
    新建布局文件other.xml文件加入

    [html]  view plain copy
    1. <TextView android:id="@+id/msg" android:layout_width="fill_parent"  
    2.     android:layout_height="fill_parent"/>  
    新建OtherActivity.java文件

    [java]  view plain copy
    1. public class OtherActivity extends Activity {  
    2.     private MyApp myapp;  
    3.     private TextView textview;  
    4.     public OtherActivity() {  
    5.         // TODO Auto-generated constructor stub  
    6.     }  
    7.   
    8.     @Override  
    9.     protected void onCreate(Bundle savedInstanceState) {  
    10.         // TODO Auto-generated method stub  
    11.         super.onCreate(savedInstanceState);  
    12.         setContentView(R.layout.other);  
    13.         textview = (TextView)this.findViewById(R.id.msg);  
    14.         myapp = (MyApp)getApplication();  
    15.         textview.setText("name---->"+myapp.getName());  
    16.     }  
    17. }  
    最后在清单文件中注意:先在标签application中加入

    [html]  view plain copy
    1. <activity android:name=".OtherActivity"></activity>  
    再在application标签中加入属性android:name=".MyApp"

    展开全文
  • 2 在AndroidMainfest xml中加入全局变量 android:name " MyApp" 3 在传数据类中获取全局变量Application对象并设置数据 myApp MyApp getApplication ; myApp setName "jack" ; 修改之后的...
  • 1.通过全局变量传递数据 在Activity之间数据传递中还有一种比较实用的方式,就是全局对象,在J2EE中JavaWeb的四个作用域: 1.Page 2.Request 3.Session 4.Application 其中Application域在应用程序的任何地方...
    part one:
    
    1.通过全局变量传递数据
    在Activity之间数据传递中还有一种比较实用的方式,就是全局对象,在J2EE中JavaWeb的四个作用域:
    1.Page
    2.Request
    3.Session
    4.Application
    其中Application域在应用程序的任何地方都可以使用和访问,除非Web服务器停止,Android中的全局对象非常类似于Java Web中的Application域,除非Android应用程序清除内存,否则全局对象将一直可以访问。
    2.声明一个class extends Application 类
    该类在App启动时调用onCreate方法



    使用中文作为应用名称的一个bug:
    无法自动创建layout.xml 和 values中的xml文件






    使用中文作为应用名称的一个bug:

    无法自动创建layout.xml 和 values中的xml文件


    展开全文
  • 使用全局变量传递数据,所谓的全局变量类似于jee开发中的application变量。申明后,全局调用。只有当内存被清理后,才被销毁。否则一直可以调用。 还是使用点击一个button,传递一个数据到另一个页面中显示。 首先...

    使用全局变量传递数据,所谓的全局变量类似于jee开发中的application变量。申明后,全局调用。只有当内存被清理后,才被销毁。否则一直可以调用。

    还是使用点击一个button,传递一个数据到另一个页面中显示。

    首先,新建工程,然后,打开mainActivity.xml文件,然后,添加button。

    <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="使用Application传递数据" />

    先新建一个MyApp.java类,存储全局变量

    public String name;
    	@Override
    	public void onCreate() {
    		// TODO Auto-generated method stub
    		super.onCreate();
    		setName("hello");
    	}
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public MyApp() {
    		// TODO Auto-generated constructor stub
    	}
    
    然后在MainActivity.java中,添加

    private Button button;
    	private MyApp myapp;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		button = (Button)this.findViewById(R.id.button);
    		button.setOnClickListener(new View.OnClickListener() {
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				//获取全局变量数据
    				myapp=(MyApp)getApplication();
    				//myapp.setName("world");//可重新赋值
    				Intent intent = new Intent(MainActivity.this,OtherActivity.class);
    				startActivity(intent);
    			}
    		});
    	}
    
    新建布局文件other.xml文件加入

    <TextView android:id="@+id/msg" android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>
    新建OtherActivity.java文件

    public class OtherActivity extends Activity {
    	private MyApp myapp;
    	private TextView textview;
    	public OtherActivity() {
    		// TODO Auto-generated constructor stub
    	}
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.other);
    		textview = (TextView)this.findViewById(R.id.msg);
    		myapp = (MyApp)getApplication();
    		textview.setText("name---->"+myapp.getName());
    	}
    }
    
    最后在清单文件中注意:先在标签application中加入

     <activity android:name=".OtherActivity"></activity>
    再在application标签中加入属性android:name=".MyApp"

    就这么简单!





    展开全文
  • [Android]使用全局变量传递数据

    千次阅读 2016-04-29 23:20:28
    在Activity之间传递数据,有一种比较实用的技术,就是通过全局变量。熟悉iOS开发的童鞋都知道,iOS可以采用[UIApplication shareApplication],[NSUserdefault standerUserDefault],[NSNotificationCenter ...
       在Activity之间传递数据,有一种比较实用的技术,就是通过全局变量。熟悉iOS开发的童鞋都知道,iOS可以采用[UIApplication shareApplication],[NSUserdefault standerUserDefault],[NSNotificationCenter defaultCenter] 等等去存储和读取全局的变量。在Android当中,我们也可以通过Application对象实现相同的功能。
    
    1. 新建一个Andrdoid 工程,名字为:application
    2. 在生成的main_acitivity.xml文件中添加一个Button,用于点击后跳转到另外一个Activity
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <Button android:id="@+id/button"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="使用application传递数据"/>
    </LinearLayout>

    3、在Main.java当中获取这个按钮,并且声明一个意图,然后获取全局对象的值,启动此意图后将全局变量的值传递到另一个Acitivity。

    package com.example.application;
    
    import android.support.v7.app.ActionBarActivity;
    import android.support.v7.app.ActionBar;
    import android.support.v4.app.Fragment;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.os.Build;
    
    public class Main extends ActionBarActivity {
    
        private Button button;
        private MyApp myApp;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            button = (Button)this.findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
    
                    /**获取全局的应用**/
                    myApp = (MyApp)getApplication();
    
                    // 修改之后的名称
                    myApp.setName("new value");
    
                    // 新建意图
                    Intent intent = new Intent(Main.this,other.class);
    
                    // 启动意图
                    startActivity(intent);
                }
            });
        }
    }

    4、 新建myApp继承自Application,添加一个public属性name,并为name添加setter和getter方法。并且添加onCreate()方法,使这个全局对象创建的时候设置name的初始值。API文档中,对于onCreate()方法是这样描述的:
    Called when the application is starting, before any activity, service, or receiver objects (excluding content providers) have been created.

    package com.example.application;
    
    import android.app.Application;
    
    public class MyApp extends Application {
        public String name;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public void onCreate() {
            // TODO Auto-generated method stub
            super.onCreate();
            setName("zhangsan");
        }
    }
    

    5、新建一个Other.xml布局文件, 添加TextView用来接收从main Activity中传递过来的值

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
    <TextView android:id="@+id/msg"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    </LinearLayout>

    6、新建Other.java,获取Other.xml中的TextView对象,获取MyApp全局对象,从此对象中通过getName()方法获取到name的值。

    package com.example.application;
    import android.app.Activity;
    import android.app.Application;
    import android.os.Bundle;
    import android.widget.TextView;
    
    public class other extends Activity {
    
        private MyApp myApp;
        private TextView textView;
        public other() {
            // TODO Auto-generated constructor stub
        }
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.other);
            textView = (TextView)this.findViewById(com.example.application.R.id.msg);
    
            /**获取全局的应用**/
            myApp = (MyApp)getApplication();
            textView.setText("------>msg value = " + myApp.getName());
        }
    }

    7、注意,这个步骤非常重要,首先要在AndroidManifest.xml文件中,配置Activity,其次,在Application节点中新增name属性:name = “.MyApp”。注意前面的点别忘了写。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.application"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="19" />
    
        <!-- 在application标签添加全局应用的名称 -->
        <application
            android:name=".MyApp" 
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.application.Main"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <!-- 在清单文件里面配置activity -->
            <activity android:name=".other"></activity>
        </application>
    
    </manifest>
    展开全文
  • 网上有两种方法,extern和static。...1、在登录界面的头文件定义全局变量 2、然后可以直接在登录界面的cpp中使用,传入具体值 3、在主界面的cpp声明一下ggg这个变量 4、可以直接使用了,注意使用的形式。 ...
  • android中的全局对象非常类似于javaWeb中的Application域,除非是android应用程序清楚内存,否则全局对象将一直可以访问。   android中有一个application类,是基类。创建自己的应用的时候需要继承这个基类,并...
  • **application类是安卓为所有service,activity类提供全局变量的一个基类 在程序启动的时候系统会自动创建一个application类,并且是利用单例模式创建,其他类调用时都是同一个对象 可以自己写一个类通过集成该类...
  • 1、url带参传递数据 1.1、index页面向detail页面传递数据 父页面的index.js 问号?后面是要传递的数据,多个数据用&amp;隔开 1.2、跳转页面(接收数据的页面)的detail.js 接收传进来的数据并在控制台...
  • 全局变量Global Variable全局变量会降低程序可读性!!!全局变量作用范围:定义始至文件尾;全局变量与局部变量同名,则在局部变量的作用范围内,全局变量被屏蔽。全局变量增加了程序的耦合度,如果一个全局变量...
  • android传递数据的几种方式之使用全局变量传递 文:卢宗峰 date:2015/08/21 一、android使用意图(Intent)传递数据之全局变量传递  所谓使用全局变量传递,就相当于利用公共对象进行数据传递,例如j2ee中几...
  • 1.使用A页面拿到数据后放到全局变量里面,B页面从全局变量里面拿数据 2.A跳转到B的时候带上数据 这里我们介绍第一种 main.js全局变量 赋值 在main.js里面创建一个全局变量例如将后端的接口直接赋值到这里 Vue....
  • Hadoop 全局变量与数据传递

    千次阅读 2012-05-25 19:53:50
    首先明确: ...所以全局变量是无法传递的。(但是一般情况下,我们也许会需要一个对于所有map和reduce都能访问的全局变量),暂时我知道的解决方法如下: 2.如果Mapper类和Reducer类都是主类的内
  • 全局变量的优缺点及为什么要少用全局变量

    万次阅读 多人点赞 2019-03-27 22:06:58
    全局变量 对于程序员来说,是程序 “同步”的一种最方便的 方式,我相信大多数的程序员 刚开始都是使用全局变量来实现“同步”操作的,但是随着我们 编程理念的升华,我们会发现,原来全局变量不是我们想象的只有...
  • 全局变量的使用方法 参考链接:https://www.cnblogs.com/Dageking/p/3185230.htmlhttps://blog.csdn.net/hi_baymax/article/details/82425457 强烈建议使用xxx.h和xxx.cpp的形式创建全局变量和全局函数。.h和....
  • 利用函数组的全局变量实现数据传递数据再上下文传递数据的时候可以用内存(ABAP内存和SAP内存)这种,另外还可以通过下面的方式来实现,也很简单的。1.函数 2.调用 DATA: lv_key TYPE char10.CALL FUNCTION ...
  • 使用意图进行数据的传递这里用到的方法是全局变量方法。 主要思路:首先定义一个继承Application的全局变量类,在类中定义一些字段和get、set方法;第一个活动定义一个全局变量对象,设置它的值,跳转到第二个活动;...
  • matlab参数传递全局变量

    万次阅读 2014-04-15 16:13:55
    若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。 Matlab的全局变量使用: 在函数最开头都加上以下一句 global 变量;  使这个变量变成全局变量。 一般来说全局变量均用...
  • 1、全局变量; 2、作为函数的参数传递; 3、利用控件的userdata数据; 4、为handles结构体添加新字段; 5、setappdata函数为句柄添加数据; 6、跨空间计算evalin和赋值assignin; 7、将数据保存到文件,...
  • 通过改变全局变量实时改变目标变量的做法,比如这里,楼主也就是我,为了在树莓派上运行一个tcp结构的客户端线程,并通过摄像头线程收集的数据实时的通过tcp客户端线程处理并发回服务端(这是只对两个线程间的数据传递,多...
  • 情境描述:在此有A,B两个类,B类返回A...在A.h中声明全局变量。(#include 下方) extern 变量类型 变量名; For example: __________________________________________________________ #include "..." extern ...
  • 今天上午写C++代码,被神马全局变量和静态全局变量困住了,出现了各种“重定义”和“链接”相关的error。到底在哪里声明,在哪里定义,哪里使用extern?
  • 全局变量传值 一. 实现步骤 在界面2中声明一个全局变量,并且用它赋值保存要穿的值 在界面1中用extern声明界面2中的全局变量,就可用他保存的值赋值 二. extern优缺点 优点 a.全局可视,任何一个函数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 338,261
精华内容 135,304
关键字:

全局变量传递