当前位置: 编程技术>移动开发
本页文章导读:
▪在荧屏中绘制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
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.
从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
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.
Overview of CAP v2 operations
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
2. CAMEL Control of GPRS
增加了SCP和SGSN间的CAMEL操作。
Overview of CAP v3 operations for GPRS control
3. CAMEL Control of MO-SMS
增加签约信息:SMS-CSI,可以实现短消息MO计费
CAMEL Phase 3 operations for SMS control
4. Mobility Management
移动性管理(CS: Circuit Switched, 电路交换)签约信息:M-CSI,可以开展一些与位置相关的业务:
a) 欢迎业务
b) 位置相关广告
c) 位置跟踪业务
5. CAMEL Interaction with Location Services
6. Active Location Retrieval
gsmSCF可以通过ATI向HLR获取用户位置信息
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
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);
}
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);
}
最新技术文章: