当前位置:  编程技术>移动开发
本页文章导读:
    ▪依据手机号码查询手机号码归属地一        根据手机号码查询手机号码归属地一 package com.framework.app.service.cc.util; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.StringReader;import java.net.URL;import java.net.URLC.........
    ▪ git-rebase用法小结        git-rebase用法总结 git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。要搞清楚这个东西,要先看看版本库状态切换的两种情况: 我们知道,在某.........
    ▪ CCClippingNode剪裁功能       CCClippingNode裁剪功能 裁剪功能 //裁剪的区域形状 CCSprite *area = CCSprite::create("/res/helloworld.png"); //被裁剪的区域 CCSprite *area1 = CCSprite::create("/res/helloworld.png"); this->addChild(area); CCClipingNode *node = C.........

[1]依据手机号码查询手机号码归属地一
    来源: 互联网  发布时间: 2014-02-18
根据手机号码查询手机号码归属地一

package com.framework.app.service.cc.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

public class MobileUtil {
 /**
  * 归属地查询
  * @param mobile
  * @return mobileAddress
  */
 private static String getLocationByMobile(final String mobile) throws ParserConfigurationException, SAXException, IOException{ 
  String MOBILEURL = " http://www.youdao.com/smartresult-xml/search.s?type=mobile&q="; 
  String result = callUrlByGet(MOBILEURL + mobile, "GBK");
  StringReader stringReader = new StringReader(result); 
  InputSource inputSource = new InputSource(stringReader); 
  DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); 
  DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); 
  Document document = documentBuilder.parse(inputSource);

  if (!(document.getElementsByTagName("location").item(0) == null)) {
   return document.getElementsByTagName("location").item(0).getFirstChild().getNodeValue();
  }else{
   return "无此号记录!";
  }
 }
 /**
  * 获取URL返回的字符串
  * @param callurl
  * @param charset
  * @return
  */
 private static String callUrlByGet(String callurl,String charset){   
  String result = "";   
  try {   
   URL url = new URL(/blog_article/callurl/index.html);   
   URLConnection connection = url.openConnection();   
   connection.connect();   
   BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),charset));   
   String line;   
   while((line = reader.readLine())!= null){    
    result += line;   
    result += "\n";
   }
  } catch (Exception e) {   
   e.printStackTrace();   
   return "";
  }
  return result;
 }
 /**
  * 手机号码归属地
  * @param tel  手机号码
  * @return 135XXXXXXXX,联通/移动/电信,湖北武汉
  * @throws Exception
  * @author JIA-G-Y
  */
 public static String getMobileLocation(String tel) throws Exception{
  Pattern pattern = Pattern.compile("1\\d{10}");
  Matcher matcher = pattern.matcher(tel);
  if(matcher.matches()){
   String url = "http://life.tenpay.com/cgi-bin/mobile/MobileQueryAttribution.cgi?chgmobile=" + tel;
   String result = callUrlByGet(url,"GBK");
   StringReader stringReader = new StringReader(result); 
   InputSource inputSource = new InputSource(stringReader); 
   DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); 
   DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); 
   Document document = documentBuilder.parse(inputSource);
   String retmsg = document.getElementsByTagName("retmsg").item(0).getFirstChild().getNodeValue();
   if(retmsg.equals("OK")){
    String supplier = document.getElementsByTagName("supplier").item(0).getFirstChild().getNodeValue().trim();
    String province = document.getElementsByTagName("province").item(0).getFirstChild().getNodeValue().trim();
    String city = document.getElementsByTagName("city").item(0).getFirstChild().getNodeValue().trim();
    if (province.equals("-") || city.equals("-")) {
     return (tel + "," + supplier + ","+ getLocationByMobile(tel));
    }else {
     return (tel + "," + supplier + ","+ province + city);
    }
   }else {
    return "无此号记录!";
   }
  }else{
   return tel+ ":手机号码格式错误!";
  }
 }
 public static void main(String[] args) throws Exception{
  System.out.println(getMobileLocation("186xxxxxxxx"));
 }
}


    
[2] git-rebase用法小结
    来源: 互联网  发布时间: 2014-02-18
git-rebase用法总结

git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。要搞清楚这个东西,要先看看版本库状态切换的两种情况:

  • 我们知道,在某个分支上,我们可以通过git reset,实现将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯”。即实现了本分支的“后悔药”。也即版本控制系统的初衷。
  • 还有另一种情况,当我们的项目有多个分支的时候。我们除了在本地开发的时候可能会“回溯”外,也常常会将和自己并行开发的别人的分支修改添加到自己本地来。这种情况下很常见。作为项目管理员,肯定会不断的合并各个子项目的补丁,并将最新版本推送到公共版本库,而作为开发人员之一,提交自己的补丁之后,往往需要将自己的工作更新到最新的版本库,也就是说把别的分支的工作包含进来。
  • 举个例子来说吧!假设我们的项目初期只有一个master分支,然后分支上作过两次提交。这个时候系统只有一个master分支,他的分支历史如下:

    master0(初始化后的版本)
    ||
    v
    master1(第一次提交后的版本)
    ||
    v
    master2(第二次提交后的版本)

    这个时候,我们可以通过git reset将master分支(工作目录、工作缓存或者是版本库)切换到master1或者master0版本,这就是前面所说的第一种情况。
    假设我们这里把master分支通过git reset回溯到了master1状态。那么这个时候系统仍然只有一个master分支,分支的历史如下:

    master0(初始化后的版本)
    ||
    v
    master1(第一次提交后的版本)

    然后,我们在这里以master1为起点,创建了另一个分支test。那么对于test分支来说,他的第一个版本test0就和master1是同一个版本,此时项目的分支历史如下:

    master0(初始化后的版本)
    ||
    v
    master1(第一次提交后的版本)===test0(test分支,初始化自master分支master1状态)

    这个时候,我们分别对master分支、test分支作两次提交,此时版本库应该成了这个样子:

    master0(初始化后的版本)
    ||
    v
    master1===test0==>test1===>test2
    ||
    v
    master2===>master3

  • 这个时候,通过第一种git reset的方式,可以将master分支的当前状态(master3)回溯到master分支的master0、master1、master2状态。也可已将test分支当前状态(test2)回溯到test分支的test0、test1状态,以及test分支的父分支master的master0、 master1状态。
  • 那么。如果我要让test分支从test0到test2之间所有的改变都添加到master分支来,使得master分支包含test分支的所有修改。这个时候就要用到git rebase了。
  • 首先,我们切换到master分支,然后运行下面的命令,即可实现我们的要求:

    1
     
    git rebase test 

    这个时候,git做了些什么呢?

  • 先将test分支的代码checkout出来,作为工作目录
  • 然后将master分支从test分支创建起的所有改变的补丁,依次打上。如果打补丁的过程没问题,rebase就搞定了
  • 如果打补丁的时候出现了问题,就会提示你处理冲突。处理好了,可以运行git rebase –continue继续直到完成
  • 如果你不想处理,你还是有两个选择,一个是放弃rebase过程(运行git rebase –abort),另一个是直接用test分支的取代当前分支的(git rebase –skip)。

  •     
    [3] CCClippingNode剪裁功能
        来源: 互联网  发布时间: 2014-02-18
    CCClippingNode裁剪功能
    裁剪功能
    //裁剪的区域形状
    CCSprite *area = CCSprite::create("/res/helloworld.png");
    //被裁剪的区域
    CCSprite *area1 = CCSprite::create("/res/helloworld.png");
    this->addChild(area);
    
    CCClipingNode *node = CCClipingNode::create(area);
    node->addChild(area1);
    
    node->setAlphaThreshold(0);
    //裁剪反转
    node->setInverted(true);
    addChild(node);
    

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