【Android新手笔记四】activity之间的数据共享
2016-06-02 14:13
423 查看
项目中用到两种方式实现不同activity的数据共享。
第一种是在两个activity之间实现。在页面跳转时同时传递数据。
clinic_reception_list.java:
第二种方式是利用扩展application组件类的方式实现全局数据的共享,这个可以实现该项目的所有activity共享数据。我在用户登录后就需要将用户名和ID作为全局变量共享,以在之后的activity获得用户相关的数据。
首先需要新建一个application类 applicationTrans.java
package com.example.misssea.new_health;
import android.app.Application;
public class applicationTrans extends Application{
private String name;
private String userID;
private String URL;
public String get_Name() {
return name;
}
public String get_userID() {
return userID;
}
public String getURL(){
return URL;
}
public void setValue(String name,String userID) {
this.name = name;
this.userID=userID;
}
public void setURL(String url){
this.URL = url;
}
}然后在配置文件AndroidManifest.xml中将application的name修改
<application
android:name=".applicationTrans"之后可以在登录界面进行赋值:
stringname= edt_name.getText().toString();
stringID=edt_id.getText().toString(); //获取用户名和用户ID
((applicationTrans)getApplication()).setValue(stringname,stringID); //共享用户名在别的activity中能够获取用户名和ID
stringname=((applicationTrans)getApplication()).get_Name();
stringID=((applicationTrans)getApplication()).get_userID(); //获取用户信息
第一种是在两个activity之间实现。在页面跳转时同时传递数据。
clinic_reception_list.java:
Intent intent = new Intent(clinic_reception_list.this, clinic_reception_look1.class); Bundle bundle = new Bundle(); //bundle类是一个key-value对 bundle.putInt("number", number[position]); //number[position]是该activity已知的int,对应key为“number” intent.putExtras(bundle); //intent的extras属性传递数据 startActivity(intent); //页面跳转
clinic_reception_look1.java:
Bundle bundle = this.getIntent().getExtras(); int number = bundle.getInt("number"); //获取之前的activity中的number对应的value
第二种方式是利用扩展application组件类的方式实现全局数据的共享,这个可以实现该项目的所有activity共享数据。我在用户登录后就需要将用户名和ID作为全局变量共享,以在之后的activity获得用户相关的数据。
首先需要新建一个application类 applicationTrans.java
package com.example.misssea.new_health;
import android.app.Application;
public class applicationTrans extends Application{
private String name;
private String userID;
private String URL;
public String get_Name() {
return name;
}
public String get_userID() {
return userID;
}
public String getURL(){
return URL;
}
public void setValue(String name,String userID) {
this.name = name;
this.userID=userID;
}
public void setURL(String url){
this.URL = url;
}
}然后在配置文件AndroidManifest.xml中将application的name修改
<application
android:name=".applicationTrans"之后可以在登录界面进行赋值:
stringname= edt_name.getText().toString();
stringID=edt_id.getText().toString(); //获取用户名和用户ID
((applicationTrans)getApplication()).setValue(stringname,stringID); //共享用户名在别的activity中能够获取用户名和ID
stringname=((applicationTrans)getApplication()).get_Name();
stringID=((applicationTrans)getApplication()).get_userID(); //获取用户信息
相关文章推荐
- ionic ng-src 在网页显示,但是导出apk在android手机中运行不显示图片
- Android设备中实现陀螺仪(Orientation Sensor)
- Android开发实战总结--编程规范(持续更新中...)
- Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)
- Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
- Android学习(1)-TextLink
- android framework中添加自定义权限
- Android:那些好用的开源库
- Android:自定义简洁dialog
- android实现弹窗的方式汇总
- 【Android新手笔记三】listview
- Android可适配不规则tab的PageIndicator
- Android笔记:真机调试
- AndroidStudio配置SVN以及使用代码管理
- android6.0通话模块涉及工程
- Android通知Notification的使用
- Android项目之天气预报 的实现分析
- android中图片规格
- Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
- Android TextView中设置关键字高亮