再战android-语音识别2(修改配置)

时间:2022-09-30 20:24:29

  可怕的半桶水一直在晃。程序中需要根据用户的选择设置语音识别的语言(目前科大讯飞支持英文、普通话、粤语),不想每次要用户去IatSetting中去改,需要能直接修改IatSetting的设置。之前移植的IatSetting页面没有细究,直到需要进行识别语言的修改时才发现,IatSetting使用了PreferenceActivity(首选项设置页),通过集成PreferenceActivity来实现自己的设置持久化(即使程序退出也可以保存),而保存数据的对象是SharedPreferences。

  在需要修改配置的时候加载PreferenceActivity页面,系统会自动将layout(放置在res/xml目录下)和SharedPreference对象进行关联,进行初始化和修改保存,自己不需要编写太多代码。

  有篇很好的参考文章:http://blog.csdn.net/plussoft/article/details/9152573。

  在我的代码中,新建函数:

    private boolean setIatSetting(String name, String value){
SharedPreferences.Editor edit = mSharedPreferences.edit();//mSharedPreferences的初始化请自行翻阅讯飞的指引
edit.putString(name, value);
return edit.commit();
}

  每次用户切换页面需要进行语言修改时调用:

setIatSetting("iat_language_preference", "mandarin");
showTip("设置听写语言为中文");

  设置英文则将mandarin换成en_us。