基于Android手机平台音乐播放器开发设计(17)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

基于Android手机平台音乐播放器开发设计(17)


                    }
                }).setNegativeButton("取消", null);
        AlertDialog alert = builder.create();
        alert.show();
    }
    private final void insertMusic(File file) {
        ContentResolver cr = getContentResolver();
        ContentValues values = new ContentValues();
        Uri uri = DBProvider.CONTENT_URI;
        String fileName = file.getName().substring(0,
                file.getName().indexOf("."));
        values.put(FileColumn.NAME, fileName);
        values.put(FileColumn.PATH, file.getAbsolutePath());
        values.put(FileColumn.TYPE, "Music");
        values.put(FileColumn.SORT, "popular");
        cr.insert(uri, values);
        Toast.makeText(FileExplorerActivity.this, "已加入", Toast.LENGTH_LONG)
                .show();
        Intent intent = new Intent();
        setResult(6, intent);
        finish();
    }
4.6 播放器数据存储方式
在播放器正常运行时,由于各界面存在相互跳转,为了避免数据在界面跳转的过程中丢失,我们需要将一些数据进行临时存储或者永久存储。Android作为一种手机操作系统,提供了如下几种存取数据的方式:Preference(配置)、File(文件)、SQLite数据和网络。在Android中各个应用程序组件之间是相互独立的,彼此的数据不能共享。为了实现数据的共享,Android提供了Content Provider组件来实现应用程序之间数据的共享。
4.6.1 SharePreferences
SharedPreferences Preference Preference提供了一种轻量级的数据存取方法,一般数据比较少,一些简单的配置信息。它以“键-值”对的方式,将数据保存在一个XML配置文件中。使用到的接口(详细内容见文档)
android.content.SharedPreferences 提供了保存数据的方法
android.content .SharedPreferences.Editor 提供了获得数据的方法
xml配置文件的读取 我们仍以播放模式读取为例:当需要用到播放模式的确定时,我们将读取.Xml文件,同样用共享文件类SharedPreferences 通过用方法 getSharedPreferences("SET_MSG",MODE_WORLD_READABLE),并且是只读方式获 得.Xml的文件内容。SharedPreferences的对象调用方法 getString("sigle_Play", null),方法返回一个String类型的值,即是我们以前存储进去的String值。此方法当该标记不存在时会默认返回一个null值。获得 成功后我们就可以运用当前的值再对程序进行操作了。类SharedPreferences。它有一个方法getSharedPreferences(参数1,参数2),参数1为写进时的标记,便于在从其中读取出来时的标记,参数2为读取模式,有只写模式(MODE_WORLD_WRITEABLE)和只读模式(MODE_WORLD_READABLE),在 写之前将其置入编辑状态,用静态方法SharedPreferences.Editor editor = sp.edit();然后对象editor可以存入一个HashMap<key,values>类型的键值,即 putString(KEY, VALUES),这样,我们可以将List中的对象转化成一样长的字符中放进配置文件中。写入成功时,android系统会自动在目录data/data/工程包名。 (责任编辑:qin)