![在这里插入图片描述](https://img-blog.csdnimg.cn/20210317104838282.gif)
AppWriteActivity
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import cn.edu.zufe.app002.util.DateUtil;
public class AppWriteActivity extends AppCompatActivity implements View.OnClickListener{
private EditText etUsername;
private EditText etAge;
private EditText etHeight;
private EditText etWeight;
private Spinner spSex;
private Button btnSave;
private ArrayAdapter<CharSequence> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_app_write);
etUsername = (EditText) findViewById(R.id.et_username);
etAge = (EditText) findViewById(R.id.et_age);
etHeight = (EditText) findViewById(R.id.et_height);
etWeight = (EditText) findViewById(R.id.et_weight);
spSex = (Spinner) findViewById(R.id.sp_sex);
btnSave = (Button) findViewById(R.id.btn_save);
adapter = ArrayAdapter.createFromResource(this, R.array.sex, android.R.layout.simple_list_item_1);
spSex.setAdapter(adapter);
btnSave.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(v.getId() == R.id.btn_save) {
MainApplication app = MainApplication.getInstance();
app.infoMap.put("name", etUsername.getText().toString());
app.infoMap.put("age", etAge.getText().toString());
app.infoMap.put("height", etHeight.getText().toString());
app.infoMap.put("weight", etWeight.getText().toString());
app.infoMap.put("sex", spSex.getSelectedItem().toString());
app.infoMap.put("update_time", DateUtil.getNowTime("yyyy-MM-dd HH:mm:ss"));
Toast.makeText(this, "数据已写入全局变量", Toast.LENGTH_SHORT).show();
}
}
}
activity_app_write.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".AppWriteActivity">
<TextView
android:id="@+id/tv_username"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_marginRight="10dp"
android:text="姓名:"
android:textSize="17sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/et_username"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textSize="17sp"
app:layout_constraintBaseline_toBaselineOf="@+id/tv_username"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/tv_username"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/tv_age"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_marginRight="10dp"
android:text="年龄:"
android:textSize="17sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_username" />
<EditText
android:id="@+id/et_age"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textSize="17sp"
app:layout_constraintBaseline_toBaselineOf="@+id/tv_age"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/tv_age"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/tv_height"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_marginRight="10dp"
android:text="身高:"
android:textSize="17sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_age" />
<EditText
android:id="@+id/et_height"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textSize="17sp"
app:layout_constraintBaseline_toBaselineOf="@+id/tv_height"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/tv_height"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/tv_weight"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_marginRight="10dp"
android:text="体重:"
android:textSize="17sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_height" />
<EditText
android:id="@+id/et_weight"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:textSize="17sp"
app:layout_constraintBaseline_toBaselineOf="@+id/tv_weight"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintLeft_toRightOf="@+id/tv_weight"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/tv_sex"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_marginRight="10dp"
android:text="性别:"
android:textSize="17sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_weight" />
<Spinner
android:id="@+id/sp_sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
app:layout_constraintLeft_toRightOf="@+id/tv_sex"
app:layout_constraintTop_toBottomOf="@+id/et_weight" />
<Button
android:id="@+id/btn_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="保存到全局变量"
android:textSize="17sp"
android:layout_margin="20dp"
app:layout_constraintTop_toBottomOf="@+id/tv_sex" />
</androidx.constraintlayout.widget.ConstraintLayout>
AppReadActivity
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.Map;
public class AppReadActivity extends AppCompatActivity {
private TextView tvText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_app_read);
tvText = (TextView) findViewById(R.id.tv_text);
readAppMemory();
}
private void readAppMemory() {
String msg = "全局变量保存的信息如下:\n";
MainApplication app = MainApplication.getInstance();
for (Map.Entry<String,String> mapItem : app.infoMap.entrySet()) {
msg = String.format("%s %s的取值为%s\n", msg, mapItem.getKey(), mapItem.getValue());
}
if(app.infoMap.size() <= 0) {
msg = "全局变量为空";
}
tvText.setText(msg);
}
}
activity_app_read.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".AppReadActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tv_text"
android:textSize="17sp"
android:layout_margin="10dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainApplication类
import android.app.Application;
import java.util.HashMap;
public class MainApplication extends Application {
private static MainApplication mApp;
public HashMap<String,String> infoMap = new HashMap<>();
public static MainApplication getInstance() {
return mApp;
}
@Override
public void onCreate() {
super.onCreate();
mApp = this;
}
}