首页 > 代码库 > Android数据传递方法
Android数据传递方法
Android中,Activity之间的数据传递有些复杂,比如通过Intent和Bundle等等,传递复杂对象时必须是实现了Serializable接口的类,这在很多时候使得处理页面间的数据传递很不方便。在JavaWeb中,Session对象传递数据很实用方便,对此,在Android中可不可以自己实现一个类似JavaWeb中的Session呢?
其实很简单,在不严谨的情况下,具体实现过程如下:
/*///////////////////////////////////////////////////////////////// _ooOoo_ o8888888o 88" . "88 (| ^_^ |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||// \ / _||||| -:- |||||- \ | | \\\ - /// | | | \_| ''\---/'' | | \ .-\__ `-` ___/-. / ___`. .' /--.--\ `. . ___ ."" '< `.___\_<|>_/___.' >'"". | | : `- \`.;`\ _ /`;.`/ - ` : | | \ \ `-. \_ __\ /__ _/ .-` / / ========`-.____`-.___\_____/___.-`____.-'======== `=---=' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 佛祖保佑 永无BUG Code by duxu0711@163.com ////////////////////////////////////////////////////////////////*/ package cn.geekduxu.android; import java.util.HashMap; import java.util.Map; /** * 在Android中模拟JavaWeb的Session * @author <a href="mailto://duxu0711@163.com">杜旭</a> */ public class Session { private static Session INSTANCE; private Map<String, Object> map; private Session(){ map = new HashMap<String, Object>(); } /** * 获取Session对象 * @return Session对象的引用 */ public static synchronized Session getSession(){ if(null == INSTANCE){ INSTANCE = new Session(); } return INSTANCE; } /** * 保存值到Session中 * @param key - 与指定值关联的键 * @param value - 与指定键关联的值 */ public void put(String key, Object value){ map.put(key, value); } /** * 获取Session中保存的对象 * @param key 要返回其关联值的键 * @return 指定键所映射的值;如果不包含该键的映射关系,则返回null */ public Object get(String key){ return map.get(key); } /** * 从Session中移除一个对象 * @param key 要移除对象的键 * @return 删除的对象 */ public Object remove(String key){ return map.remove(key); } /** * 清空Session */ public void clear(){ map.clear(); } }这样就可以在Android中简单模拟出JavaWeb中Session的效果,对于传递数据会方便很多。(示例中的代码并不严谨,在程序中使用的话需考虑异常等情况)
Android数据传递方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。