Android Application存取公共数据的实例详解
发布时间 - 2026-01-11 02:22:09 点击率:次Android Application存取公共数据的实例详解

Android系统在运行每一个程序应用的时候,都会创建一个Application对象,用于存储与整个应用相关的公共变量。
一个Android应用只会生成一个Application对象,在不同的Activity中获取的Application对象是一样的,所以Application对象是一个单例(SingleTon)。
Application对象非常适合用于存储一些与整个应用相关数据,例如应用版本,应用登录账户,数据缓存等。
利用Application对象存储公共数据或数据传递
在android开发中,activity的切换是很频繁的,差不多可以和一个网站中不同网页之间的切换一样。那么不同的activity之间需要存储公共信息(如只有一个当前登录用户)以及数据传递等。下面就是一种利用Application对象存储登录用户信息的方法,可以发现这很方便不同的activity获取登录用户信息
public class MyApplication extends Application {
public String appVersion = "v1.0";
//当前登录用户
private User loginUser = new User();
public User getLoginUser(){
return loginUser;
}
public void userLogin(User user){
loginUser.setUserId(user.getUserId());
loginUser.setUserName(user.getUserName());
}
public void userLogout(){
loginUser = new User();
}
}
public class MainActivity extends Activity {
private MyApplication mApplication;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取整个应用的Application对象
// 在不同的Activity中获取的对象是同一个
mApplication = (MyApplication) getApplication();
}
/**
* 一般只有在登录界面中设置登录用户信息,在其他的Activity中
* 只要通过Application对象就可以获取登录用户信息
*/
private void login(){
User user = new User();
user.setUserId(1);
user.setUserName("Raysmond");
// 将登录用户信息保存到Application对象中
mApplication.userLogin(user);
}
}
可以发现通过Application对象,在不同的Activity之间可以方便地实现数据共享。这比在每次切换activity时通过Bundle传递数据方便多了。
以上就是使用Android Application的开发文章,关于Android 开发的文章本站还很多,希望大家搜索参阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# Application
# 数据存储
# Android动态替换Application实现
# android 获取APP的唯一标识applicationId的实例
# Android Application类的详细介绍
# Android编程之Application设置全局变量及传值用法实例分析
# 一文带你看懂Android Application启动流程是怎样的
# 是一个
# 其他的
# 只会
# 希望能
# 只有一个
# 希望大家
# 谢谢大家
# 很方便
# 创建一个
# 就可以
# 这比
# 象中
# 是一样的
# brush
# java
# public
# MyApplication
# private
# appVersion
# extends
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
如何用腾讯建站主机快速创建免费网站?
如何快速生成ASP一键建站模板并优化安全性?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
如何快速使用云服务器搭建个人网站?
如何快速配置高效服务器建站软件?
如何用PHP快速搭建CMS系统?
音乐网站服务器如何优化API响应速度?
javascript基于原型链的继承及call和apply函数用法分析
Linux系统命令中screen命令详解
Bootstrap整体框架之CSS12栅格系统
如何用wdcp快速搭建高效网站?
HTML 中如何正确使用模板变量为元素的 name 属性赋值
创业网站制作流程,创业网站可靠吗?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何在建站之星网店版论坛获取技术支持?
JS实现鼠标移上去显示图片或微信二维码
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Python文件流缓冲机制_IO性能解析【教程】
教学论文网站制作软件有哪些,写论文用什么软件
?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
IOS倒计时设置UIButton标题title的抖动问题
微信小程序 input输入框控件详解及实例(多种示例)
VIVO手机上del键无效OnKeyListener不响应的原因及解决方法
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
JavaScript如何实现类型判断_typeof和instanceof有什么区别
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何在局域网内绑定自建网站域名?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
node.js报错:Cannot find module 'ejs'的解决办法
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
如何在阿里云部署织梦网站?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
海南网站制作公司有哪些,海口网是哪家的?
canvas 画布在主流浏览器中的尺寸限制详细介绍
PythonWeb开发入门教程_Flask快速构建Web应用

