当前位置:  编程技术>移动开发
本页文章导读:
    ▪华为网关短信发送跟接收        华为网关短信发送和接收 package com.skywin.simpass.sysinterface.sms.util;import java.util.Date;import java.util.HashMap;import java.util.Map;import com.huawei.insa2.comm.cmpp.message.CMPPDeliverMessage;import com.huawei.insa2.comm.cmpp.messa.........
    ▪ CoreText基础-排字必修课        CoreText基础-排版必修课     行距(Leading):又称行间距。指的是行的基线到另一行基线之间的距离(Leading的史称来源于旧式排版时用铅条隔开行之间的距离,读作”ledding”)。 合成(Composition):是一.........
    ▪ NSObject官方引见       NSObject官方介绍 From: http://blog.sina.com.cn/s/blog_62ba0fdd0100ve9b.html     SObject协议组对所有的Object-C下的objects都生效。 如果objects遵从该协议,就会被看作是first-class objects(一级类)。 另外,.........

[1]华为网关短信发送跟接收
    来源: 互联网  发布时间: 2014-02-18
华为网关短信发送和接收

package com.skywin.simpass.sysinterface.sms.util;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import com.huawei.insa2.comm.cmpp.message.CMPPDeliverMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPSubmitMessage;
import com.huawei.insa2.comm.cmpp.message.CMPPSubmitRepMessage;
import com.huawei.insa2.util.Args;
import com.huawei.smproxy.SMProxy;
import com.skywin.simpass.sysinterface.sms.entity.SMSEntity;

public class SMSClient extends SMProxy {

    private static SMSClient ins;

    private SMSClient(Args args) {
        super(args);
    }

    public static SMSClient getInstance() {
        if (ins == null) {
            Map<String, String> m = new HashMap<String, String>();
            // 系统参数配置
            m.put("host", "host");
            m.put("port", "port");
            m.put("source-addr", "source-addr");
            m.put("shared-secret", "shared-secret");
            m.put("heartbeat-interval", "30");
            m.put("reconnect-interval", "30");
            m.put("heartbeat-noresponseout", "5");
            m.put("transaction-timeout", "10");
            m.put("version", "0");
            m.put("debug", "true");
            ins = new SMSClient(new Args(m));
        }
        return ins;
    }

    public CMPPMessage onDeliver(CMPPDeliverMessage msg) {
        String message = null;
        try {
            String receivedMsg = new String(msg.getMsgContent(), "UTF-8");
            // System.out.println("接收到的消息:"+receivedMsg);
            String receivedTelephone = msg.getSrcterminalId();
            // System.out.println("接收的手机号码:"+receivedTelephone);
            if ((receivedMsg.subSequence(0, 5)).equals("CSize")) {
                System.out.println(receivedMsg);
            } else {
                message = "充值请求信息格式不对";
                CMPPSubmitMessage submitMsg = new CMPPSubmitMessage(1, 1, 0, 1,
                        "0010", 0, "", 0, 0, 15, "950338", "02", Integer
                                .toString(0),
                        new Date(System.currentTimeMillis() + (long) 50000), // 存活期
                        null, "10658672", new String[] { receivedTelephone },
                        message.getBytes(), "");
                // 发送错误信息给用户
                SMSClient.getInstance().send(submitMsg);
            }
        } catch (Exception e) {
        }
        return super.onDeliver(msg);
    }

    public void send(CMPPSubmitMessage msg) throws Exception {
        CMPPSubmitRepMessage rep = (CMPPSubmitRepMessage) super.send(msg);
        // System.out.println(rep.toString());
    }

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {
        SMSClient client = SMSClient.getInstance();
        System.in.read();
    }

}

 

 


    
[2] CoreText基础-排字必修课
    来源: 互联网  发布时间: 2014-02-18
CoreText基础-排版必修课

 

 

行距(Leading):又称行间距。指的是行的基线到另一行基线之间的距离(Leading的史称来源于旧式排版时用铅条隔开行之间的距离,读作”ledding”)。

合成(Composition):是一种通篇字符间距的调整以求更好的视觉效果。多数程序都是按行排列文本的,这样可能会造成相邻行间的空格混乱。

字距(Tracking):决定单词中每个字母之间的距离

词间距(Word spacing):决定两个词间合适、最小和最大的距离

字母间距(Letter spacing):决定两字母间合适、最小和最大距离

字偶距调整(Kerning):指两字母间距离的调整。根据字母形状微调字母。实际上,每种字体都已为你做好微调,它们通常用于广告和题头。

成对字偶距调整(Pair kerning):一个表格在InDesign中称为字偶距调整表。表示对想排的字母对自动进行字偶距调整。它常被用于大写标题,因为在这里字母间距的不协调更令人不悦。

对齐(Justification):为使栏或页中的文本各行左右对齐,”对齐”用于增大两词或字母间距。它也指对齐方式:右对齐、左对齐或居中

左对齐(Ragged right and flush left):指文本对齐页面的左边界但右边界不齐

右对齐(Ragged left and flush right):指文本对齐页面的右边界但左边界不齐

居中(Centered):以文本或行的中线为基准两边与页边的距离相等

纵向对齐(Vertical justification):增加两段间距(或两行)以使页面每个栏的顶部和底部对齐。不幸的是,InDesign未设纵向对齐

 

缩进(Indent):可在每段前加空格的方法表示新段落的开始

伸出(Outdent):表示首行首字母伸出左边界,其他行左边界对齐

块缩进(Block indent):多用于较长引用,从左边界有时从右边界移动整段

悬挂缩进(Hanging indent):表示首行由左边界起始,所有相应行都缩进

项目符号(Bullet):一种字符(通常为实心圆),表示某段在要素列表中是要素之一。可被缩进、伸出或对齐左边界

大写字母下沉(Drop cap):表示一个字母其高度相当于它所在段落中几行的高度。排版员经常用它引起读者注意

保持(Keep):使一定数目的行段彼此相连而不被隔断

样式(Styles):它包含间距、行距、缩进、前导和对齐的属性

样式或样式标注(Style or style tag):是一系列属性。可在整段中应用样式,称为段落样式;也可在高亮显示的字符上应用样式,称为字符样式

 

连字符(Hyphen):表示行尾的某单词被分隔了或表示连接两次形成新词

连字符连接(Hyphenation):决定被分单词中连字符的位置

连续的连字符连接(Consecutive hyphenation):决定一行中可使用连字符的数量(一般认为一行中三个或更多的连字符是糟糕的排版)

连字符区(Hyphenation zone):决定分割单词的连字符距离右边界的距离

非标准词典(Exception dictionary):列出非标准连字符连接的单词。用户可增加一些排版程序词典中默认的单词和重写某单词的默认连字符连接,例如:proj-cet表名词而pro-ject表动词

随意连字符(Discretionary hyphen):在单词中置入随意连字符会告知程序当此词在行尾处必须被分割开时自动添加连字符。随意连字符只对被置入的单词有效

 

 


    
[3] NSObject官方引见
    来源: 互联网  发布时间: 2014-02-18
NSObject官方介绍

From: http://blog.sina.com.cn/s/blog_62ba0fdd0100ve9b.html

 

 

SObject协议组对所有的Object-C下的objects都生效。

如果objects遵从该协议,就会被看作是first-class objects(一级类)。

另外,遵从该协议的objects的retain,release,autorelease等方法也服从objects的管理和在Foundation中定义的释放方法。一些容器中的对象也可以管理这些objects,比如

说NSArray 和NSDictionary定义的对象。

Cocoa的根类也遵循该协议,所以所有继承NSObjects的objects都有遵循该协议的特性。

 

NSObjects采用的协议:

NSObject

  • autorelease
  • class
  • conformsToProtocol:
  • description
  • hash
  • isEqual:
  • isKindOfClass:
  • isMemberOfClass:
  • isProxy
  • performSelector:
  • performSelector:withObject:
  • performSelector:withObject:withObject:
  • release
  • respondsToSelector:
  • retain
  • retainCount
  • self
  • superclass
  • zone

NSObject是大多数Objective-C类的继承的根类;它没有父类。通过NSObject,其它类继承了一些基础的与Objective-C语言编译器系统之间的接口,并且获得了在它的实例中表现为一个对象的能力。

尽管NSObject不是一个严格的抽象类,实际上它已经是一个类。但是通过它自己一个除了表现为一个简单类之外,NSObject实际上几乎无法完成任 何有用的操作。为你的程序添加任何属性(attributes)并制定实现逻辑,你必须创建一个或者多个从NSObject继承或者父类从 NSObject继承的类(class)。

NSObject采用(adopts,或者说是继承实现)了NSObject协议(protocol)(见“Root Class—and Protocol”(第67页) ) 。NSObject协议(protocol)允许被多个根类(root class)采用,比如NSProxy另一根类(root class),并不是从NSObject继承,但却也采用了NSObject协议(protocol)所以它在Objective-C中便有了和NSObject类相似部分的类的定义(interface)和功能。

 

NSObject根类,和采用了NSObject协议或者其它根类协议(“root” protocols)一道,为所有的非代理(non-proxy)Cocoa对象指定了以下的定义(interface)和特有的事件:

■Allocation, initialization, 和 duplication。一些NSObject方法(包括一些采用的协议)用来处理创建(creation),初始化(initialization)和复制(duplication)对象。

❏alloc和allocWithZone:方法在内存中为一个对象分配了内存空间并且设置它指向的对象的编译器类定义(即是告诉编译器定义了一个类,译者注)。

❏init方法为对象的属性初始化(prototype),一个让实例变量初始化状态的进程。类方法中的initialize和load让一个类有机会初始化它们自己。

❏new一种方便的结合分配内存和初始化的方法。

❏copy和copyWithZone:方法复制任意对象的内存的实现方法(从NSCopying协议来的);mutableCopy和mutableCopyWithZone:(在NSMutableCopying协议中定义)将被应用于(mplemented by)该类来完成不定的对象拷贝(make mutable copies of their objects)。


■Object retention and disposa(对象的保留和释放)。接下来的方法对于面向对象的程序尤其的重要,那就是如何传统的,明确的,形式化的(traditional, and explicit, form)实现内存管理。

❏retain方法,增加对象的计数器。

❏release方法,减少对象的计数器

❏autorelease方法,自动减少对象的计数器,但是以推迟的方式来实现。

❏retainCount方法,返回一个对象当前的计数器

❏ dealloc方法应用于类来释放对象实例变量并释放动态内存。


■ Introspection 和 comparison(反省机制和对比机制).许多NSObject方法使你能够让编译器查询一个对象。反省方法(introspection methods)帮助你探查一个对象在类继承机制中的位置,决定是否实现一些方法,并测试它是否遵循一些协议。而一些类仅是有一些方法。

❏superclass和class方法(类和实例(class and instance))分别返回接收器的父类和类,作为一个Class对象。

❏ isKindOfClass:和isMemberOfClass:,通过这两种方法可以确定一个类的从属关系。后者测试一个接收器是否是一个指定类的实例;而后者可以测试类的从属关系。

❏ respondsToSelector: 方法测试一个接收器是否通过selector实现(implements)了一个标志符话的方法。而instancesRespondToSelector:测试了一个给定的类实例化之后(这个消息的接收方法为静态方法,译者注)是否实现了一个指定的方法。

❏conformsToProtocol:方法,测试接收器(对象或者类)符合一个给定的协议(protocol)。

❏ isEqual: 和 hash方法,用于对象比较。

❏ description方法,允许一个对象返回一个字符串来描述它的内容;这个常用于调试debugging (“print  object”命令 ) 。通过“%@”以字符串输出特殊的指定对象。(即是以NSLog的形式输出,译者注)

参见 “Introspection”(页87)以获取更多的信息

       ■ Object encoding and decoding(对象的编码和解码).接下来的方法将与对象的编码和解码方式有关 (作为一个归档处理的一部分):

❏encodeWithCoder: 和 initWithCoder:方法,NSCoding协议中仅有的组成成员。第一个允许对象编译它的实例变量,第二个允许一个对象初始化它自身的解码实例变量。

❏NSObject类声明了一些与对象编码相关的其它方法,有:classForCoder,replacementObjectForCoder:,和awakeAfterUsingCoder:。

    参阅Archives and Serializations Programming Guide for Cocoa来获取更多的信息。

    ■ Message forwarding(消息转发). forwardInvocation:允许一个对象把消息转发给另一个对象。

    ■ Message dispatch(消息配送). 一个以performSelector...为开头的方法允许你配送消息(message)直到指定的延迟后,并且可以从二级线程((synchronously or asynchronously)同步或者不同步地)配送消息到主线程。

       NSObject拥有许多其它的方法,比如版本和传递的类方法(class methods for versioning and posing)(之后将为你展示如何将一个类本身编译为另一个类)。它既包括了方法让你访问编译器数据结构的类,比如selector方法和函数指针形式的方法实现。


    
最新技术文章:
▪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