Application操作全局变量

适合在Application中保存的全局变量主要有下面3类数据:

  • 会频繁读取的信息,如用户名、手机号等。

  • 不方便由意图传递的数据,例如位图对象、非字符串类型的集合对象等。

  • 容易因频繁分配内存而导致内存泄漏的对象,如Handler对象等

布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="5dp"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="40dp"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_name"android:layout_width="wrap_content"android:layout_height="match_parent"android:gravity="center"android:text="姓名:"android:textColor="@color/black"android:textSize="17sp" /><EditTextandroid:id="@+id/et_name"android:layout_width="0dp"android:layout_height="match_parent"android:layout_marginTop="3dp"android:layout_marginBottom="3dp"android:layout_weight="1"android:background="@drawable/edittext_select"android:hint="请输入姓名"android:inputType="text"android:maxLength="12"android:textColor="@color/black"android:textSize="17sp" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="40dp"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_age"android:layout_width="wrap_content"android:layout_height="match_parent"android:gravity="center"android:text="年龄:"android:textColor="@color/black"android:textSize="17sp" /><EditTextandroid:id="@+id/et_age"android:layout_width="0dp"android:layout_height="match_parent"android:layout_marginTop="3dp"android:layout_marginBottom="3dp"android:layout_weight="1"android:background="@drawable/edittext_select"android:hint="请输入年龄"android:inputType="number"android:maxLength="2"android:textColor="@color/black"android:textSize="17sp" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="40dp"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_height"android:layout_width="wrap_content"android:layout_height="match_parent"android:gravity="center"android:text="身高:"android:textColor="@color/black"android:textSize="17sp" /><EditTextandroid:id="@+id/et_height"android:layout_width="0dp"android:layout_height="match_parent"android:layout_marginTop="3dp"android:layout_marginBottom="3dp"android:layout_weight="1"android:background="@drawable/edittext_select"android:hint="请输入身高"android:inputType="number"android:maxLength="3"android:textColor="@color/black"android:textSize="17sp" /></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="40dp"android:orientation="horizontal"><TextViewandroid:id="@+id/tv_weight"android:layout_width="wrap_content"android:layout_height="match_parent"android:gravity="center"android:text="体重:"android:textColor="@color/black"android:textSize="17sp" /><EditTextandroid:id="@+id/et_weight"android:layout_width="0dp"android:layout_height="match_parent"android:layout_marginTop="3dp"android:layout_marginBottom="3dp"android:layout_weight="1"android:background="@drawable/edittext_select"android:hint="请输入体重"android:inputType="numberDecimal"android:maxLength="5"android:textColor="@color/black"android:textSize="17sp" /></LinearLayout><CheckBoxandroid:id="@+id/ck_married"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="false"android:gravity="center"android:text="已婚"android:textColor="@color/black"android:textSize="17sp" /><Buttonandroid:id="@+id/btn_save"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="保存"android:textColor="@color/black"android:textSize="17sp" /></LinearLayout>

AppWriteActivity.java

package com.example.datastorage;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;public class AppWriteActivity extends AppCompatActivity implements View.OnClickListener {private EditText et_name;private EditText et_age;private EditText et_height;private EditText et_weight;private CheckBox ck_married;private MyApplication app;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_app_write);et_name = findViewById(R.id.et_name);et_age = findViewById(R.id.et_age);et_height = findViewById(R.id.et_height);et_weight = findViewById(R.id.et_weight);ck_married = findViewById(R.id.ck_married);findViewById(R.id.btn_save).setOnClickListener(this);app = MyApplication.getInstance();reload();}private void reload() {String name = app.infoMap.get("name");if (name == null) {return;}String age = app.infoMap.get("age");String height = app.infoMap.get("height");String weight = app.infoMap.get("weight");String married = app.infoMap.get("married");et_name.setText(name);et_age.setText(age);et_height.setText(height);et_weight.setText(weight);if ("是".equals(married)) {ck_married.setChecked(true);} else {ck_married.setChecked(false);}}@Overridepublic void onClick(View v) {String name = et_name.getText().toString();String age = et_age.getText().toString();String height = et_height.getText().toString();String weight = et_weight.getText().toString();app.infoMap.put("name", name);app.infoMap.put("age", age);app.infoMap.put("height", height);app.infoMap.put("weight", weight);app.infoMap.put("married", ck_married.isChecked() ? "是" : "否");}
}

Android -- 全局变量相关推荐

  1. android全局变量闪退,安卓使用Intent开启照相机拍照时闪退的处理

    1.现象 在使用安卓手机的一些应用调用照相机时,我们会发现有时候当我们拍照完毕时,程序会出现闪退,非常影响用户体验.目前项目中也有类似的拍照上传功能,当使用米3手机测试时,拍照上传功能可以正常使用,当 ...

  2. android释放全局变量,Android全局变量

    慕尼黑8549860 您可以使用Singleton Pattern就像这样:package com.ramps;public class MyProperties {private static My ...

  3. 【Android 应用开发】 Application 使用分析

    博客地址 : http://blog.csdn.net/shulianghan/article/details/40737419 代码下载 : Android 应用 Application 经典用法; ...

  4. AsyncTask进度条加载网站数据到ListView

    2019独角兽企业重金招聘Python工程师标准>>> 代码介绍: 初学android,写了个一小demo.功能很简单,主要是用来学习, 知识要点: 1.android全局变量的使用 ...

  5. 我的2015学习总结及2016的技术规划(2016.02)

    序 现在这个时间,春节已经过去,2016也走过了两个月了.个人感觉有必要收拾下过去的一年,同时展望下今年的技术规划,这就是本文的由来. 本文主要关注我在技术方面的成长与收获,其他方面不适合写在这里. ...

  6. Application context和Activity context的区别

    这是两种不同的context,也是最常见的两种.第一种中context的生命周期与Application的生命周期相关的,context随着Application的销毁而销毁,伴随applicatio ...

  7. Android中用Application类实现全局变量

    在Java中如果要使用全局变量,一般定义public static类型的变量.但是这种方法不符合Android的框架架构,Android中要使用Application context. Applica ...

  8. 【Android NDK 开发】JNI 线程 ( JNI 线程创建 | 线程执行函数 | 非 JNI 方法获取 JNIEnv 与 Java 对象 | 线程获取 JNIEnv | 全局变量设置 )

    文章目录 I . JNI 线程创建 II . 线程执行函数 III . 线程方法获取 Java 对象 IV . 线程方法获取 JNIEnv V . JNI 线程 完整代码示例 I . JNI 线程创建 ...

  9. android如何建立全局变量,如何在Android中声明全局变量?

    我正在创建一个需要登录的应用程序. 我创建了主要和登录活动. 在主要活动onCreate方法中我添加了以下条件: public void onCreate(Bundle savedInstanceSt ...

最新文章

  1. 牛客题霸 NC22 合并两个有序的数组
  2. spring体系结构_了解Spring Web应用程序体系结构:经典方法
  3. Play和Grails Java框架的优缺点
  4. observable_Java Observable addObserver()方法与示例
  5. 定了!2020年,6种将死的编程语言!
  6. 并发查询_java 手写并发框架(一)异步查询转同步的7种实现方式
  7. HDU2500 做一个正气的杭电人【水题】
  8. Acunetix Web Vulnarability Scanner V10.5 详细中文手册
  9. eclipse 搭建ARM开发环境
  10. 【bzoj3162】独钓寒江雪
  11. 联合阿里在职测开工程师耗时一个星期写的 【接口测试+自动化接口接口测试详解]
  12. abaqus编写本构方程vumat_基于ABAQUS的木材本构关系数值模拟方法与流程
  13. Java开发知识点!mysql运行sql文件很慢
  14. 终于理解了VT虚拟化技术的作用!(内详)
  15. 这五个数据科学家和机器学习工程师油管博主,你必须关注
  16. 参考文献格式要求及书写规则
  17. 用软件可编程FPGA加速网络边缘的移动应用总结
  18. IOS 图标尺寸以及设备尺寸详解
  19. 本特利Bently Nevada 330180-91-05 本特利传感器
  20. curses-键盘编码-openssl加解密【转】

热门文章

  1. 芯片后端:flatten和hierarchical
  2. PHP laravolt/avatar 生成中文头像
  3. intel c语言面试题,英特尔(Intel)软件工程师面试经验
  4. CSS的两个class选择器紧挨在一起
  5. python撤销快捷键-汇总学习Python必备的42个快捷键,看完收获满满
  6. 销售数据发生波动,怎么办?
  7. 程序猿不易、请爱惜自己的身体!!!
  8. mariadb主从数据库配置详解
  9. 怎么提升品牌知名度,小红书母婴赛道分析
  10. 【043】Linux 的 cat 命令各种用法