我做了个添加手势程序向手势库加手势,手势文件存放在/sdcard/mygestures,我却找不到这个手势文件,又做了个手势识别程序却能正确的加载手势文件并识别我刚才添加的手势,代码如下:
下面是添加手势的程序
public void onClick(DialogInterface dialog,int which){
// 获取指定文件对应的手势库
GestureLibrary gestureLib = GestureLibraries.fromFile("/sdcard/mygestures");
// 添加手势
gestureLib.addGesture(gestureName.getText().toString(),gesture);
// 保存手势库
gestureLib.save();
}
识别手势的程序if (gestureLibrary.load()){
Toast.makeText(RecogniseGesture.this,"手势文件装载成功!" ,
8000).show();
}
我测试能识别前面添加的手势,但我却找不mygestures文件,
请问为什么我在sdcard卡里找不到mygestures文件.那如果我想让自己做的手势给其它机器上的程序用,那不是还要重新在其它机上做手势?
------解决思路----------------------
你的sdcard读写权限加了吗?
还有你这是真机还是模拟器的啊。如果是真机的话,印象中好像路径也是不对的哈....
如果是模拟器的话,好像在一个不叫sdcard的文件夹下..
------解决思路----------------------
印象中好像是/mnt/sdcard吧,总的来说同意楼上
------解决思路----------------------
在androidManifest.xml 文件中加入
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
在运行程序看看...
------解决思路----------------------
File file = new File(Environment.getExternalStorageDirectory().getPath());
这个是根路径,下面还分了DCIM,MUSIC,MOVIE等,你可以打开UES存储设备自己看,路径一般按上面的写法,因为sdcard在新版本上前面加了mnt/sdcard,但是按标准的写法就可以不用管这些了,子路径也可以添加上去,如:
File file = new File(Environment.getExternalStorageDirectory() .getPath() + "/MUSIC/");
Android的手势基本已够用,还有就是读写权限。
------解决思路----------------------
楼主你能把自己封装的类文件放到Android的类库里面去,就可以实现你的想法,你所说的A,B,C机只有A机装了你的文件所以可以使用,而B,C机没有装,所以不能使用,而你想一劳永逸。这样说吧,如果你们公司是生产手机的,你可以改源码,然后所有你们生产的手机都装的是你们的改过的系统,那么在你们生产的手机上就可以使用你的手势文件。