Android传递参数总结
来源:互联网 发布:手机淘宝排名怎么提升 编辑:程序博客网 时间:2024/05/16 12:43
Android中经常用到activity之间相关参数的传递。
有的是利用intent来进行,有的是利用全局变量来进行。大家根据情况选定。
1:利用putExtra和intent来进行相关activity的传值:
String num1 = etNum1.getText().toString();String num2 = etNum2.getText().toString();Intent intent = new Intent();//用intent.putExtra(String name, String value);来传递参数。intent.putExtra("one",num1); intent.putExtra("two",num2); intent.setClass(ButtonAndView.this,ResultActivity.class); startActivity(intent);
在需要put的地方,家那个num1,num2进行putExtra,然后在需要get的地方get就ok。如下:
Intent intent1 = getIntent();// 用intent1.getStringExtra()来得到上一个ACTIVITY发过来的字符串。String one = intent1.getStringExtra("one");String two = intent1.getStringExtra("two");int oneInt = Integer.parseInt(one); //用Integer.parseInt()转为整型;int twoInt = Integer.parseInt(two);这样,就实现了putExtra和intent的传递参数。
2:bundle传递参数:
Intent intent = new Intent();intent.setClass(this,Test.class);// 直接添加 //intent.putExtra("MyData", new ParcelableData()); // 通过Bundle Bundle bundle=new Bundle(); bundle.putString("MyString","test bundle"); bundle.putParcelable("MyData",new ParcelableData()); intent.putExtras(bundle); startActivity(intent);然后在需要的地方get。
Bundle bundle = getIntent().getExtras();ParcelableData parcelableData = bundle.getParcelable("MyData");String testBundleString = bundle.getString("MyString");Log.v("string=", testBundleString); Log.v("name=", parcelableData.getName()); Log.v("age=", ""+parcelableData.getAge());3:广播和intent传递数据:
public class BroadcastActivity extends Activity { public static final String MY_NEW_LIFEFORM = "NEW_LIFEFORM"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_broadcast); //传递数据 final Intent intent = new Intent(MY_NEW_LIFEFORM); intent.putExtra("msgContent", "测试内容"); //初始化按钮 Button button = (Button) findViewById(R.id.sendBroadcastIntent); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { sendBroadcast(intent); } }); }}然后就是broadcastReceiver:
public class Receiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String content = intent.getStringExtra("msgContent"); CharSequence string = "收到信息:" + content; Toast.makeText(context, string, Toast.LENGTH_LONG).show(); }}
然后注意使用广播要对Manifest进行配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.dh.broadcast"android:versionCode="1"android:versionName="1.0" ><uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /><application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.dh.broadcast.BroadcastActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.dh.broadcast.Receiver" android:enabled="true"> <intent-filter > <action android:name="NEW_LIFEFORM"/> </intent-filter> </receiver></application></manifest>
4:全局变量进行传递:
public class CaChe { private CaChe() { } private static ConcurrentHashMap<String, Object> MAP = new ConcurrentHashMap<String, Object>(); public static void put(String key, Object value) { MAP.put(key, value); } public static <T> T get(String key) { return (T) MAP.get(key); } public static void remove(String key) { MAP.remove(key); } public static void clear() { MAP.clear(); }}封装一个全局变量的put,get的类。
使用的时候,我们在需要put的地方,直接如下:
CaChe.put("code", "2");
在接收的地方:
CaChe.get("code").equals("2")全局变量使用需谨慎,不需要的时候remove掉。
就先总结这么多吧,能想到的就这么多传值的方法了,如果继续想到,会继续进行android传值的更新。
如有转载,请标明出处,谢谢。
1 0
- Android传递参数总结
- Android Handler Message总结(传递参数)
- 参数传递总结
- C++ 参数传递总结
- WebApi参数传递总结
- Mybatis参数传递总结
- WebApi参数传递总结
- mybatis传递参数总结
- mybatis 参数传递总结
- [转载]android之Activity参数相互传递总结
- [转载]android之Activity参数相互传递总结
- android internet参数传递
- android 参数传递
- Android intent传递参数
- Android---intent传递参数
- Android JNI参数传递
- android bundle传递参数
- ASP.NET参数传递总结
- 面试题--Java常用集合类
- Android集成微信刷卡支付遇到的坑坑洼洼
- 快捷键
- hive问题汇总
- Java设计模式之 —— 单例(Singleton)
- Android传递参数总结
- 递推
- 教你用VPS搭建自己的Shadowsock
- App安全(一) Android防止升级过程被劫持和换包
- java获取mysql自动生成的id
- 码农谷之采药
- 策略模式理解
- 一个小小的dp
- 木雨音乐 项目开发(一)