ホームページ >バックエンド開発 >PHPチュートリアル >AndroidクライアントとPHPサーバー間の通信(4) - Auroraプッシュサンプルプロジェクトの解析

AndroidクライアントとPHPサーバー間の通信(4) - Auroraプッシュサンプルプロジェクトの解析

WBOY
WBOYオリジナル
2016-06-23 13:35:30983ブラウズ

概要

前のセクションでは、Aurora Push の登録方法とそのサンプルの使用方法について説明しました。このセクションでは、サンプル プロジェクトのフレームワークを学習し、移植の準備をします。

ルーチンのソース コードを分析する

まず、ルーチンのソース コード構造を JPUSH の公式ドキュメント (http://docs.jpush.io/) と照らし合わせて分析することをお勧めします。それは私がやったことです。

アプリケーションの登録後、ダウンロードされたサンプル プロジェクトの構造は次のとおりです。



ExampleApplication.java: このクラスは、アプリケーションの Application クラスをカスタマイズします。これは、JPush SDK を呼び出すときに init( ) JPush API が提供する関数であり、公式ドキュメントによると、「init はアプリケーションの起動時に 1 回だけ API を呼び出す必要があります。」そのため、MainActivity で init() を呼び出すと、これも発生する可能性があります。多くの init() 呼び出し。もちろん、定義された ExampleApplication クラスは AndoridManifest.xml で設定する必要があります。

ExampleUtil.java: 名前が示すように、「Util」は、IME コードの取得、APPKEY の取得など、いくつかのグローバル メソッドまたは属性をこのクラスで定義します。

MainActivity.java: これは誰もが知っている、アプリケーションのメイン インターフェイスです。

MyReceiver.java: これは、BroadcastReceiver を継承し、カスタム レシーバー継承クラスです。このクラスが定義されていない場合、ユーザーはプッシュ通知をクリックした後、デフォルトでメイン インターフェイスにジャンプし、カスタム メッセージを受信しません。以下に示すように、このクラスも AndoridManifest.xml で構成する必要があります。



PushSetActivity.java: このクラスは主に、タグやエイリアスの設定、通知バーのスタイルのカスタマイズなど、JPush の「高度なオプション」を設定します。

SettingActivity.java: このクラスは JPush のセットアップも行い、主にプッシュ受信時間を設定します。

TestActivity.java: このクラスはアクティビティを継承し、主にユーザーが受信したプッシュ メッセージを表示するために使用され、ユーザーが通知バーでプッシュ メッセージをクリックすると、このアクティビティにジャンプします。


AndoridManifest.xml を再度分析しましょう。下の図は内容の完全なスクリーンショットです


行 2: Android 名前空間を指定します

行 3: 標準のアプリケーション パッケージ名を指定します (これはデフォルトでもあります)。アプリケーションの名前。ここでのパッケージ名は、src フォルダー内の com.example.jpushdemo パッケージと比較すると混同される可能性があります。実際、Android 開発を専門とする人は、1 つの src に複数のカスタム パッケージを含めることができることを知っています。この com.example.jpush パッケージには、JPush の呼び出し操作のみが含まれています。将来 JPush に慣れてきたら、完全にカスタマイズできます。 JPush の操作は抽出され、カスタム パッケージにカプセル化されます。

行 4: デバイス アプリケーションのバージョン識別コード。アプリを変更するときにカスタマイズできる回数を表す整数値である必要があります。

5 行目: ユーザーがバージョンを表示するには、ある程度の可読性が必要です。

7 行目: 最小バージョン、最大バージョン、ターゲット バージョンなど、アプリケーションで使用する必要がある SDK バージョンを指定します。

行 8 ~ 10: ユーザー権限をカスタマイズします。 android:name="com.lygk.lovelife.permission.JPUSH_MESSAGE" に注意してください。JPush オペレーションのパッケージ名が com.test.jpushdemo の場合、ここでは android:name="com.test.jpushdemo.JPUSH_MESSAGE" になります。実際、これは単なる名前です。このアクセス許可を参照する他の場所で使用されている名前が、このカスタム アクセス許可と一致していることを確認してください。

行 13 ~ 33: アプリケーションに必要な権限のステートメント。これは公式ドキュメントに記載されています。

行 34 ~ 139: アプリケーションの構成ルート要素。アプリケーションに関連するすべての構成要素が含まれます。

35 行目: アプリケーション アイコン

36 行目: アプリケーション名

37 行目: これは自分で定義した Applicationin クラスの名前です。つまり、アプリケーションは com.example.jpushdemo パッケージの下で ExampleApplication を開始します。

行 40 ~ 47: MainActivity.java に対応する、Activity アクティビティ コンポーネント (つまり、インターフェイス コントローラー コンポーネント) の宣言。 Android アプリケーションのすべてのアクティビティは AndoridManifest.xml 構成ファイルで宣言する必要があることに注意してください。宣言しないと、システムはアクティビティを認識または実行できません。

49 行目: PushSetActivity.java

に対応するアクティビティ アクティビティ コンポーネントの宣言

51 行目: SettingActivity.java

に対応するアクティビティ アクティビティ コンポーネントの宣言

53 ~ 58 行目: TestActivity.java

に対応するアクティビティ アクティビティ コンポーネントの宣言

Lines 62-71 : JPush SDK パッケージで定義されている PushActivity.java に対応するアクティビティ アクティビティ コンポーネント宣言。これは、電話機がプッシュ メッセージを受信したときに通知バーに表示されるアクティビティであると完全に疑っています。

行 73 ~ 77: Service コンポーネントの宣言タグ。特定の Android サービスを定義および説明するために使用されます。このうち、 android:name は Service サービス クラス名を表し、 android:enabled はサービス スイッチを表し、 android:exported はサービスが他のアプリケーション コンポーネントによって呼び出されるか、サービスと対話できるかどうかを示します。

81 ~ 92 行目: JPush SDK パッケージによって定義された PushService サービスの宣言。

行 95 ~ 113: Boardcast Receiver ブロードキャスト レシーバー コンポーネントの宣言。特定の Android ブロードキャスト レシーバーを定義および説明するために使用されます。 android:name は Boardcast Receiver の受信クラス名を表し、android:enabled は受信スイッチを表します。インテント メッセージ フィルターの の宣言に注意してください。 には、特定のメッセージを説明するために使用される名前である 要素が含まれている必要があります。アクションが準拠するカテゴリ。

115 行目: Boardcast Receiver ブロードキャスト レシーバー コンポーネントの宣言。ここには AlarmReceiver があります。

行 119 ~ 132: Boardcast Receiver ブロードキャスト レシーバー コンポーネントの宣言 これは、ソース コード パッケージの MyReceiver.java に対応する MyReceiver カスタム ブロードキャスト レシーバーです。

136 行目: タグ JPUSH_CHANNEL ステートメント、 は、 と同様に、事前定義されたデータを格納するために使用されます。 activity>、、および の 4 つの要素タグ。メタ データは通常、キーと値のペアの形式で表示され、これらのデータはプログラム内で Bundle オブジェクトに配置され、ActivityInfo オブジェクト、ServiceInfo オブジェクト、さらには ApplicationInfo オブジェクトのメタデータ属性を使用できます。読むこと。

137 行目: タグ JPUSH_APPKEY は、以下の図の赤い線で示すように、Jiguang Push 公式 Web サイトでアプリケーションを作成するときにシステムによって割り当てられる AppKey であることを宣言します。



終わり

以上で、Aurora Push公式サイトでアプリケーションを作成する際に自動生成されるサンプルコードのフレームワークを解析しました。これで、自分のアプリケーションに移植する方法が大体わかりました。次のセクションでは、これを修正して自分のデモ プログラムに移植する予定です。

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

*Luyang Hi-Tech Studio

*ウェブサイトアドレス: www.bigbearking.com

*業務協力QQ: 1519190237

*事業範囲: ウェブサイト構築、デスクトップソフトウェア開発、AndroidIOS開発、画像およびフィルムの後処理、PCBデザイン

* ********************************************** **** ********************************************* ***/
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。