在两个界面之间传送数据库能不能,或者自己定义的类呢

解决方案 »

  1.   

    可以,继承parcelable类或者是使用putserilizable,
      

  2.   

    要传数据库的话,不如做一个content provider了,这样代码更干净点。
      

  3.   

    content provider赞成用这个了,比较方便而且很好用啊,
      

  4.   

    一般来说, Intent具有单例的特性.就是一个intent往往只有一个实例. 如果是这样,你可以试试静态属性,或者单例模式1 静态属性public class DBConnPool{
    public static Record record  = null;
    } 发送方:  DBConnPool.record = ....
     接收方   rec = DBConnPool.record; 不用intent了. 2 单例方式 
      public class DataPool{
          static DataPool ins = null;
          public DataPool getIns(){
               if(ins == null) ins = new DataPool();              return ins;
          }
          HashMap<String,Object> map = new HashMap<String,Object>();
          public Object getData(String name){
                if(map.contains(name)) return map.get(name);
                 else return null;
          }
          public addData(String name,Object data){
              map.put(name,data)
          }
       }发送方 :    DataPool.getIns().addData("mydataid",record);
    接收方:     record = DataPool.getIns().getData("mydataid");
      

  5.   

    敲了半天代码,发现有几个地方大错了
    一般来说, Intent具有单例的特性.就是一个intent往往只有一个实例. 如果是这样,你可以试试静态属性,或者单例模式 . 下面演示的DataPool支持复杂的数据传递. 适用性很好. 
    1 静态属性public class DBConnPool{
    public static Record record = null;
    } 发送方: DBConnPool.record = ....
     接收方 rec = DBConnPool.record;  不用intent.putExtre传参数了.
     2 单例方式  
      public class DataPool{
      static DataPool ins = null;
      public DataPool getIns(){
      if(ins == null) ins = new DataPool();  return ins;
      }
      HashMap<String,Object> map = new HashMap<String,Object>();
      public Object getData(String name){
      if(map.contains(name)) return map.get(name);
      else return null;
      }
      public addData(String name,Object data){
      map.put(name,data)
      }
      }发送方 : DataPool.getIns().addData("mydataid",record);
    接收方: record = DataPool.getIns().getData("mydataid");
      

  6.   

    content provider用这个吧,这个类的目的就是用来暴露应用的数据,不需要通过intent传递