`

Android Application 在项目中的妙用

 
阅读更多
一、共享全局数据
这个效果就是使用静态变量是一样的,但是其更符合android的架构体系。

class MyApp extends Application {

  private String myState;

  public String getState(){
    return myState;
  }
  public void setState(String s){
    myState = s;
  }
}



class Blah extends Activity {

  @Override
  public void onCreate(Bundle b){
    ...
    MyApp appState = ((MyApp)getApplicationContext());
    String state = appState.getState();
    ...
  }
}



二、全局提示信息、对话框弹出:



public class BaseApp extends Application {
	public Context context;
	private Handler handler;

	@Override
	public void onCreate() {
		super.onCreate();
		context = getBaseContext();
		handler = new Handler();
	}

	public void showToast(final int resId) {
		handler.post(new Runnable() {
			@Override
			public void run() {
				Toast.makeText(context, resId, Toast.LENGTH_SHORT).show();
			}
		});
	}

	public void showToast(final String text) {
		handler.post(new Runnable() {
			@Override
			public void run() {
				Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
			}
		});
	}
}


AlertDialog.Builder(Context context)中的context不能使用getApplicationContext()获得的Context,而必须使用Activity的Context对象,因为只有一个Activity才能添加一个窗体。
三、其他
貌似还不够妙~!期待补充!!!

补充:
application context的生命周期是贯穿整个进程,Activity的context只是伴随Activity的生命周期;
0
0
分享到:
评论

相关推荐

    音乐播放器-AndroidApplication

    通过以上技术的综合运用,【音乐播放器-AndroidApplication】项目提供了一个完整的音乐播放解决方案,展示了Android开发的深度和广度。无论是对于初学者还是经验丰富的开发者,这个项目都是学习和实践Android应用...

    Android Application Testing Guide

    ### Android应用测试指南知识...通过本书的学习,读者不仅能够掌握各种测试技术和工具,还能够在实践中灵活运用这些知识来提高应用的质量。无论是对于初学者还是有经验的开发者来说,这都是一本非常有价值的参考书籍。

    Android-AppInitialzer-用于子模块在Application启动时执行初始化代码的库

    在Android应用开发中,有效地管理各个模块的初始化过程是至关重要的。`Android-AppInitializer`是一个专门为了解决这个问题而设计的库...在实际项目中合理运用这个库,将使你的代码结构更加清晰,维护起来也更加轻松。

    android activity跳转 Application Context实现共享数据

    在Android应用开发中,Activity是用户界面的主要载体,而Context则是Android系统中的核心组件,它提供了与应用程序环境交互的能力。当我们需要在多个Activity之间传递数据时,通常会使用Intent对象,而通过...

    ApplicationTest

    在`ApplicationTest`项目中,可能包含示例代码展示了如何运用上述的一种或多种方法来实现在Activity间的通信。通过分析和学习这些代码,开发者可以更好地理解和掌握这些技巧,提升应用开发能力。对于Android开发者来...

    Source code for Beginning Android Application Development

    资源文件夹通常包含项目中的图片、音频、布局文件等资源,它们是Android应用的重要组成部分。 通过学习这份源代码,你将能够逐步掌握Android应用开发的核心技术,为成为一名合格的Android开发者奠定坚实的基础。...

    Professional Android 2 Application Development Source Code

    书中提供的源代码分为两个部分,分别在"Professional Android 2 Code Example Projects.zip"和"Professional Android 2 Code Listings.zip"这两个压缩文件中。 首先,"Professional Android 2 Code Example ...

    Beginning Android Tablet Application Development (pdf)

    《Beginning Android Tablet Application Development》不仅涵盖了Android平板应用开发所需的所有基础知识,还通过多个实践案例加深了读者对技术的理解和运用能力。对于想要进入Android平板开发领域的初学者来说,这...

    android 双屏多显, 副屏实现播放功能

    建议仔细阅读源码,理解其中的逻辑和交互过程,以便在实际项目中灵活运用。 总结来说,实现Android双屏多显,尤其是副屏播放功能,需要掌握`DisplayManager`的使用、`MediaPlayer`的配置和控制、多屏幕环境下的布局...

    Professional Android 4 Application Development

    - **主要内容**:介绍如何在Android应用中执行长时间运行的任务。 - **学习目标**:了解并掌握异步任务处理的方法。 - **核心知识点**: - AsyncTask的使用。 - Service的类型及其生命周期。 - 如何创建后台线程...

    stack(栈)在android 中的运用

    在Android开发中,栈(Stack)是一种非常重要的数据结构,特别是在管理Activity的生命周期时。栈是一种后进先出(LIFO, Last In First Out)的数据结构,这与我们的日常生活中的叠盘子行为相类似,最后放上去的盘子...

    Android参考资料professional_android_application_development

    7. **权限管理**:Android的权限模型在不同版本中有变化,从早期的静态权限到现在的运行时权限,开发者需要理解如何适配不同的Android版本,并正确处理用户权限请求。 8. **组件间通信**:Intent是Android中组件间...

    Professional.Android.2.Application.Development

    《Professional Android 2 Application Development》是一本由Wrox出版社在2010年出版的专业级Android应用程序开发指南,书号为0470565527。这本书专为那些希望深入理解Android应用开发的开发者设计,内容涵盖广泛,...

    SingleApplication-master源码

    本篇文章将深入剖析"SingleApplication-master"源码,帮助开发者理解其设计理念和实现方式,以便更好地运用到自己的项目中。 首先,"SingleApplication-master"是一个针对Android平台的单例应用示例。单例模式是一...

    50个优秀Android项目源码(一)

    通过学习和分析这些优秀的Android项目源码,开发者不仅可以提升编程技巧,还能吸收优秀的编程实践,从而在实际项目开发中游刃有余。这些实例将帮助我们跨越理论和实践的鸿沟,真正掌握Android开发的核心技术。

    Android-Test-Application:Android测试应用程序源代码-Android application source code

    通过分析和研究`Android-Test-Application-master`这个压缩包中的源代码,开发者可以学习如何有效地组织测试代码,了解最佳实践,并掌握如何运用这些工具和技术来创建健壮的测试套件。这不仅能够提高代码质量,还能...

    Android移动开发实验4.doc

    在Eclipse中创建Android项目,需要配置相应的Android SDK和开发环境。 2. **Android项目结构**:创建的项目名为`friends`,包含了Android项目的基本结构,如`res/layout`目录下的布局文件`activity_main.xml`,这是...

    android-myApplication:演示源代码,其中包括测试用例等-Android application source code

    在【压缩包子文件的文件名称列表】中,我们看到"android-myApplication-master"。这通常表示这是一个Git仓库的主分支克隆,其中可能包含以下结构: 1. `README.md`: 项目介绍和指南。 2. `build.gradle`: 项目构建...

Global site tag (gtag.js) - Google Analytics