安卓声明一个全局变量,每个activity都可以调用和修改

当需要一个变量,每个activity都能够调用和修改的时候,可以先创建一个类,让他继承Application,并实现一些方法就行了,下面的例子:App打开,文本显示全局变量的初始值,点击按钮,文本值改变,并更新显示。

首先创建一个类:Myapplication.java

package com.example.application;

import android.app.Application;

public class Myapplication extends Application {

	//声明一个变量
	public String nameString;

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		super.onCreate();
		setname("英雄联盟");
	}

	//实现setname()方法,设置变量的值
	public void setname(String name) {
		this.nameString = name;
	}

	//实现getname()方法,获取变量的值
	public String getname() {
		return nameString;
	}
}

然后在AndroidManif.xml中加入

android:name=".Myapplication"
<application
        android:name=".Myapplication"     
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" > 

        <activity
            android:name="com.example.application.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

最后在主程序中就可以调用和修改了

package com.example.application;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

	Myapplication myapplication;//声明一个对象
	TextView textView;
	Button button;

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

		textView = (TextView) findViewById(R.id.text);
		button = (Button) findViewById(R.id.button1);

		//获得对象
		myapplication = (Myapplication) getApplication();
		//文字内容设置为全局变量的值
		textView.setText(myapplication.getname());

		button.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				//更改全局变量的值
				myapplication.setname("国服第一卡牌");
				//再次让文字内容设置为全局变量的值
				textView.setText(myapplication.getname());
			}
		});
	}
}

效果图:

时间: 2024-11-08 17:21:47

安卓声明一个全局变量,每个activity都可以调用和修改的相关文章

python中global除了声明一个全局变量,还有什么作用?

a = 100 def demo1(): a = 10 print(a) def demo2(): globa a a = 10 print(a) demo1() print(a) demo2() print(a) 结果为: 10 100 10 10 说明通过globa声明后,demo2中相对于对全局变量a进行了重新赋值 就是好奇,哪有功能这个单一的关键字,那globa除了声明全局变量修改作用域外,还能做什么?python数据分析的书有没有好的推荐? 原文地址:https://www.cnblo

每建一个Activity都要注册权限Manifest.xml

每建一个Activity都要注册权限Manifest.xml 但是有时候自动注册好了,注意!不然的话是不能调用的!!!!!<activity android:name=".MainView"></activity> 安卓Fragment的调用不用注册!

c++多个源文件共用一个全局变量(extern 的用法)

例子: 头文件:state.h    源文件:state.cpp 其它源文件:t1.cpp   t2.cpp  t3.cpp,  这些源文件都包含头文件state.h. 需要定义一个全局变量供这些源文件中使用:方法如下 1.在 state.h声明全局变量: extern int a; 2.在state.cpp中定义该全局变量:int a = 10; 这样其它源文件就可以使用该变量啦 这里需要的是“声明”,不是“定义”!根据C++标准的规定,一个变量声明必须同时满足两个条件,否则就是定义:    

安卓实训第九天---Activity的复习以及在Onstart里设置网络连接

今天,首先对Activity的生命周期进行复习: (下面的截图部分是借鉴自赵雅智老师的博客...) Activity的完整生命周期自第一次调用onCreate()开始,直至调用onDestroy()为止.Activity在onCreate()中设置所有"全局"状态以完成初始化,而在onDestroy()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程,而在 onDestroy()销毁线程. 刚进入activity: 按

c++多个文件中如何共用一个全局变量

例子: 头文件:state.h   源文件:state.cpp 其它源文件:t1.cpp  t2.cpp  t3.cpp, 这些源文件都包含头文件state.h. 需要定义一个全局变量供这些源文件中使用:方法如下 1.在 state.h声明全局变量: extern inta; 2.在state.cpp中定义该全局变量:int a =10; 这样其它源文件就可以使用该变量啦 这里需要的是"声明",不是"定义"!根据C++标准的规定,一个变量声明必须同时满足两个条件,否

安卓中使用全局变量getApplicationContext

定义一个用户信息类 /**Title: 用户登录信息 * @author Java Development Group * @version 3.0 */ public class gf_ControlUserinfo extends Application { ...省略 } 在中配置全局声明 <application android:allowBackup="true" android:icon="@drawable/ic_launcher" androi

安卓开发笔记——重识Activity

Activity并不是什么新鲜的东西,老生常谈,这里只是随笔记录一些笔记. 每当说起Activity,感觉最关注的还是它的生命周期,因为要使我们的应用程序更加健壮,客户体验更加良好,如果对生命周期不熟悉,那是不可能完成的任务.好了,言归正传,开始笔记,尽可能用最精简的言语来阐述最实用的东西. 准备写几篇文章,这是第一篇只谈生命周期的普通用法,不涉及到复杂点的知识,比如任何栈回退栈等操作. 1.一张来自谷歌官方文档的Activity的生命周期图: 直接来个MainActivity,覆写以上所有方法

如何使用viewpager与fragment写一个app导航activity

今天我们来看一下如何使用viewpager和fragment组合来写一个app导航activity,这里使用到了android开源控件viewpagerindicator,有兴趣的同学可以去它网站上看看它的介绍. 附上效果截图一张: demo中只有一个activity,是用activity_main.xml来布局,其内容如下: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:and

Fragment中启动一个新的Activity

最近遇到一个小问题,就是我在主界面中用的是Fragment,其中四个Fragment,然后打算在其中一个里边,写一个TextView(准确地说是Linearout)的单击事件,然后跳转到另外一个Activity,但是问题来了,不知道在哪个函数中去写. 平时我们的Activity都是重载onCreate()函数,但是在Fragment中重载的是onCreateView()函数,后来查了很多资料,大多都是两行代码或者几行代码,也弄不清具体怎么写,知道看到了一个博主的博客,Ta贴出来的整个代码(这里还