当前位置:  编程技术>移动开发
本页文章导读:
    ▪在荧屏中绘制xy轴刻度便于参考        在屏幕中绘制xy轴刻度便于参考 public static void drawMark(Canvas canvas){ paint.setColor(Color.BLUE); paint.setStyle(Paint.Style.STROKE); paint.setAntiAlias(true);//去锯齿 paint.setTextSize(20); // x 轴 .........
    ▪ CAMEL学问学习        CAMEL知识学习 http://en.wikipedia.org/wiki/Customised_Applications_for_Mobile_networks_Enhanced_Logichttp://www.scribd.com/doc/49034334/38/Architecture-for-CAMEL-Phase-1Customised Applications for Mobile networks Enhanced Logic(移动网络增.........
    ▪ 换位范例代码       换位实例代码             mTargetCell = findNearestArea((int) mDragViewVisualCenter[0],                    (int) mDragViewVisualCenter[1], 1, 1, mDragTargetLayout, mTargetCell);                    .........

[1]在荧屏中绘制xy轴刻度便于参考
    来源: 互联网  发布时间: 2014-02-18
在屏幕中绘制xy轴刻度便于参考
public static void drawMark(Canvas canvas){
    	paint.setColor(Color.BLUE);
    	paint.setStyle(Paint.Style.STROKE);
    	paint.setAntiAlias(true);//去锯齿
    	paint.setTextSize(20);
    	
    	// x 轴
    	//canvas.drawLine(0, 0, 800*3/2, 0, paint);
    	// x 轴刻度 每个刻度100
    	for(int i=0; i<14; i++){
    		canvas.drawLine(100*i, 0, 100*i, 15, paint);
    		canvas.drawText(""+i, 100*i, 20, paint);
    	}
    	// y 轴
    	//canvas.drawLine(5, 5, 800*3/2, 5, paint);
    	// y 轴刻度
    	for(int i=0; i<8; i++){
    		canvas.drawLine(0, 100*i, 15, 100*i, paint);
    		canvas.drawText(""+i, 5, 100*i+10, paint);
    	}
	}

    
[2] CAMEL学问学习
    来源: 互联网  发布时间: 2014-02-18
CAMEL知识学习
http://en.wikipedia.org/wiki/Customised_Applications_for_Mobile_networks_Enhanced_Logic

http://www.scribd.com/doc/49034334/38/Architecture-for-CAMEL-Phase-1

Customised Applications for Mobile networks Enhanced Logic(移动网络增强逻辑的定制应用), or CAMEL for short, is a set of standards designed to work on either a GSM core network(GSM 2G) or UMTS(WCDMA 3G) network. They allow an operator to define services over and above standard GSM services/UMTS services. The CAMEL architecture is based on the Intelligent network (IN, 智能网) standards, and uses the CAP protocol.

Many services can be created using CAMEL, and it is particularly effective in allowing these services to be offered when a subscriber is roaming, like, for instance, no-prefix dialing (the number the user dials is the same no matter the country where the call is placed) or seamless MMS message access from abroad.

CAMEL entities
  • gsmSCF: GSM Service Control Function(GSM业务控制功能)
  • gsmSSF: GSM Service Switching Function(GSM业务交换功能)
  • gsmSRF: GSM Specialized Resource Function(GSM特殊资源功能)
  • gprsSSF: GPRS Service Switching Function(GPRS业务交换功能)


CAMEL Phase 1(CAP1)

CAMEL Phase 1 defined only very basic call control services, but introduced the concept of a CAMEL Basic call state model (BCSM) to the Intelligent Network (IN). Phase 1 gave the gsmSCF the ability to bar calls (release the call prior to connection), allow a call to continue unchanged, or to modify a limited number of call parameters before allowing it to continue. The gsmSCF could also monitor the status of a call for certain events (call connection and disconnection), and take appropriate action on being informed of the event.

Phase 1 was defined as part of Release 96 in 1997.


The Appendix lists the CAP operations.
  • 3.5.1 Initial DP(启动DP)
  • 3.5.2 Request Report BCSM(请求报告BCSM事件)
  • 3.5.3 Event Report BCSM(BCSM事件报告)
  • 3.5.4 Continue(继续)
  • 3.5.5 Connect(连接)
  • 3.5.6 Release Call(释放呼叫)
  • 3.5.7 Activity Test(激活测试)


从CAP1的网络结构和操作可以看出,CAP1支持的功能比较简单,既不能放音(没有CTR/ETC/PA/PC等操作,没有定义SRF功能实体),也不支持中间计费的上报和控制(AC/ACR操作),所以若要在CAP1网络中对用户进行实时计费,需要用一些特定的方案实现。

CAMEL Phase 2(CAP2)

CAMEL phase 2 is an extension of CAMEL phase 1. All functionality that is available in CAMEL
phase 1 is also available in CAMEL phase 2. The following capabilities are added in CAMEL
phase 2:
Call control-related
  • (1) On-line charging(在线实时计费)
  • (2) Call forwarding notifications(呼叫前转提示)
  • (3) Follow-on calls(顺呼)
  • (4) User interaction(用户交互,PA放音,PC收号)
  • (5) Equal access(呼叫长途时可以选择运营商)
  • (6) Enhancement to call control(支持呼叫前转)


Non-call control-related
(7) Supplementary service invocation notification
(8) Short forwarded-to-numbers(短号前转)
(9) Conditional triggering(根据条件触发CSI)
(10) USSD control(支持USSD业务)
Phase 2 was defined as part of 3GPP Releases 97 and 98, in 1998, although it is referenced in the stage 1 specification of Release 96.


Figure 2 CAMEL Phase 2 network architecture


Overview of CAP v2 operations
  • Activity test (AT, 激活测试)
  • Apply charging (ACH, 申请计费)
  • Apply charging report (ACR, 申请计费报告)
  • Assist request instruction (ARI, 辅助请求指令)
  • Call information report (CIRp, 呼叫信息报告)
  • Call information request (CIRq, 呼叫信息请求)
  • Cancel (CAN, 取消)
  • Connect (CON, 连接)
  • Connect to resource (CTR, 连接到资源)
  • Continue (CUE, 连接)
  • Disconnect forward connection (DFC, 拆除前向连接)
  • Establish temporary connection (ETC, 建立临时连接)
  • Event report BCSM (ERB, BCSM事件报告)
  • Furnish charging information (FCI, 提供计费信息)
  • Initial DP (IDP, 启动DP)
  • Play announcement (PA, 播放通知音)
  • Prompt and collect user information (PC, 提醒收集用户信息)
  • Release call (RC, 播放呼叫)
  • Request report BCSM (RRB, 请求报告BCSM事件)
  • Reset timer (RT, 重设定时器)
  • Send charging information (SCI, 发送计费信息)
  • Specialized resource report (SRR, 特殊资源报告)


CAMEL Phase 3

随着数据业务和短信息业务在移动通信业务中的应用,CAMEL2的操作已不能满足智能用户对这些业务的使用。因此,CAMEL3中主要增加了与GPRS, SMS互联的内容。

CAMEL phase 3 was introduced in 3GPP release R99 of the third generation (‘3G’) mobile network.

The third phase of CAMEL enhanced the capabilities of phase 2. The following capabilities were added:

1. Call Control
  • 1.1 Subscribed Dialled Services
  • 1.2 Serving Network-based Dialled Services
  • 1.3 CAMEL Control of Mobile Terminated Calls in VMSC
  • 1.4 CAMEL Service Invocation at Call Failure
  • 1.5 Service Interaction Control
  • 1.6 Call Gapping
  • 1.7 Support of Long Forwarded-to numbers
  • 1.8 On-line Charging Enhancements
  • 1.9 Multiple Subscriber Profile
  • 1.10 Other Enhancements to CAP


2. CAMEL Control of GPRS
增加了SCP和SGSN间的CAMEL操作。

Overview of CAP v3 operations for GPRS control
  • Activity test GPRS (AT-GPRS, GRPS激活测试)
  • Apply charging GPRS (ACH-GPRS)
  • Apply charging report GPRS (ACR-GPRS)
  • Cancel GPRS (CAN-GPRS)
  • Connect GPRS (CON-GPRS)
  • Continue GPRS (CUE-GPRS)
  • Entity released GPRS (ER-GPRS)
  • Event report GPRS (ERG)
  • Furnish charging information GPRS (FCI-GPRS)
  • Initial DP GPRS (IDP-GPRS)
  • Release GPRS (REL-GPRS)
  • Request report GPRS event (RRGE)
  • Reset timer GPRS (RT-GPRS)
  • Send charging information GPRS (SCI-GPRS)


3. CAMEL Control of MO-SMS
增加签约信息:SMS-CSI,可以实现短消息MO计费

CAMEL Phase 3 operations for SMS control
  • Connect SMS (CON-SMS)
  • Continue SMS (CUE-SMS)
  • Event report SMS (ERB-SMS)
  • Furnish charging information SMS (FCI-SMS)
  • Initial DP SMS (IDP-SMS)
  • Release SMS (REL-SMS)
  • Request report SMS Event (RRB-SMS)
  • Reset timer SMS (RT-SMS)


4. Mobility Management
移动性管理(CS: Circuit Switched, 电路交换)签约信息:M-CSI,可以开展一些与位置相关的业务:
a) 欢迎业务
b) 位置相关广告
c) 位置跟踪业务

5. CAMEL Interaction with Location Services


Figure 3 Location Services architecture for GSM network


6. Active Location Retrieval
gsmSCF可以通过ATI向HLR获取用户位置信息


Figure 4 Information flows for active location retrieval


7. Subscription Data Control

8. Enhancement to USSD

CAMEL Phase 4

CAMEL phase 4, the flagship of IN, is the fourth and last CAMEL phase developed by ETSI or 3GPP.

Comparable with CAMEL phase 3, CAMEL phase 4 is divided into a number of main functional areas that may be used independently of one another. Table 6.1 contains an overview of CAMEL phase 4 feature groups. Most of the feature groups are already specified as such in CAMEL phase 3 or earlier. However, the capabilities of these feature groups are enhanced in CAMEL phase 4.

For some features, there is no functional change in CAMEL Phase 4, compared with CAMEL phase 3. These features include: CAMEL interaction with USSD; supplementary service invocation notification; and CAMEL interaction with location services.

CAMEL phase 4 features and capabilities
1
Call control
Call party handling(呼叫方处理)
Network-initiated call establishment
Interaction with basic optimal routing(优选路由)
Alerting detection point
Mid-call detection point
Change of position detection point
Flexible warning tone
Tone injection
Enhancement to call forwarding notification
Control of video telephony calls
Service change and UDI/RDI fallback
Reporting of IMEI and MS Classmark
2 GPRS control
3
SMS control
MO SMS control
MT SMS control(CAMEL 4增加了对MT SMS的支持)
4
Mobility management
Mobility management for PS subscribers
5
Any-time interrogation
Any-time interrogation for CS subscribers
Any-time interrogation for PS subscribers
6 Subscription data control
7 Mobile number portability
8 Control of IP multimedia calls

    
[3] 换位范例代码
    来源: 互联网  发布时间: 2014-02-18
换位实例代码

            mTargetCell = findNearestArea((int) mDragViewVisualCenter[0],
                    (int) mDragViewVisualCenter[1], 1, 1, mDragTargetLayout, mTargetCell);
           
            Log.e("mylog", " mTargetCell="+mTargetCell[0]+","+mTargetCell[1]+" item.cellX="+item.cellX+" isDock="+isDock+" dockIconSize="+dockIconSize);
           
            if(isDock && dockIconSize < 5){
                if(item.container != -101){
                    item.container = -101;
                    item.cellX = mTargetCell[0];
                    item.cellY = mTargetCell[1];
                    item.screen = mTargetCell[0];
                    for(int i=0; i < dockIconSize ; i++){
                        View aView = layout.getChildrenLayout().getChildAt(i);
                        ItemInfo info2 = (ItemInfo) aView.getTag();
                        if(info2.cellX >= mTargetCell[0]){
                            Log.w("mylog","2  = i="+i);
                            int m = info2.cellX +1;
                            if(m > dockIconSize){
                            m = dockIconSize;
                            }
                            info2.cellX = m;
                            info2.screen = m;
                    }
                        layout.animateChildToPosition(aView, info2.cellX, info2.cellY, 0, 0,mRealTimePosition);
                    }
            
                }
               
                if(item.container == -101){
                    Log.e("mylog", "onDropover  ///size="+ dockIconSize+" mTargetCell="+mTargetCell[0]+" item.cellX="+item.cellX);
                        for(int i=0; i < dockIconSize ; i++){
                            View aView = layout.getChildrenLayout().getChildAt(i);
                            ItemInfo info2 = (ItemInfo) aView.getTag();
                            Log.i("onDrop", "=====i="+i+" info="+info2+", x="+info2.cellX+","+info2.cellY+",screen ="+info2.screen+","+info2.spanX+","+info2.spanY);
                            if(item.cellX < mTargetCell[0]){
                                if (info2.cellX == mTargetCell[0] ) {
                                    Log.w("mylog","1  = i="+i);
                                    int m = info2.cellX - 1;
                                    if(m < 0){
                                        m = 0;
                                    }
                                    info2.cellX = m;
                                    info2.screen = m;
                                }
                            }
                            if(item.cellX > mTargetCell[0]){
                                if (info2.cellX == mTargetCell[0]) {
                                    Log.w("mylog","2  = i="+i);
                                    int m = info2.cellX + 1;
                                    if(m > dockIconSize){
                                        m = dockIconSize;
                                    }
                                    info2.cellX = m;
                                    info2.screen = m;
                                }
                            }
                            Log.i("onDrop", "i="+i+" info="+info2+", x="+info2.cellX+","+info2.cellY+",screen ="+info2.screen+","+info2.spanX+","+info2.spanY);
                            layout.animateChildToPosition(aView, info2.cellX, info2.cellY, 0, 0,mRealTimePosition);
//                            LauncherModel.updateItemInDatabase(mLauncher, info2);
                            invalidate();
                        }
                        item.cellX = mTargetCell[0];
                        item.screen = mTargetCell[0];
//                        layout.setGridSize(dockIconSize+1, 1);
                }

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例 iis7站长之家
▪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