您好,欢迎访问一九零五行业门户网

Android客户端与PHP服务端通信(五)-移植使用极光推送

概述
    上一节备研究了示例工程的框架,本节准备自己创建工程,并将极光推送移植到其上。
创建工程
    首先创建一个工程,工程名和应用名为lovelife,包名com.lygk.lovelife
一直“next”,直到finish,此时建立工程完毕,如下图
集成jpush sdk
1. 导入sdk开发包
关于集成sdk的方法,jpush 官方文档已经讲得很详细,可以去看
http://docs.jpush.io/guideline/android_guide/ ,这里我简单的描述一下步骤。
首先将上图所示的示例工程下的armeabi文件夹、armeabi-v7a文件夹、jpush-sdk-release1.7.3.jar拷贝复制到自己创建的工程libs\文件夹下
然后在工程里f5或者工程名右击选择“refresh”刷新,可以看到此时工程里已经包含了咱们复制的sdk。
2. 配置 androidmanifest.xml
    首先,添加权限声明
注意红线框出的内容对应你创建的应用的package包名,我的是com.lygk.lovelife。
    然后配置application,先要添加应用名,即下图红线框出的部分,其中mainapplication是我即将要创建的application名。
然后添加jpush sdk中的pushactivity声明,注意红线框出的部分对应你所创建的包名。
接着添加service服务声明
接着添加receiver服务声明,注意红线圈出的部分对应你创建的包名。
接着声明appkey
你可能会发现还有一些配置文件的内容没有加,没事儿,移植从最简单入手,先移植这些就够了。
创建mainapplication类
    在src\your package\下新建一个类mainapplication,它继承application
mainapplication.java内容如下:
package com.lygk.lovelife;import android.app.application;import android.util.log;import cn.jpush.android.api.jpushinterface;public class mainapplication extends application { private static final string tag = lygk; @override public void oncreate() { log.d(tag, application启动); super.oncreate(); jpushinterface.setdebugmode(true); // 设置开启日志,发布时请关闭日志 jpushinterface.init(this); // 初始化 jpush }}
添加完如上代码后,就可以直接真机调试了,如下logcat可以看出定义的application已经运行
此时你如果直接用jpush上的控制台发送通知消息,此时application已经可以“叮”收到推送的通知了,但是此时手机上会出现错误提示
意思是没有在mainactivity中添加onresume()函数。下面咱们去修改mainactivity。
修改mainactivity
    新创建工程时生成的mainactivity继承自activity,如下图
现在,要修改其父类,使其继承jpush库中的instrumentedactivity,如下图
同时,重构父类的onresume(),onpause(),ondestroy()函数。
    此时,运行修改后的程序,如下图
通过控制台,发送推送通知
此时手机上可以收到推送通知,这样说明咱们移植的最最小系统算是成功了。
关于这部分的代码,如有需要,请 点此下载
结尾
    上面的例子中,我精简了官方例程中代码,移植了最基本的接收功能,这算是一个关于jpush的hello world吧,剩下的就靠读者自己去看官方文档摸索了,比如点击通知栏,却回到了主界面?怎么显示自定义消息等等。
    五一短暂的三天即将结束,这三天里我也get了新知识,感觉蛮充实的,暂时不准备写了,该出去转转打打球,洗个澡舒服的睡个觉了。(下一节准备写php服务端极光推送接口的使用)
/***********************************************************************************************
*鲁阳高科工作室
*网       址:www.bigbearking.com
*商务合作qq:1519190237
*业 务 范 围:网站建设、桌面软件开发、android\ios开发、图像影视后期处理、pcb设计
***********************************************************************************************/
其它类似信息

推荐信息