阅读:6621回复:3
C++代码读取xml文件
我想在 framework/native/service/inputflinger/InputReader.cpp 文件里读取一个xml文件
/data/data/com.google.android.inputmethod.korean/shared_prefs/com.google.android.inputmethod.korean_preferences.xml 获取里面这一组数据:<string name="ACTIVE_LANGUAGE_URI">en</string> 不知道C++代码里面应该怎么样读取xml文件 |
|
|
沙发#
发布于:2019-09-28 10:11
这个问题说起来也是有点麻烦,简单来说就是我们客户想用无线飞鼠,上面有全键盘,还有一个英文韩文切换键,客户希望,飞鼠键盘可以切换英文韩文输入。软键盘虽然可以响应到切换键,但是26个字母键输入的始终是a b c d的字母,所以我们在frameworks/native/services/inputflinger/InputReader.cpp里面监听到切换键,强行修改26个字母键的码值,让它们能够发送韩文元音的Unicode
bool change_button_flags = true;这样是可以实现飞鼠键盘输入韩文,而且可以英文韩文切换,我们是用一个 bool change_button_flags = true; 每次按切换键,取反来实现26字母键keyCode切换的, 这样就会造成和google韩文输入法软键盘的英文韩文不同步,所以我想读取软键盘的这个文件/data/data/com.google.android.inputmethod.korean/shared_prefs/com.google.android.inputmethod.korean_preferences.xml 通过这个字段: <string name="ACTIVE_LANGUAGE_URI">en</string> <string name="ACTIVE_LANGUAGE_URI">ko</string> 来获取软键盘当前是英文还是韩文,来给change_button_flags赋值。 这个想法应该是可以行的通的,就是不知道应该怎么在C++的代码里面读取这个xml文件 |
|
|
板凳#
发布于:2019-09-29 16:51
C++的语法不熟啊,解析XML文件的方法百度了很多地方,试了好多方法,各种报错搞不定。最后没办法,在PhoneWindowManager.java里面,用java的Pull 解析,然后吧结果写到SystemProperty里面,在Native层获取property_get。但是还是在native层C++直接解析还是最好的
|
|
|
地板#
发布于:2019-09-29 21:08
|
|
|