自定义Application使用示例——几个Activity共同操作某个变量

MainActivity如下:

package cn.testapplication;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.Intent;
/**
 * Demo描述:
 * Application的基本使用
 * 1 自定义OurApplication继承自Application
 * 2 为AndroidManifest.xml下application结点新加个name属性
 *   name的具体值即为OurApplication的路径
 *
 * 简单流程:
 * 在MainActivity中点击按钮跳转到AnotherActivity.在AnotherActivity
 * 中修改了OurApplication中所保存的值.然后按下Back键,回到MainActivity.
 * 此时监测OurApplication中所保存的值.
 */
public class MainActivity extends Activity {
    private Button mButton;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
	private void init(){
		mButton=(Button) findViewById(R.id.button);
		mButton.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View view) {
                Intent intent=new Intent(MainActivity.this, AnotherActivity.class);
                startActivity(intent);
			}
		});
	}

	@Override
	protected void onRestart() {
		super.onRestart();
		OurApplication ourApplication=(OurApplication) getApplication();
    	System.out.println("MainActivity中得到新的Password:"+ourApplication.getPassword());
	}

}

AnotherActivity如下:

package cn.testapplication;
import android.app.Activity;
import android.os.Bundle;
public class AnotherActivity extends Activity{
   @Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.another);
		init();
	}
    private void init(){
    	OurApplication ourApplication=(OurApplication) getApplication();
    	System.out.println("AnotherActivity中得到原来的Password:"+ourApplication.getPassword());
    	String newPassword="9527";
    	ourApplication.setPassword(newPassword);
    	System.out.println("AnotherActivity中设置新的Password:"+newPassword);
    }
}

OurApplication如下:

package cn.testapplication;

import android.app.Application;

public class OurApplication extends Application {
	private String applicationPassword;
	@Override
	public void onCreate() {
		super.onCreate();
		applicationPassword="007";
	}
	public void setPassword(String password){
		applicationPassword=password;
	}
	public String getPassword(){
		return applicationPassword;
	}
}

AndroidManifest.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.testapplication"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="8" />

    <application
        android:name="cn.testapplication.OurApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="cn.testapplication.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>

        <activity android:name="cn.testapplication.AnotherActivity"></activity>
    </application>
</manifest>

main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     >

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click Me"
        android:textSize="28sp"
        android:layout_centerInParent="true"
    />

</RelativeLayout>

another.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Another Activity"
        android:textSize="28sp"
        android:layout_centerInParent="true"
    />

</RelativeLayout>

 

时间: 2025-01-30 04:48:53

自定义Application使用示例——几个Activity共同操作某个变量的相关文章

jquery自定义滚动条插件示例分享

 这篇文章主要介绍了jquery自定义滚动条插件示例,需要的朋友可以参考下  代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> &l

android-Android自定义application的成员变量会不会被释放

问题描述 Android自定义application的成员变量会不会被释放 现在开发的一个Android APP,切到后台,当手机内存不足时,就会被释放,然后再进入时,提示崩溃退出,求大神 解决方案 这里有一些测试 解决方案二: 没有崩溃信息呀?这怎么知道为什么崩溃 解决方案三: 是的,Application的常量是不会释放的,而且还会引发内存泄露, 解决方案四: 是的,Application的常量是不会释放的,而且还会引发内存泄露,

android 自定义ViewSwipeBackHelper,实现左滑结束Activity

转载请注明出处:这里写链接内容 Git上看到一个基于SwipeBackLayout的实现,可以让我们在使用过程中在不使用物理返回键的情况下舍去了返回的Button又提升了用户体验 包结构: 运行效果: How To Use? Gradle compile 'com.jude:swipebackhelper:1.1.5' 或者你自己下了源码压Jar包也行 如何使用? 在以下3个Activity的生命中其中调用一些列相应的Create方法即可建议自定义个BaseActivity然后继承这个Activ

c#Winform程序的toolStripButton自定义背景应用示例源码

C# Winform程序的toolStrip中toolStripButton的背景是蓝色的,如何改变背景及边框的颜色和样式呢? 实现此功能需要重写toolStripButton的Paint方法 这里只是给出解决问题的思路和方法,如下图,当鼠标移到按钮上,背景会变为黑色 实现代码如下: ToolStripButton tsb = (ToolStripButton)sender; Rectangle rectButton = tsb.Bounds; Point p = toolStrip1.Poin

Android仿360悬浮小球自定义view实现示例

Android仿360悬浮小球自定义view实现示例 效果图如下: 实现当前这种类似的效果 和360小球 悬浮桌面差不错类似.这种效果是如何实现的呢.废话不多说 ,直接上代码. 1.新建工程,添加悬浮窗权限. <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 2.自定义一个FloatMessagerMainWindow import android.content.Contex

visual studio 2010-VS2010 MFC一个自定义类如何调用一个对话框类中的成员变量

问题描述 VS2010 MFC一个自定义类如何调用一个对话框类中的成员变量 我从一个对话框定义了几个CString类型的edit控件,我现在写一个类想调用该对话框中的创建的edit控件变量.怎么办啊 解决方案 字符串: getdlgitem(id)->getwindowtext() 数字 getdlgitemid(id) 解决方案二: 把那个对话框的CString变量变成public的,然后就可以直接用了,当然你需要先知道你那个对话框的指针. 解决方案三: 黑马程序员---定义一个包含私有成员变

Android TextView显示Html类解析的网页和图片及自定义标签用法示例_Android

本文实例讲述了Android TextView显示Html类解析的网页和图片及自定义标签.分享给大家供大家参考,具体如下: Android系统显示HTML网页的最佳控件为WebView,有时候为了满足特定需求,需要在TextView中显示HTML网页.图片及解析自定义标签. 1.TextView显示Html类解析的网页 CharSequence richText = Html.fromHtml("<strong>萝卜白菜的博客</strong>--<a href='

MOSS点滴(2):自定义Application Page

在MOSS中后台管理的页面都是Application Page,比如网站设置的页面(settings.aspx)就是典型的 Application Page,它不能被Sharepoint Desiger定制.如果我们要修改只能手动的使用其他工具来修改 ,我们也可以添加Application Page,必须放在C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS目录下,它对应

微信公众平台自定义菜单开发示例

 腾讯微信3月19日正式公布公众平台自定义菜单功能.目前该功能仅提供给企业和机构,且内测资格需要申请.对于这一新增功能,目前仅有少数账号已经开通.至此,微信的商业化价值被进一步挖掘出来.   开发示例-公众平台自定义菜单">     开发者可利用该功能为公众账号的会话界面底部增加自定义菜单.用户点击菜单中的选项,可以调出相应的回复信息或网页链接. 菜单创建接口说明 通过POST一个特定结构体,实现在微信客户端创建自定义菜单. 请求说明 http请求方式:POST https://api.w