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服务端极光推送接口的使用)
/***********************************************************************************************

*原创文章,转载请注明网址:http://blog.csdn.net/mybelief321/article/details/45459705

*鲁阳高科工作室

*网       址:www.bigbearking.com

*商务合作QQ:1519190237

*业 务 范 围:网站建设、桌面软件开发、Android\IOS开发、图像影视后期处理、PCB设计

***********************************************************************************************/

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。