アウトライン
1で、例のプロジェクトのフレームワークを見て、このセクションの準備ができて、登録を説明し、方法のそのプッシュオーロラの例を使用し、それを準備するために移植しました。
解析ルーチンのソース
まず、ソースコードルーチンの構造を分析し、それが輝い推奨されJPUSH公式文書(http://docs.jpush.io/)分析は、私だけではなかったです。
登録申請後、次のようにサンプルプロジェクトが構成されてダウンロードし、
ExampleApplication.javaは:コールJPush SDKは、あなたがJPushが提供するのinit()関数APIを呼び出すと、公式ドキュメント「の指示に従ってくださいする必要があるため、Applicationクラスのアプリケーション用にカスタマイズされたクラスは、アプリケーションの起動時に一度呼ばれているinit APIは、」することができるので、カスタマイズされたアプリケーションのクラス、あなたは()でMainActivityにinitを呼び出した場合に、init()が複数回呼び出される可能性があります。もちろん、クラス定義ExampleApplicationがする必要がAndoridManifest.xmlで設定されます。
ExampleUtil.javaは:名前が示唆するように、「使用率」は、このクラスのいくつかのグローバルメソッドまたはプロパティは、IMEコード、GET APPKEYなどへのアクセスのような静的関数の数を定義することが示されました。
MainActivity.java:これはすべて知っている、アプリケーションのメインインタフェースです。
MyReceiver.java:この継承されたBroadcastReceiver、受信機は、カスタム継承したクラスです。クラスが定義されていない場合は、メインインターフェイスにプッシュ通知のデフォルトのジャンプをユーザーがクリックするには、また、カスタムメッセージを受信しません。またAndoridManifest.xmlに必要な必要このクラスは、図の下方に配置されました。
PushSetActivity.java:このクラスは主にJPushは、このようなタグや別名、カスタム通知バーのスタイルを設定するなど、「詳細オプション」の設定、こと。
SettingActivity.java:このクラスは、プッシュ主に集合時間を受け、またJPushセットです。
TestActivity.java:このクラスは継承活動は、主にユーザーがプッシュメッセージの通知バーをクリックしたときに、それは活動にジャンプします表示するには、ユーザーが受信したメッセージをプッシュします。
ここで再びAndoridManifest.xml、ショーフルコンテンツ下のスクリーンショットを分析
2行目:アンドロイドの名前空間を指定します
3行目:標準アプリケーションパッケージ名を指定しても、アプリケーションのデフォルトの名前です。ここでは、パッケージ名は、それはおそらくそれほど混乱srcフォルダの比較とcom.example.jpushdemoパッケージになります。実際には、専門的な開発はsrcが複数のカスタムパッケージを含むことができ、私が知っているよりも、アンドロイド、このパッケージcom.example.jpushは、あなたが精通している場合だけJPushにJPushの将来をいくつか呼び出し操作が含まれ、かつ完全になりますJPushは、カスタムパッケージに実装、動作引き抜きます。
4行目:デバイスアプリケーションのバージョン識別子は、アプリを何度も更新さを表す整数値でなければなりません、私たちは自分の時間をカスタマイズするために変更することができます。
5行目:ユーザーとバージョンを表示するには、特定の読みやすさを持っている必要があります。
7行目:あなたは、このような最小バージョン、最大バージョンと宛先バージョンとして、使用するアプリケーションに指定されたSDKのバージョン。
8-10行:カスタムユーザー権限。なお、アンドロイドの1:名=「com.lygk.lovelife.permission.JPUSH_MESSAGE」、オペレーティングJPushのパッケージ名がcom.test.jpushdemoであれば、これはアンドロイドである:名=「com.test.jpushdemo.JPUSH_MESSAGE」 、実際には、それは名前だけで、長い間、このようなこのカスタム権限を宣言する13行として、他の場所と、それを一貫して使用中で参照としてこの権威の名前で、それは適切ではないと言います。
行13-33:文に必要なアプリケーションの権限、公式文書から見つけることができます。
34から139行:アプリケーション構成上のすべての要素を含む、アプリケーションのルート要素を設定します。
35行目:アイコン
36行目:名前
37行目:これは、アプリケーションがcom.example.jpushdemoパッケージの下ExampleApplicationがが起動されている私たち自身の定義などApplicatioinの名前です。
行40-47:活動の活性成分(すなわち、インターフェース・コントローラ・コンポーネント)MainActivity.java対応する宣言。各アクティビティAndoridManifest.xml構成ファイルで宣言する必要がありますAndroidアプリケーションに注意してください、そうでない場合は、システムが認識でも活動を実施しません。
行49:アクティビティアクティビティコンポーネント宣言、対応するPushSetActivity.java
行51:活動ステートメント活性成分、SettingActivity.javaに対応
行53-58:活動活性成分宣言、対応TestActivity.java
62-71行目:アクティビティアクティビティコンポーネント宣言、対応するJPush SDKパッケージはPushActivity.javaを定義し、私はこの携帯電話はプッシュメッセージを受信アクティビティ通知バーに表示されていることを十分に疑わしいです。
行73-77:定義し、具体的なAndroidのサービスを記述するために使用されるステートメントのラベルサービスのサービスコンポーネント、。アンドロイドどの:ネームサービスは、サービスクラス名を表し、アンドロイド:エクスポートされたサービスは、それとの対話や他のアプリケーションコンポーネントに呼び出すことができるかどうかを示します。有効なサービススイッチは、アンドロイドことを示します。
81-92行目:JPush SDKパッケージ宣言はPushServiceサービスを定義しました。
95-113株:文Boardcastレシーバ定義及びAndroidの受信特定の放送の詳細については受信機アセンブリ放送しました。アンドロイド:有効な受信機のスイッチを示します。名前がBoardcastレシーバの受信機のクラス名、アンドロイドを示しています。ノートメッセージフィルタを宣言する場合、<インテントフィルタ>意図こと。<インテントフィルタ> <action>要素、特定のメッセージのために、すなわち記述名含まれている必要があり、<カテゴリ>タグはメッセージの種類を処理するために使用されるコンポーネントを示し、すなわち、アクションカテゴリに準拠しています。
ライン115:アセンブリ、ここに声明Boardcastレシーバー放送受信機AlarmReceiver。
ライン119-132:ステートメントBoardcastレシーバ放送受信機アセンブリ、カスタムMyReceiver放送受信機である、MyReceiver.javaのソースパッケージに対応します。
行136:<メタデータ>タグJPUSH_CHANNELステートメント、<メタデータ>事前定義されたデータを格納するための、および<意図フィルタ>同様に、<メタデータ>は配置することができる<活動>、<活動エイリアス> <サービス>と<受信機>タグこれら四つの要素。メタデータは、キーと値のペアの形で通常、数は限定されるものではなく、これらのデータはバンドルオブジェクトに配置されます、あなたは私たちがActivityInfo、SERVICEINFOも、メタデータプロパティにApplicationInfoオブジェクトが読み込まれたプログラムを使用することができます。
行137:<メタデータ>タグJPUSH_APPKEY文の図に示すように、これはあなたがシステムを作成割り当ては、公式サイトをプッシュするのAppKeyオーロラに適用される箱入りレッドを。
エンディング
あなたはオーロラでアプリケーションを作成するときに自動的に生成された顔枠のサンプルコードは、公式サイトをプッシュする上で分析した、すべてのこれらの分析の後、私は一般的に、自分のアプリケーションにどのように移植に知っているし、次のセクションに移行し、私は自分自身を修正する準備ができていますプログラムのデモ。
/ ************************************************* ************************************************** **オリジナルの記事は、URLをご記入ください、再現します。http://blog.csdn.net/mybelief321/article/details/45458863
*呂ヤンテック・スタジオ
*ウェブサイト:www.bigbearking.com
*ビジネス協力QQ:1519190237
サービスの範囲:建設現場、デスクトップソフトウェアの開発、アンドロイド\ IOSの開発、映画やテレビの画像処理後、PCB設計
************************************************** ************************************************** /