当前位置:  编程技术>移动开发
本页文章导读:
    ▪adroid app权限兑现方式        adroid app权限实现方式 工作找到了,没事玩玩android。看到文档里这样写: Once installed on a device, each Android application lives in its own security sandbox: The Android operating system is a multi-user Linux system in w.........
    ▪ axis1.4 经过wsdl文件生成客户端        axis1.4 通过wsdl文件生成客户端   1. 下载  axis1.4 相关包,解压后取得其中lib 下的所有JAR包,并导入ECLIPSE的项       目工程中(放在WEB-INF的lib下然后加载)。         下载地址:http://mirror.bj.........
    ▪ CCSprite利用Bezier(贝塞尔)作抛物线动作       CCSprite利用Bezier(贝塞尔)做抛物线动作   如果我们想实现让CCSprite进行抛物线运动的话,那么我想童鞋们首先会想到利用Box2d或者其他物理引擎去为CCSprite创建物理世界中对应的刚体进行实.........

[1]adroid app权限兑现方式
    来源: 互联网  发布时间: 2014-02-18
adroid app权限实现方式

工作找到了,没事玩玩android。看到文档里这样写:

Once installed on a device, each Android application lives in its own security sandbox:

  • The Android operating system is a multi-user Linux system in which each application is a different user.
  • By default, the system assigns each application a unique Linux user ID (the ID is used only by the system and is unknown to the application). The system sets permissions for all the files in an application so that only the user ID assigned to that application can access them.
  • Each process has its own virtual machine (VM), so an application's code runs in isolation from other applications.
  • By default, every application runs in its own Linux process. Android starts the process when any of the application's components need to be executed, then shuts down the process when it's no longer needed or when the system must recover memory for other applications.

这段很有意思。讲的是每个安卓app都有权限控制。我记得在安装每个app的时候,的确有一个授权列表。是如何实现的呢?

  • 每个app都有一个唯一的user id
  • 每个user id有自己的权限设置
  • 每个进程都对应一个虚拟机
  • 每个app对应一个进程,也就是一个虚拟机

 

以上就是app权限的实现方式,全部依赖linux 操作系统的实现。很懒,很好。


    
[2] axis1.4 经过wsdl文件生成客户端
    来源: 互联网  发布时间: 2014-02-18
axis1.4 通过wsdl文件生成客户端

 

1. 下载  axis1.4 相关包,解压后取得其中lib 下的所有JAR包,并导入ECLIPSE的项       目工程中(放在WEB-INF的lib下然后加载)。

        下载地址:http://mirror.bjtu.edu.cn/apache//ws/axis/1_4/

2. 取得服务端提供的 wsdl 描述文件(目录也可以)。

3. 在工程中运行 打开axis.jar 包中的 wsdl2java :

    org.apache.axis.wsdl.WSDL2Java

    并设置启动参数(在myeclipse 点击右键选择Run as-->Open Run DiaLog...在右侧      有个tab--Arguments的Program arguments  :输入框)设置   -u  -client  -p test F:/test.wsdl   (也就是跟上wsdl 文件名路径) 。

    设置完成点击run 会在工程目录下生成一个test包,里面就是客户端程序


    
[3] CCSprite利用Bezier(贝塞尔)作抛物线动作
    来源: 互联网  发布时间: 2014-02-18
CCSprite利用Bezier(贝塞尔)做抛物线动作

 

如果我们想实现让CCSprite进行抛物线运动的话,那么我想童鞋们首先会想到利用Box2d或者其他物理引擎去为CCSprite创建物理世界中对应的刚体进行实现,但是反过来想,对于不熟悉Box2d或者其他物理引擎的童鞋,肯定不方便,那么Himi今天为大家介绍另外一种不实用物理引擎实现CCSprite抛物线方式;

        这里我直接将封装好的方法贴上来,注释都在代码中了:


//  抛物线    -Himi   

//mSprite:需要做抛物线的精灵  

//startPoint:起始位置  

//endPoint:中止位置  

//dirTime:起始位置到中止位置的所需时间  

- (void) moveWithParabola:(CCSprite*)mSprite startP:(CGPoint)startPoint endP:(CGPoint)endPoint dirTime:(float)time{   

    float sx = startPoint.x;  

    float sy = startPoint.y;   

    float ex =endPoint.x+50;  

    float ey =endPoint.y+150;   

    int h = [mSprite contentSize].height*0.5;  

    ccBezierConfig bezier; // 创建贝塞尔曲线  

    bezier.controlPoint_1 = ccp(sx, sy); // 起始点  

    bezier.controlPoint_2 = ccp(sx+(ex-sx)*0.5, sy+(ey-sy)*0.5+200); //控制点  

    bezier.endPosition = ccp(endPoint.x-30, endPoint.y+h); // 结束位置     

    CCBezierTo *actionMove = [CCBezierTo actionWithDuration:time bezier:bezier];   

    [mSprite runAction:actionMove];  

}  


     之前在Android上我也有讲解过贝塞尔曲线的博文,但是Android中不同于cocos2d封装这个,在cocos2d中的Bezier是封装为了精灵动作,让精灵按照贝塞尔曲线的路线去运动;那么以上封装的代码中对于抛物线运动来说最重要的一点就是创建贝塞尔曲线的第二个点,这个点控制着精灵路径的所经过的最高点,这里务必要知道;

 

    这种实现方式虽然没有物理系统对刚体施加力来的真实,但是!我想这段代码的实用性还是很大的,至少不需要使用box2d引擎相关知识,最重要的优点是不会存在上一章介绍的代码混编带来的编译错误~

//----  OK,下面来介绍第二个知识点:

        很多童鞋学习cocos2d,一般不经常更新的动画,会使用cocos2d封装的动作,例如旋转、渐变、位移等等,那么一旦使用动作后,肯定就有需要两个动作一起播放的需求,那么基本上童鞋们大脑中第一闪现的就是利用cocos2d的动作序列  CCSequence,但是效果不理想,原因很简单,因为顾名思义,既然是动作序列,那就是按照动作的顺序一个动作一个动作的进行播放,也就是说利用动作序列只能达到连续播放动作,无法同时播放动作的目的;

        那么在这里给大家一个方法能让两个动作同时播放的方法:

         这里为了讲解方便,我在刚才封装的贝塞尔曲线上的方法上进行修改,添加一个旋转的动作,让贝塞尔曲线运动与旋转动作同时播放,这里Himi使用一根“矛”的图片作用示意图来说明,因为矛与箭的运动方式最常用的动作肯定是一边旋转一边抛物线位移,这样才更加真实;

        OK,看下封装角度后的抛物线并同时旋转方法如下:


//  抛物线运动并同时旋转    -Himi   

//mSprite:需要做抛物线的精灵  

//startPoint:起始位置  

//endPoint:中止位置  

//startA:起始角度  

//endA:中止角度  

//dirTime:起始位置到中止位置的所需时间  

- (void) moveWithParabola:(CCSprite*)mSprite startP:(CGPoint)startPoint endP:(CGPoint)endPoint startA:(float)startAngle endA:(float)endAngle dirTime:(float)time{   

    float sx = startPoint.x;  

    float sy = startPoint.y;   

    float ex =endPoint.x+50;  

    float ey =endPoint.y+150;   

    int h = [mSprite contentSize].height*0.5;  

    //设置精灵的起始角度  

    sprite.rotation=startAngle;  

    ccBezierConfig bezier; // 创建贝塞尔曲线  

    bezier.controlPoint_1 = ccp(sx, sy); // 起始点  

    bezier.controlPoint_2 = ccp(sx+(ex-sx)*0.5, sy+(ey-sy)*0.5+200); //控制点  

    bezier.endPosition = ccp(endPoint.x-30, endPoint.y+h); // 结束位置     

    CCBezierTo *actionMove = [CCBezierTo actionWithDuration:time bezier:bezier];   

    //创建精灵旋转的动作  

    CCRotateTo *actionRotate =[CCRotateTo actionWithDuration:time angle:endAngle];  

    //将两个动作封装成一个同时播放进行的动作  

    CCAction * action = [CCSpawn actions:actionMove, actionRotate, nil];   

    [mSprite runAction:action];  

}  

  附上运行效果图:

  

 

   左侧的矛是起始位置,后侧的是抛物线与旋转两个动作同时进行运动中的矛~

 

     好了,就讲这么多吧,今天样书出来了,比较海皮~哈哈


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3