zoukankan      html  css  js  c++  java
  • 极光推送---安卓Demo

            对于一个一直干.net的程序媛来说。冷不丁的让小编干安卓,那种感觉就好似小狗狗咬小刺猬一样,不知道从哪儿開始下手,对于小编来说。既是挑战更是机遇,由于知识都是相通的。再者来说,在小编的程序人生中,留下最珍贵的记忆,尽管以后小编不一定从事安卓这个行业,代码世界里,非常多种事,有的甜蜜,有的温馨,有的婉转成歌。有的绵延不息,在这些故事里,我们唯一的共通之处就是,某年,某月,某个波澜不惊的日子里。以前非常爱非常爱你。爱你--这段实习的日子里,安卓带给小编的种种的惊喜。

            接下来。小编就和小伙伴们分享一下这两天小编研究的极光推送。再此感谢郑博小朋友的耐心指导,首先,我们来了解一下什么是极光推送。小编刚听到这个名字,哇哦,这是什么呢?听着就低调奢华有内涵,还极光推送?是要用到光么?小编又土鳖了,咳咳,所谓的极光推送呢就是一个面向普通开发人员开放的。免费的第三方消息推送服务。接着小编就和小伙伴分享一下。怎样实现极光推送这个小功能。

            第一步,创建帐号进入极光推送后。首先显示的是创建应用的界面。填上你的应用程序的名称,以及 Android包名这二顶就能够了,Portal上创建应用。填写对应的应用名称,和应用的包名,注意这里的包名要和project里面的名称保持一致。例如以下图所看到的:

             

             第二步。点击 ”下载应用Example “后。小伙伴将下载到一个 .zip 压缩文件。

    解压后,即看到一个同名文件夹。这个文件夹下,是一个 Android 项目里的全部文件。小伙伴们能够把官方的Demo下载下来參考參考,我们须要用到官方Demo里面的包文件。例如以下图所看到的:

              

             第三步,我们在eclipse里创建一个Android的工厂,libs里面须要用到的相关文件复制到我们的demo里面,例如以下图所看到的:

              

              第四步。我们来编写我们的Demo。由于小编初次接触Android。官网上关于极光推送的小样例,对于小编来说。看的也非常吃力,在郑博小伙伴的帮助下,小编把官网上的Demo改造了一下。稍稍的简单了一丢丢,解下来,我们開始编写代码。首先我们来编写MainActivity里面的代码,例如以下图所看到的:

    package com.example.such;
    
    
    import cn.jpush.android.api.JPushInterface;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            JPushInterface.setDebugMode(true);
            JPushInterface.init(this);
            
        }
    
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
        
    }
    

           第五步。我们来编写AndroidManifest.xml里面的代码,例如以下所看到的:

            

    <?xml version="1.0" encoding="utf-8"?

    > <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.such" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" /> <permission android:name="com.example.such.permission.JPUSH_MESSAGE" android:protectionLevel="signature" /> <!-- Required 一些系统要求的权限。如訪问网络等--> <uses-permission android:name="com.example.such.permission.JPUSH_MESSAGE" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <!-- Optional for location --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.such.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- Required . Enable it you can get statistics data with channel --> <meta-data android:name="JPUSH_CHANNEL" android:value="07058465be2a1d937246352d"/> <meta-data android:name="JPUSH_APPKEY" android:value="187f7628001c1503d487c401" /> <!-- </>值来自开发人员平台取得的AppKey--> <!-- Required SDK核心功能--> <activity android:name="cn.jpush.android.ui.PushActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="orientation|keyboardHidden" > <intent-filter> <action android:name="cn.jpush.android.ui.PushActivity" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="com.example.such" /> </intent-filter> </activity> <!-- Required SDK核心功能--> <service android:name="cn.jpush.android.service.DownloadService" android:enabled="true" android:exported="false" > </service> <!-- Required SDK 核心功能--> <service android:name="cn.jpush.android.service.PushService" android:enabled="true" android:exported="false"> <intent-filter> <action android:name="cn.jpush.android.intent.REGISTER" /> <action android:name="cn.jpush.android.intent.REPORT" /> <action android:name="cn.jpush.android.intent.PushService" /> <action android:name="cn.jpush.android.intent.PUSH_TIME" /> </intent-filter> </service> <!-- Required SDK核心功能--> <receiver android:name="cn.jpush.android.service.PushReceiver" android:enabled="true" > <intent-filter android:priority="1000"> <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <!--Required 显示通知栏 --> <category android:name="com.example.such" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.USER_PRESENT" /> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> <!-- Optional --> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <data android:scheme="package" /> </intent-filter> </receiver> <!-- Required SDK核心功能--> <receiver android:name="cn.jpush.android.service.AlarmReceiver" /> </application> </manifest>

              第六步。编写完代码之后,我们在Portal上推送通知,假设小伙伴的 Android 手机接在电脑上了,则这个 JPush Example 应用就能够安装上,并执行起来了。做下一步动作之前。请确保小伙伴们的手机上的网络是可用的。比方我们要推送的内容例如以下所看到的:

             

             第七步。我们来看看小编的手机,会有怎么样的奇迹,声明一下,以下这张图的颜值不是非常高,小伙伴们就将就看一下哈:

             

             小编寄语:该博客。小编基本的简单的介绍了一下极光推送的相关知识,然后參考着官网上的Demo,小编又自己又一次编写了一个。对于各路Android大神来说。这可能不值得一提。可是对于小编来说,开心ing。还是那句话,对于小编来说,既是挑战更是机遇,由于知识都是相通的,再者来说。在小编的程序人生中。留下最珍贵的记忆。尽管以后小编不一定从事安卓这个行业。代码世界里。非常多种事,有的甜蜜,有的温馨,有的婉转成歌,有的绵延不息,在这些故事里,我们唯一的共通之处就是,某年,某月,某个波澜不惊的日子里,以前非常爱非常爱你!爱你--这段实习的日子里,安卓带给小编的种种的惊喜,实习生活。故事仍在继续`(*∩_∩*)′......

  • 相关阅读:
    ios 一个正则表达式测试(只可输入中文、字母和数字)
    IOS7 8中tableview分割线缺少15像素
    Java中使用OpenSSL生成的RSA公私钥进行数据加解密
    java与IOS之间的RSA加解密
    ios下使用rsa算法与php进行加解密通讯
    C# 32位md5
    [原]命令模式在MVC框架中的应用
    [原]【推荐】程序员必读的三十本经典巨作
    [原]容器学习(二):动手模拟AOP
    [原]容器学习(一):动手模拟spring的IoC
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6848221.html
Copyright © 2011-2022 走看看