如果想为其他程序共享数据,只要写provider即可,如果访问外存储设备的(SD卡)的文件,只要添加相应权限即可。

解决方案 »

  1.   


        写provider是可以共享数据,但是别的软件开发者不知道你写的provider的uri,这个这么解决?
      

  2.   

    你要用provider的数据的数据库,一般是存在 /data下的,不是sdcard, 别人也不是轻易能拿到权限访问的。
      

  3.   

    其实就是清楚  所有的应用软件数据(包括文件)为该应用软件所私有  这句话。如果私有的话那音乐图片等文件算私有文件吗?其他程序访问的话只能通过ContentProvider这种方式访问吗?
    可能我还是处在windows的思维下,或者还是资料看的太少。
      

  4.   


    我们原来做的windows下类似 360密盘工具(确切说比他们早作3年多,后来为了减少360对我们的麻烦每次发布新版本都去认证。后来360密盘就出来了)。现在想在android上做开些发。不过貌似android和windows文件管理差别太大。
      

  5.   

    sd卡是所有应用都可以用的,contentprovider也一样,应用私有的是可以自己创建一个数据库的
    例子:public class DBOpenHelper extends SQLiteOpenHelper { public DBOpenHelper(Context context) {
    super(context, "itcast.db", null, 1);
    } @Override
    public void onCreate(SQLiteDatabase db) {//  _id    phonenumber 12
    db.execSQL("create table blacknumber(_id integer primary key autoincrement, phonenumber varchar(12))");
    } @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub }}
      

  6.   


    "所有的应用软件数据(包括文件)为该应用软件所私有" 是不是可以理解为: 应用程序自己创建的文件是私有的,其他程序想访问的话通过contentprovider?而sd卡上数据是每个程序的都能访问的。
    如果应用程序把文件创建在sd卡上那是私有的还是公有的?