中亚皮毛交易中心手势交易法怎么弄

只需一步,快速开始
从尚村皮毛交易市场行情看毛皮行业发展趋势
评论: 0|来自: [db:来源]
  在尚村皮毛交易市场上,小集早市看到市场上各种皮张上市微量,交易中貂皮市场气氛比较活跃皮张要价微升但成交微量;狐皮中银狐皮适量销售价格坚挺,蓝白狐皮成交明显放缓但要价稳定;貉子皮价格继续微调买家信心降低交易一般;兔皮销售进一步迟缓当前季节皮价格不明显微落。进入六月里市场将逐步回稳,虽然有国际芬兰、丹麦两大拍卖会的考验,但国内市场皮张价格已经降到了历史较低的价位水平,甚至貂皮价格已经降到了历史上前所未有的地步。(在芬兰拍卖会中据芬兰拍卖信息报貂皮价格涨势喜人,但我觉得这里有点,希望大家理智的与三月皮张销售价格比对一下自然就明白了,不难看出大部分出售的6月价格明显比三月拍卖的价格大幅低5-10欧元,皮张涨价从何谈起?)
  在生皮市场上,早市看到各种皮张上市微量需求偏少交易清淡,其原因在于当前正是农忙麦收期间市场显得冷清。先看貂皮市场上,早市貂水鲜皮上市微量,因芬兰拍卖会缘故要价比上个交易日微升10元,但成交微量市场依然难以拉动交易的气氛。淘汰母低质量价格在10-20元,一般质量价格在30-35元,较好质量的要价在40-45元;上市的激素貂公皮标准黑一般价格在100-115元,较高质量皮张价格在130-135元,文登皮价格在145-150元,石家庄价格在150-155元,大连路皮价格在180-200元,短毛类价格在230-240元;激素母皮山东标准黑貂水鲜皮价格在60-65元,文登激素黑母水鲜皮价格在80-90元,大连路杂交的皮张价格在95-105元,大连纯种皮价格在120-130元,纯短毛类水鲜皮价格在140-160元。彩貂激素皮一般白母价格在100-115元,公皮价格在210-230元;灰貂皮母皮价格在110-120元,公皮价格在210-220元。(貂皮目前价格导致养殖户赔本养殖,然而国际拍卖会仍有大量水貂皮待售,此情此景真是看在眼里痛在心中。在此提醒养殖户朋友目前处于赔本养殖,必须要精品精养,忍痛淘汰一些不良种群不然劳累劳工还赔钱。)
  在狐皮市场,早市狐皮上市一般,交易中银狐皮以稳定的价格适量销售;蓝白狐皮销售明显放缓但要价稳定。蓝狐皮山东高质量一米以上毛路好的干板皮要价在680-730元,2375px以上较好质量要价在600-630元,一般质量2250px以上皮张要价在500-550元,低质量2000px以上皮张价格在350-380元,东北皮数量少高质量一米以上皮张要价在780-820元,特路皮要价在860-900元。白狐皮山东高质量一米以上毛路好的干板皮要价在元,2375px以上较好质量要价在950-1000元,一般质量2250px以上皮张要价在750-800元,东北皮高质量一米以上皮张要价在元,少量特路皮要价在1300元左右。银狐皮山东皮一般质量2000px左右价格在270-300元,高质量2125px左右的价格在330-360元,特路皮2250px左右要价在400-430元,唐山昌黎高质量2125px皮张价格在420-450元,东北高质量皮2125px以上要价在470-520元,2250px以上特路皮要价在550-580元。
  在貉皮市场上,本色黑貉子皮张上市量进一步减少,销售迟缓价格继续微调。当前本色黑貉子皮需求明显减少,价格随市场调节与5月相比明显回落30-50元;而白貉皮逆市上扬回升50元以上。本色貉皮等级山东干板皮一般质量2000px以上的成交价格在130-160元,2375px以上领子路皮价格在200-220元,一米以上皮张价格在250-280元;唐山昌黎皮一般质量成交价格在150-180元,2375px以上皮张价格在230-250元,2500px以上领子路皮张价格在270-300元,特路皮价格在330-360元;东北皮一般皮张价格在200-240元,2375px以上高质量皮张价格在280-310元,一米以上皮张价格在400元左右;等外残次貉子皮销售一般,一般皮张价格在65-80元,较好皮张价格在95-110元。白貉皮一般质量价格在360-380元,2375px以上高质量皮张要价在480-500元,2500px以上价格在550-570元,特路皮价格在620-650元。
  在獭兔皮市场上,干板皮与活体兔上市微量销售进一步迟缓当前季节皮张价格再次不明显微调。当前季节皮张中褥子路低质量要价在7-9元,一般褥子路皮张要价在14-17元,偏好质量褥子路皮张价格在22-25元;较高质量褥子路价格在27-30元。冬季皮中服装路獭兔皮价格在34-36元,一平尺以上特路皮要价在45-48元;当前活体兔价格大约合7.5-8元每斤,当前活体兔2.25公斤以上的褥子路混活兔一般价格在30-35元,挑兔2.5公斤左右的高质量活兔价格在40元左右,挑兔3公斤左右的特路活兔价格在48-52元。活体兔肉价在5.8元每斤。在家兔皮市场上,家兔皮上市一般销售迟缓价格微落。一般褥子路皮要价在10-12元,高质量皮张价格在15-18元,特路皮价格在27-32元,内胆路一般质量价格0.5-0.56元,较好的价格1-1.15元。
  总体看市场:在本交易日中各种皮张上市微量,交易清淡皮张销售迟缓。当前狐皮中蓝狐皮销售明显迟缓价格不明显微调,白狐皮价格涨幅较大但难以维持其后市;貉子皮价格再次探底买家明显减少;貂皮在本交易日要价虽然坚挺但依然难以改变低价位态势。淡季期中皮张销售放缓价格微调是市场发展的正常规律。此信息属个人建议仅供参考。
上一篇:下一篇:支付宝手势密码连续输错怎么办?支付宝手势密码连续输错解决方法
&&支付宝手势密码连续输错怎么办?支付宝手势密码连续输错解决方法
支付宝手势密码连续输错怎么办?支付宝手势密码连续输错解决方法
10:44:52来源:编辑:9553资讯编辑
支付宝手势密码连续输错怎么办 ?为了安全起见,尽量设置手势密码,但是如果忘记了,怎么办呢?请看下面的介绍。
授权:特别版软件大小:8.26MB语言:简体中文
为了您的支付安全,请下载支付宝安全控件最新版安装吧,本控件只支持32位浏览器使用,支付宝安全控件的作用:保护用户输入的信息,防止木马程序截取键盘记录,以致账户密码被木马程序
1、首先打开支付宝,如下图所示为多次输错界面,已经想不起密码了。
2、在输错密码的界面,点左下角的密码管理,进入手势密码的管理界面,如图所示,点击重新登录。
3、输入登录密码重新登录,在财富界面找到个人,点击进入,如图所示。
4、滑动屏幕找到手势密码,进入之后,打开手势密码的按钮,如图所示。
5、为自己的帐号重新设置一下手势密码,不要过于简单或过于复杂,如图所示。
6、即使设置成功了手势密码,还是可以继续修改的,只需点击修改手势密码即可。
7、在账户安全下的密码管理,可以进行支付密码和登录密码的重置,此篇经验不作详细介绍。
9553小编猜你还喜欢您现在的位置:
华东皮毛交易市场盛大开业 打造山东首家皮毛交易专业平台
&&&&核心提示:10月22日上午,华东皮毛交易市场在临沂经济技术开发区举行开业盛典。据悉,华东皮毛交易市场是山东省首家大型规范化皮毛交易市场。
&&& 人力资源与社会保障部原副部长、全国博士后管理委员会主任、中国人才研究会会长徐颂陶讲话。
临沂市市委常委、副市长刘晓讲话。
临沂经济技术开发区党工委书记、管委会主任徐福田致辞。
华东皮毛交易市场董事长李效三致辞。
有关领导为华东皮毛交易市场开业剪彩。
&&& 临沂在线讯(冯飞 李育烝 公晓玲 姜珊 杨学芳 摄影报道)10月22日上午,华东皮毛交易市场在临沂经济技术开发区举行开业盛典。据悉,华东皮毛交易市场是山东省首家大型规范化皮毛交易市场。
&&& 中央国家机关工委原副书记周敬东,人力资源与社会保障部原副部长、全国博士后管理委员会主任、中国人才研究会会长徐颂陶,山东省政府研究室副主任聂炳华,山东轻工集体企业联社主任钟苏华,山东轻工集体企业联社规划发展部处长周新瑞,临沂市市委常委、副市长刘晓,临沂市人大常委会党组副书记、副主任于中华,市政协党组副书记、副主席仇景阳,临沂经济技术开发区党工委书记、管委会主任徐福田,临沂经济技术开发区党工委副书记、管委会副主任邹际国,华东皮毛交易市场董事长李效三等出席开幕式。&&&&
&&& 华东皮毛交易市场于临沂经济技术开发区沂河路与昆明路交汇处,是临沂经济技术开发区重点支持项目,由山东恒泰皮草凭借和依托丰富的资源优势和实力优势倾力打造。总投资1.5亿元,建筑面积4万平方米。建设商铺区、高档裘皮服装展销区、原皮交易大厅、仓储区、商贸服务区、市场管理区等6大功能区,其中商铺400余间。市场将采用统一管理、集中核算的模式,对场内交易进行规范化管理。为农民养殖户提供良好的销售平台,为采购商提供合法规范的采购渠道,降低购销成本。
&&& 据了解,华东皮毛交易市场地处华东特种皮毛动物养殖腹地,养殖历史悠久,品种全、质量好、规模大,主要品种有水貂、貉子、狐狸、银狐、彩狐、獭兔等,年产值约100亿元。市场所在的华东地区特种皮毛产值约1000亿元,占全国产量的70%,所产皮毛流向华南、华北等各个地区,如浙江、广东、河北等。
&&& 目前,市场已有200余家商户入驻。市场运营后,预计年交易额将达到40亿元以上,辐射整个华东地区,潜在交易额超过200亿元以上,出口额达到1亿美元,农民养殖户直接增收25%以上。同时,带动商贸、物流、裘皮服装深加工等行业发展,直接带动就业人口15万,间接安置就业人口50万。市场运营一年后,将会带动一大批高档裘皮服装加工企业落户开发区,成为临沂经济技术开发区的又一大支柱产业,为地方经济发展和财政增收带来新的增长点。预计2013年后,裘皮服装业实现税收过亿元。华东皮毛交易市场将成为华东地区最有潜力、最有辐射力的皮毛集散中心。
&&& 据悉,近年来,临沂经济技术开发区围绕落实&商文旅引领&战略,一手抓物流平台建设,一手抓龙头物流项目引进,有效促进了先进制造业和现代物流业的&双轮驱动&。目前,临沂经济技术开发区拥有海关、陆路口岸和全市仅有的两家A型保税物流库,近30家国际物流知名企业集聚发展。华东皮毛交易市场的开业运营,对临沂经济技术开发区壮大物流业规模、拉长产业链条、繁荣聚集人气具有重要意义。
看新闻,尽在临沂在线官方微信
微信扫描左侧二维码or添加朋友lywww0539
即可添加临沂在线官方微信
版权/免责声明
Ⅰ.凡注明"稿件来源:魅力临沂"的所有文章,版权均属魅力临沂所有,任何媒体、网站或个人未经授权不得转载、链接、转贴或以其他方式复制发表。未注明"稿件来源:魅力临沂"的所有文章,本网转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如对稿件内容有疑议,请及时与我们联系。
Ⅱ.如本网转载稿涉及版权等问题,请作者在两周内速来函与魅力临沂联系,联系信箱:【Android游戏开发十七】让玩家自定义手势玩转Android游戏!—Android Gesture之【输入法手势技术】 - 李华明Himi
- 博客频道 - CSDN.NET
14306人阅读
原创,转载务必在明显处注明:转载自&原文链接:&&很多童鞋说我的代码运行后,点击home或者back后会程序异常,如果你也这样遇到过,那么你肯定没有仔细读完Himi的博文,第十九篇Himi专门写了关于这些错误的原因和解决方法,这里我在博客都补充说明下,省的童鞋们总疑惑这一块;请点击下面联系进入阅读:&& & & & & & & & & & & & & & & & & & 有童鞋问我为什么不用SDK2.1 ,2.2来进行游戏开发,那我这里稍微说两句:1.Android SDK 属于向下兼容!那么低版本可以运行的,高版本基本上更是没问题!(当然每次SDK的更新也会带来新功能,或者修改了一些原来的BUG等等,那么其实对于游戏开发来说,如果你的游戏中不需要更高的SDK版本的支持情况下,完全不必去追求最新的SDK!)2.使用低版本进行游戏开发这样能兼顾更多的机型,获取更多的用户!3.大家都知道Android SDK 每次版本的更新,底层代码也会更健壮和优化了!比如我们公司的网游Android版在G2(SDK1.5)上跑起来稍微有些卡,而在我的手机上(SDK2.2)运行起来流畅的没说的~各种舒坦~~但是这样也会带来一些弊端,比如我们自己游戏如果上来就用高版本SDK进行开发,那么对于性能、内存上到底如何,我们都不会很容易的看出其效果,如果我们用低版本的SDK则会让我们明显的感受到性能到底如何~你想想如果你的游戏在1.5 ,1.6上跑起来很流畅,那放在更高版本的SDK机器上更是没说的啦~&& & & & & & & & & &总结:游戏开发中,如果你游戏不需要更高的API的支持,那么推荐基于SDK 1.5和1.6来开发!&&& & & & 在上一篇中我给大家介绍了触摸屏手势操作,但是这种触屏手势的操作比较有局限性;比如我们都知道Android可以利用手势来解锁,比如九宫格形式的,通过自定义的一个单笔画手势可以解开屏幕锁,还可以自定义笔画手势来启动一个应用等,那么这种所谓的笔画手势其实就是今天我要给大家讲解的输入法手势识别技术!这种手势是我们可以自己来自定义,而不像之前的触屏手势操作只是利用Android 对一些触屏动作的封装罢了。下面上几张手机自定义笔划手势解锁的的截图:&&& & & & &&& & & 左图中最后一个是自定义解锁的输入法手势~&OK,那么既然利用手势既然能进行解锁等操作,那么我们游戏开发中,更是可以加入这一亮点了,比如在游戏中我画个圆形执行换背景操作,画个X表示退出游戏等等,等等、哈哈 是不是感觉很有意思了?好的,下面就开始进入讲解!&首先本篇主要学习两点:&& & 1. 如何创建输入法手势、删除输入法手势、从SD卡中读取出手势文件!&& & 2.当输入法手势创建后,如何来匹配出我们的自定义手势!&下面我们来熟习两个类和几个概念:&1. 什么是&GestureOverlayView ?&&简单点说其实就是一个手写绘图区;&2. 什么是&GestureLibrary ?&&&这个类是对手势进行保存、删除等操作的,一个存放手势的小仓库!&3. 笔划是什么,字体笔画? &是的,其实就是跟我们写字的笔划一个概念!&4.什么是笔划类型?&&&输入法手势操作中,笔划类型有两种;一种是:单一笔划,另外一种是:多笔划&& &所谓单一笔划笔划就是一笔划画出一个手势,从你手指接触屏幕开始到你离开屏幕笔画就会立刻形成一个手势!一气呵成!&& &而多笔划则是可以在一定紧凑时间内随意几笔划都可!然后超过这个紧凑时间后便会形成一个手势!&先出项目截图,简单说下其功能和操作:&& & & & & & & & & & & & & & & & & 【图1】 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &【图2】&& & & & & & & & & & & &&图1界面中分为3块,从上到下依次是:TextView ,EditText,SurfaceView;然后在SurfaceView后面还有一个覆盖全屏的GestureOverlayView!图2界面是在创建好的手势中匹配手势的界面,这里很清晰看出来,找的很对 ~嘿嘿~&先看下main.xml:&&?xml version=&1.0& encoding=&utf-8&?&
&LinearLayout xmlns:android=&/apk/res/android&
android:orientation=&vertical& android:layout_width=&fill_parent&
android:layout_height=&fill_parent&&
&TextView android:id=&@+id/himi_tv& android:layout_width=&fill_parent&
android:layout_height=&wrap_content& android:text=&@string/hello&
android:textSize=&15sp& android:textColor=&#FFFFFF00& /&
&EditText android:id=&@+id/himi_edit& android:layout_width=&fill_parent&
android:layout_height=&wrap_content& /&
&RelativeLayout android:layout_width=&fill_parent&
android:layout_height=&wrap_content& android:layout_weight=&1&&
&com.himi.MySurfaceView android:id=&@+id/view3d&
android:layout_width=&fill_parent& android:layout_height=&fill_parent& /&
&android.gesture.GestureOverlayView
android:id=&@+id/himi_gesture& android:layout_width=&fill_parent&
android:layout_height=&fill_parent& android:layout_weight=&1.0&/&
&/RelativeLayout&
&/LinearLayout&
xml中注册的有我们自定义的surfaceview,对此不太熟悉可以去看下【Android2D开发之六】,不多解释了。关于GestureOverlayView这里也只是简单的定义了宽高,还有一些重要的属性设置在代码中设置了,当然xml也可以设置的;
下面看MainActivity.java
*@author Himi
*@输入法手势识别
*@注意: android.gesture这个类在api-4(SDK1.6)才开始支持的!
*@提醒:默认存到SD卡中,所以别忘记在AndroidMainfest.xml加上SD卡读写权限!
public class MainActivity extends Activity {
private GestureOverlayV// 创建一个手写绘图区
private G// 手写实例
private GestureLibrary gestureL//创建一个手势仓库
private TextV
private EditT
private S//手势文件路径
private F//
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.himi_tv);
et = (EditText) findViewById(R.id.himi_edit);
gov = (GestureOverlayView) findViewById(R.id.himi_gesture);
gov.setGestureStrokeType(GestureOverlayView.GESTURE_STROKE_TYPE_MULTIPLE);//设置笔划类型
// GestureOverlayView.GESTURE_STROKE_TYPE_MULTIPLE 设置支持多笔划
// GestureOverlayView.GESTURE_STROKE_TYPE_SINGLE 仅支持单一笔划
path = new File(Environment.getExternalStorageDirectory(), &gestures&).getAbsolutePath();
//得到默认路径和文件名/sdcard/gestures
file = new File(path);//实例gestures的文件对象
gestureLib = GestureLibraries.fromFile(path);//实例手势仓库
gov.addOnGestureListener(new OnGestureListener() { // 这里是绑定手写绘图区
// 以下方法是你刚开始画手势的时候触发
public void onGestureStarted(GestureOverlayView overlay, MotionEvent event) {
tv.setText(&请您在紧凑的时间内用两笔划来完成一个手势!西西~&);
// 以下方法是当手势完整形成的时候触发
public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) {
gesture = overlay.getGesture();// 从绘图区取出形成的手势
if (gesture.getStrokesCount() == 2) {//我判定当用户用了两笔划
//(强调:如果一开始设置手势笔画类型是单一笔画,那你这里始终得到的只是1!)
if (event.getAction() == MotionEvent.ACTION_UP) {//判定第两笔划离开屏幕
//if(gesture.getLength()==100){}//这里是判定长度达到100像素
if (et.getText().toString().equals(&&)) {
tv.setText(&由于您没有输入手势名称,so~保存失败啦~&);
tv.setText(&正在保存手势...&);
addGesture(et.getText().toString(), gesture);//我自己写的添加手势函数
tv.setText(&请您在紧凑的时间内用两笔划来完成一个手势!西西~&);
public void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) {
public void onGesture(GestureOverlayView overlay, MotionEvent event) {
//----这里是在程序启动的时候进行遍历所有手势!------
if (!gestureLib.load()) {
tv.setText(&Himi提示:手势超过9个我做了删除所有手势的操作,为了界面整洁一些!&
+ & 输入法手势练习~(*^__^*)~ 嘻嘻!/n操作介绍:(画手势我设置必须画两笔划才行哦~)/n1.& +
&添加手势:先EditText中输入名称,然后在屏幕上画出手势!/n2.匹配手势:&
+ &在EditText输入/&himi/&,然后输入手势即可! &);
Set&String& set = gestureLib.getGestureEntries();//取出所有手势
Object ob[] = set.toArray();
loadAllGesture(set, ob);
这个就是MainActivity主要代码了,其中添加手势、匹配手势、遍历手势、将手势转成图片这些我都单独写成了函数,这样让各位童鞋更清晰思路一些。
从以上代码中我们看出在创建手势之前,手写绘图区(GestureOverlayView)肯定先被创建出来,然后我们就可以在其区域中进行笔划绘画手势了,当然绘画手势前,我们也需要设置了笔划类型,也就是我一开始给大家介绍的~其后最重要的就是手写绘图区的手势监听器绑定,增加OnGestureListener这个监听器重写了四个函数,这里最重要的就两个函数:
&& & &onGestureStarted & 和 &onGestureEnded &; 手势开始和手势结束的监听函数!
尤其是手势结束监听这个函数尤为重要,在其中我设置好几个条件语句,这么几个条件一方面是让大家了解Gesture中一些比较重要常用的方法,另一方面我要提醒各位童鞋:
如果你设置笔划类型是多笔划类型的,那么理想状态下,应该是在一段紧凑时间内,不管你使用了几笔划来绘制手势,系统都应该在判定你在一定短暂时间内没有再进行笔划的时候才应该创建手势,并且系统响应此函数;
&& & &其实错了,一开始我也这么想,但是发现,不管你设置的笔划类型是单一的还是多笔划当你手指离开屏幕,不管你当前是第几笔,Android都会去响应这个完成函数,so~ 我在这里调用手势Gesture类中的getStrokesCount()函数,这个函数会记录在紧凑时间内你绘制手势的笔划数,那么根据这个函数我们就可以解决手指离开屏幕总被响应的问题了,因为单一笔划类型永远这个值不会大于1!
而 if (event.getAction() == MotionEvent.ACTION_UP) {}写这个只是给大家演示第二个参数按键动作该怎么用;
那么我们下面就来看如何创建一个手势:
public void addMyGesture(String name, Gesture gesture) {
if (name.equals(&himi&)) {
findGesture(gesture);
// 关于两种方式创建模拟器的SDcard在【Android2D游戏开发之十】有详解
if (Environment.getExternalStorageState() != null) {// 这个方法在试探终端是否有sdcard!
if (!file.exists()) {// 判定是否已经存在手势文件
// 不存在文件的时候我们去直接把我们的手势文件存入
gestureLib.addGesture(name, gesture);
if (gestureLib.save()) {////保存到文件中
gov.clear(true);//清除笔画
// 注意保存的路径默认是/sdcard/gesture ,so~别忘记AndroidMainfest.xml加上读写权限!
// 这里抱怨一下,咳咳、其实昨天就应该出这篇博文的,就是因为这里总是异常,今天仔细看了
// 才发现不是没写权限,而是我虽然在AndroidMainfest.xml中写了权限,但是写错了位置..哭死!
tv.setText(&保存手势成功!因为不存在手势文件,& + &所以第一次保存手势成功会默认先创& +
&建了一个手势文件!然后将手势保存到文件中.&);
et.setText(&&);
gestureToImage(gesture);
tv.setText(&保存手势失败!&);
} else {//当存在此文件的时候我们需要先删除此手势然后把新的手势放上
//读取已经存在的文件,得到文件中的所有手势
if (!gestureLib.load()) {//如果读取失败
tv.setText(&手势文件读取失败!&);
} else {//读取成功
Set&String& set = gestureLib.getGestureEntries();//取出所有手势
Object ob[] = set.toArray();
boolean isHavedGesture =
for (int i = 0; i & ob. i++) {//这里是遍历所有手势的name
if (((String) ob[i]).equals(name)) {//和我们新添的手势name做对比
isHavedGesture =
if (isHavedGesture) {//如果此变量为true说明有相同name的手势
//----备注1-------------------//gestureLib.removeGesture(name, gesture);//删除与当前名字相同的手势
/*----备注2-----------------*/gestureLib.removeEntry(name);
gestureLib.addGesture(name, gesture);
gestureLib.addGesture(name, gesture);
if (gestureLib.save()) {
gov.clear(true);//清除笔画
gestureToImage(gesture);
tv.setText(&保存手势成功!当前所有手势一共有:& + ob.length + &个&);
et.setText(&&);
tv.setText(&保存手势失败!&);
////------- --以下代码是当手势超过9个就全部清空 操作--------
if (ob.length & 9) {
for (int i = 0; i & ob. i++) {//这里是遍历删除手势
gestureLib.removeEntry((String) ob[i]);
gestureLib.save();
if (MySurfaceView.vec_bmp != null) {
MySurfaceView.vec_bmp.removeAllElements();//删除放置手势图的容器
tv.setText(&手势超过9个,已全部清空!&);
et.setText(&&);
tv.setText(&当前模拟器没有SD卡 - -。&);
} catch (Exception e) {
tv.setText(&操作异常!&);
这里也都很好理解,套路类似之前File文件存储的套路,先判断SD是否存在,然后是文件是否存在:
如果文件不存在就先直接添加到手势到手势仓库中,然后手势仓调用gestureLib.save()才算把手势存到SD卡的手势文件中。&
文件存在的话还要去判定是否文件中包含了相同名字的手势;当然这里可以不判定是否有相同手势名存在,然后进行删除操作!其实也可不删除,直接添加进去当前新建的手势;原因看了下面的备注解释就明白了;
备注 1:因为gestureLib保存的手势是个HashMap, key=手势的名字,value=手势,所以gestureLib.removeGesture(name, gesture);这种删除方式只是删除了手势,该手势名字依旧保存在hashmap中,下次还有相同的name手势存入的时候Hashmap就直接覆盖本条目了。所以根据Hashmap的特征,我们可以不进行删除操作,可以直接gestureLib.addGesture(name, gesture);因为如果出现相同的手势名字的手势,Hashmap就会根据key(手势的名字)直接覆盖其条目的value(手势)滴~
备注2 :这里也是一种删除手势的方式,但是这种方式跟备注1的不同,这里是将Hashmap中的条目删除,也就是说key和value都被删去!
下面看下如何把手势转成bitmap!
public void gestureToImage(Gesture ges) {//将手势转换成Bitmap
//把手势转成图片,存到我们SurfaceView中定义的Image容器中,然后都画出来~
if (MySurfaceView.vec_bmp != null) {
MySurfaceView.vec_bmp.addElement(ges.toBitmap(100, 100, 12, Color.GREEN));
下面是如何遍历手势!
public void loadAllGesture(Set&String& set, Object ob[]) { //遍历所有的手势
if (gestureLib.load()) {//读取最新的手势文件
set = gestureLib.getGestureEntries();//取出所有手势
ob = set.toArray();
for (int i = 0; i & ob. i++) {
//把手势转成Bitmap
gestureToImage(gestureLib.getGestures((String) ob[i]).get(0));
//这里是把我们每个手势的名字也保存下来
MySurfaceView.vec_string.addElement((String) ob[i]);
下面最后来看看手势的匹配!(超重要的!自己也搞了许久才找到解决的方法)
public void findGesture(Gesture gesture) {
// 关于两种方式创建模拟器的SDcard在【Android2D游戏开发之十】有详解
if (Environment.getExternalStorageState() != null) {// 这个方法在试探终端是否有sdcard!
if (!file.exists()) {// 判定是否已经存在手势文件
tv.setText(&匹配手势失败,因为手势文件不存在!!&);
} else {//当存在此文件的时候我们需要先删除此手势然后把新的手势放上
//读取已经存在的文件,得到文件中的所有手势
if (!gestureLib.load()) {//如果读取失败
tv.setText(&匹配手势失败,手势文件读取失败!&);
} else {//读取成功
List&Prediction& predictions = gestureLib.recognize(gesture);
//recognize()的返回结果是一个prediction集合,
//包含了所有与gesture相匹配的结果。
//从手势库中查询匹配的内容,匹配的结果可能包括多个相似的结果,
if (!predictions.isEmpty()) {
Prediction prediction = predictions.get(0);
//prediction的score属性代表了与手势的相似程度
//prediction的name代表手势对应的名称
//prediction的score属性代表了与gesture得相似程度(通常情况下不考虑score小于1的结果)。
if (prediction.score &= 1) {
tv.setText(&当前你的手势在手势库中找到最相似的手势:name =& + prediction.name);
tv.setText(&匹配手势失败,,当前模拟器没有SD卡 - -。&);
} catch (Exception e) {
e.printStackTrace();
tv.setText(&由于出现异常,匹配手势失败啦~&);
那么最后给各位童鞋说一下,其实输入法手势操作很是适合游戏中使用,不管是触摸屏手势操作还是今天讲的输入法手势操作如果加到游戏中那都是相当赞的!但是我们公司网游引擎和框架不适合插入手势 - -、唉~
其实前两天应该发这篇的,但是因为工作忙了几天,让大家久等了,挺不好意思的,所以今天熬夜给大家写了出来,现在都凌晨 7:00 了~
源码下载地址:&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2028222次
积分:18500
积分:18500
排名:第191名
原创:149篇
评论:2835条
移动开发专家,专注于移动开发领域,多年 J2me、Android、iOS 平台游戏开发经验;
CSDN、ITeye、51CTO、eoe-Android、泰然、中国移动开发者社区、微度网等多家技术论坛担任专家与版主;
? 【iOS】(高级群/超级群)
Cocos2d-x @Himi:
? 【Lua】(高级群)
Cocos2d-x-Lua @Himi:
? 【Unity3D】(超级群)
Unity3D @Himi:
文章:62篇
阅读:946953
文章:34篇
阅读:638665

我要回帖

更多关于 皮毛信息交易网 的文章

 

随机推荐