`

json 封装和解析dataList数据

 
阅读更多

java 后台编写IOS信息推送所需要的包:

bcprov-jdk16-145.jar  commons-io-2.0.1.jar  commons-lang-2.1.jar  javapns-jdk16-163.jar log4j-1.2.12.jar

下载见附件

 

单个信息推送和批量信息推送代码如下:

//单个发送
	public boolean postTsxxOne(XxtsDomain domain) throws Exception{
		boolean flag = true;
		//连接APNS
		PushNotificationManager pushManager = PushNotificationManager.getInstance();
		try{
	        //String host = "gateway.sandbox.push.apple.com"; //测试
	        String host = "gateway.push.apple.com";		//真正运行
	        int port = 2195;
	        
	        String path=this.getClass().getResource("/").getPath();//得到d:/tomcat/webapps/工程名WEB-INF/classes/路径
	        path=path.substring(1, path.indexOf("WEB-INF/classes"));//从路径字符串中取出工程路劲
	        String certificatePath = path +"zsxx/newTax.p12";//前面生成的用于JAVA后台连接APNS服务的*.p12文件位置
	        String certificatePassword = "123456";//p12文件密码。
	        pushManager.initializeConnection(host, port, certificatePath,certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
			
			//消息封装 发送
			PayLoad payLoad = new PayLoad();
			payLoad.addAlert("智税提醒,您有新消息");
			payLoad.addBadge(domain.getMessCount());//消息推送标记数,小红圈中显示的数字。
			payLoad.addSound("default");
			//注册deviceToken
			pushManager.addDevice("iPhone" + domain.getUserId(), domain.getSbsbm()); //deviceToken sbsbm
			Device client = pushManager.getDevice("iPhone" + domain.getUserId());
			pushManager.sendNotification(client, payLoad);
			log.warn("userId:" + domain.getUserId() + " Push Success");
		}catch (Exception ex){
			log.error("userId:" + domain.getUserId() + " Push Fail");
	        ex.printStackTrace();
	        flag = false;
	    }finally{
	    	pushManager.stopConnection(); 
			pushManager.removeDevice("iPhone" + domain.getUserId());
	    }
	    
	    return flag;
	}
	
	//批量发送
	public void postTsxxMore(List<XxtsDomain> dataList) throws Exception{
		System.out.println("Push Start");
		//连接APNS
		PushNotificationManager pushManager = PushNotificationManager.getInstance();
        //String host = "gateway.sandbox.push.apple.com"; //测试
        String host = "gateway.push.apple.com";		//真正运行
        int port = 2195;
        
        String path=this.getClass().getResource("/").getPath();//得到d:/tomcat/webapps/工程名WEB-INF/classes/路径
        path=path.substring(1, path.indexOf("WEB-INF/classes"));//从路径字符串中取出工程路劲
        String certificatePath = path +"zsxx/newTax.p12";//前面生成的用于JAVA后台连接APNS服务的*.p12文件位置
        
        String certificatePassword = "123456";//p12文件密码。
        pushManager.initializeConnection(host, port, certificatePath,certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);
		
		//消息封装 发送
		for(XxtsDomain domain : dataList) {
			 PayLoad payLoad = new PayLoad();
	         payLoad.addAlert("智税提醒,您有新消息");
	         payLoad.addBadge(domain.getMessCount());//消息推送标记数,小红圈中显示的数字。
	         payLoad.addSound("default");
	         //注册deviceToken
	         pushManager.addDevice("iPhone" + domain.getUserId(), domain.getSbsbm()); //deviceToken sbsbm
	         Device client = pushManager.getDevice("iPhone" + domain.getUserId());
	         pushManager.sendNotification(client, payLoad);
		}
		
		pushManager.stopConnection(); 
		for (int i = 0; i < dataList.size(); i++) { 
			pushManager.removeDevice("iPhone" + dataList.get(i).getUserId());
		}
		System.out.println("Push End");
	}

 

 

分享到:
评论

相关推荐

    JasperReport 后台 代码 封装,采用JRDataSource方式

    这可能涉及到从数据库查询、读取CSV文件、解析JSON或XML数据等。一旦数据准备好,你需要创建一个实现了JRDataSource接口的类。在该类中,你需要实现`getCount()`和`getField(name)`等方法,以提供报表所需的数据。 ...

    Android开发解析excel

    另一种方法是将Excel数据转换为JSON格式,然后利用Gson库将其解析为对象列表。这需要先将Excel数据转换为字符串,再由Gson处理。 ```java // 添加Gson和JSR-353依赖 dependencies { implementation '...

    struts2+json+ajax整合例子(导入即可运行,附带详细教程)

    **JSON** (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Web服务中,JSON常用于数据传输,因为它能直接被JavaScript解析,无需额外转换。 **AJAX** ...

    ajax和spring互传json对象,并显示到列表中

    - **接收请求**:在后端,Spring MVC提供了`@RequestBody`注解,用于解析请求中的JSON数据。你需要创建一个对应的Java Bean来接收这些数据: ```java @RestController public class DataController { @...

    servlet+jquery表格数据填充

    在上面的代码中,我们使用jQuery的`$.ajax`方法发送GET请求到Servlet,设置`dataType`为'json',以便jQuery能正确解析返回的JSON数据。在`success`回调函数中,遍历JSON数组,为每个数据项创建一个新的表格行,并将...

    通过调用strus2 , Flexgrid 显示数据

    Flexgrid支持从JSON数据源动态加载数据,所以我们只需要将从服务器获取的JSON字符串解析成JavaScript对象数组,然后传递给Flexgrid即可。在JSP页面(testTable.jsp)中: ```jsp ;charset=UTF-8" language="java" %...

    jquery datatable后台封装数据示例代码

    Start = strValue; } else if(strName.equals(...通过创建适配DataTables格式的响应对象,解析前端请求参数,以及执行对应的数据库查询,实现了后台数据的封装和返回,从而支持前端页面的数据分页、排序和过滤功能。

    获取当前布局文件中控件的数据并封返回Map,序列化布局文件控件的值,获取所有控件的值

    JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 以下是一个简单的示例,展示如何实现这个过程: 1. 创建一个用于存储控件数据的类,如`ControlData`,包含控件ID和对应的值。 2. ...

    SSM+Echarts+Mysql实现的从数据库获取数据展示图表,展示,小案例

    SSM是指Spring、Spring MVC和MyBatis这三个框架的集成,它们分别负责依赖注入、Web层控制和数据访问。Echarts是百度开源的一款强大的JavaScript图表库,用于生成交互式的图表。Mysql则是广泛使用的开源关系型数据库...

    简单实用的利用c# websservice获取数据

    在IT行业中,Web服务是一种广泛使用的技术,它允许不同应用程序之间通过网络进行通信和数据交换。C# WebService是基于.NET Framework的一种实现,提供了一种简单的方法来创建和消费Web服务。本文将深入探讨如何利用...

    jQuery+ajax实现动态添加表格tr td功能示例

    - **jQuery操作json数据技巧汇总**:掌握如何在jQuery中有效地操作JSON数据,包括解析JSON、生成JSON等。 - **jQuery form操作技巧汇总**:了解如何使用jQuery处理表单提交、验证等操作。 - **jQuery常用插件及用法...

    asp.net无数新分页

    5. **JSON或XML数据交换**:Ajax请求通常期望服务器返回JSON或XML格式的数据,这些数据可以轻松地在JavaScript中解析并更新页面内容。 6. **客户端脚本处理**:在收到服务器返回的数据后,使用JavaScript或jQuery...

    输入框自动匹配

    3. **JSON**:在实际应用中,服务器返回的匹配数据通常是JSON格式,因为JSON轻量级且易于解析。JavaScript可以很方便地将JSON数据转化为JavaScript对象,以便在前端展示。 4. **后端处理**:在Java Web环境下,...

    Ajax实现局部动态更新实例[参考].pdf

    JSON(JavaScript Object Notation)是现在更常见的数据交换格式,因为它是轻量级的,并且易于解析。在本例中,后端可以返回JSON格式的学生成绩列表。 以下是一个简单的Ajax请求示例,使用jQuery库: ```...

    城市选择器js代码

    为了实现这样的功能,我们需要准备数据结构,通常是JSON格式,包括各个层级的名称和关联关系。例如: ```json { "China": { "北京市": ["东城区", "西城区", "朝阳区", ...], "上海市": ["黄浦区", "徐汇区", ...

    spring-boot-ajax-example:spring-boot-ajax-example源代码-ajax source code

    1. **JSON**:Ajax 常常用于传输 JSON 数据,这是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 2. **跨域请求**:如果前端和后端部署在不同的域名下,可能会遇到跨域问题。Spring Boot ...

Global site tag (gtag.js) - Google Analytics