一、共享全局数据
这个效果就是使用静态变量是一样的,但是其更符合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的生命周期;
分享到:
相关推荐
通过以上技术的综合运用,【音乐播放器-AndroidApplication】项目提供了一个完整的音乐播放解决方案,展示了Android开发的深度和广度。无论是对于初学者还是经验丰富的开发者,这个项目都是学习和实践Android应用...
### Android应用测试指南知识...通过本书的学习,读者不仅能够掌握各种测试技术和工具,还能够在实践中灵活运用这些知识来提高应用的质量。无论是对于初学者还是有经验的开发者来说,这都是一本非常有价值的参考书籍。
在Android应用开发中,有效地管理各个模块的初始化过程是至关重要的。`Android-AppInitializer`是一个专门为了解决这个问题而设计的库...在实际项目中合理运用这个库,将使你的代码结构更加清晰,维护起来也更加轻松。
在Android应用开发中,Activity是用户界面的主要载体,而Context则是Android系统中的核心组件,它提供了与应用程序环境交互的能力。当我们需要在多个Activity之间传递数据时,通常会使用Intent对象,而通过...
在`ApplicationTest`项目中,可能包含示例代码展示了如何运用上述的一种或多种方法来实现在Activity间的通信。通过分析和学习这些代码,开发者可以更好地理解和掌握这些技巧,提升应用开发能力。对于Android开发者来...
资源文件夹通常包含项目中的图片、音频、布局文件等资源,它们是Android应用的重要组成部分。 通过学习这份源代码,你将能够逐步掌握Android应用开发的核心技术,为成为一名合格的Android开发者奠定坚实的基础。...
书中提供的源代码分为两个部分,分别在"Professional Android 2 Code Example Projects.zip"和"Professional Android 2 Code Listings.zip"这两个压缩文件中。 首先,"Professional Android 2 Code Example ...
《Beginning Android Tablet Application Development》不仅涵盖了Android平板应用开发所需的所有基础知识,还通过多个实践案例加深了读者对技术的理解和运用能力。对于想要进入Android平板开发领域的初学者来说,这...
建议仔细阅读源码,理解其中的逻辑和交互过程,以便在实际项目中灵活运用。 总结来说,实现Android双屏多显,尤其是副屏播放功能,需要掌握`DisplayManager`的使用、`MediaPlayer`的配置和控制、多屏幕环境下的布局...
- **主要内容**:介绍如何在Android应用中执行长时间运行的任务。 - **学习目标**:了解并掌握异步任务处理的方法。 - **核心知识点**: - AsyncTask的使用。 - Service的类型及其生命周期。 - 如何创建后台线程...
在Android开发中,栈(Stack)是一种非常重要的数据结构,特别是在管理Activity的生命周期时。栈是一种后进先出(LIFO, Last In First Out)的数据结构,这与我们的日常生活中的叠盘子行为相类似,最后放上去的盘子...
7. **权限管理**:Android的权限模型在不同版本中有变化,从早期的静态权限到现在的运行时权限,开发者需要理解如何适配不同的Android版本,并正确处理用户权限请求。 8. **组件间通信**:Intent是Android中组件间...
《Professional Android 2 Application Development》是一本由Wrox出版社在2010年出版的专业级Android应用程序开发指南,书号为0470565527。这本书专为那些希望深入理解Android应用开发的开发者设计,内容涵盖广泛,...
本篇文章将深入剖析"SingleApplication-master"源码,帮助开发者理解其设计理念和实现方式,以便更好地运用到自己的项目中。 首先,"SingleApplication-master"是一个针对Android平台的单例应用示例。单例模式是一...
通过学习和分析这些优秀的Android项目源码,开发者不仅可以提升编程技巧,还能吸收优秀的编程实践,从而在实际项目开发中游刃有余。这些实例将帮助我们跨越理论和实践的鸿沟,真正掌握Android开发的核心技术。
通过分析和研究`Android-Test-Application-master`这个压缩包中的源代码,开发者可以学习如何有效地组织测试代码,了解最佳实践,并掌握如何运用这些工具和技术来创建健壮的测试套件。这不仅能够提高代码质量,还能...
在Eclipse中创建Android项目,需要配置相应的Android SDK和开发环境。 2. **Android项目结构**:创建的项目名为`friends`,包含了Android项目的基本结构,如`res/layout`目录下的布局文件`activity_main.xml`,这是...
在【压缩包子文件的文件名称列表】中,我们看到"android-myApplication-master"。这通常表示这是一个Git仓库的主分支克隆,其中可能包含以下结构: 1. `README.md`: 项目介绍和指南。 2. `build.gradle`: 项目构建...