Androidマニフェストにアプリケーションクラスを登録する方法を教えてください。オンラインで多くのチュートリアルを見ましたが、それでも正しく理解できません。アプリケーションクラスはMonitor.Java
。以下のマニフェストファイルコードに登録するにはどうすればよいですか?
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.project"
Android:versionCode="1"
Android:versionName="1.0" >
<application
Android:allowBackup="true"
Android:debuggable="true"
Android:icon="@drawable/ic_launcher"
Android:label="xyz"
Android:screenOrientation="landscape"
Android:theme="@style/AppTheme" >
<service
Android:name=".AudioService"
Android:icon="@drawable/ic_launcher"
Android:label="audioservice" >
</service>
<activity
Android:name=".MainActivity"
Android:screenOrientation="landscape" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
Android:name=".Editor"
Android:screenOrientation="landscape"
Android:windowSoftInputMode="stateHidden" >
<intent-filter>
<action Android:name="com.example.project.EDITOR" />
<category Android:name="Android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
<application
Android:name="package.YourApplicationClass" <--------
Android:allowBackup="true"
Android:debuggable="true"
Android:icon="@drawable/ic_launcher"
Android:label="xyz"
Android:screenOrientation="landscape"
Android:theme="@style/AppTheme">
これを試して:
<application Android:icon="@drawable/icon"
Android:label="@string/app_name"
Android:name="Monitor">
以下の適切な参照リンクを参照してください。
AndroidのApplicationオブジェクトの使用方法
ありがとう。
シンプル、Android:name
属性とアプリケーションクラス名<application />
アプリケーションのManifest.xmlのタグ
<application
Android:name=".Monitor"
.... >
更新:
アプリケーションクラス:
グローバルなアプリケーション状態を維持する必要がある人のための基本クラス。 AndroidManifest.xmlのタグで名前を指定することにより、独自の実装を提供できます。これにより、アプリケーション/パッケージのプロセスが作成されるときに、そのクラスがインスタンス化されます。
詳しくは http://developer.Android.com/reference/Android/app/Application.html をご覧ください。
さて、あなたはすでに内部にアプリケーションクラスを持っています-<application
で始まります。コードにカスタムクラス(Application
を拡張する)があり、それを開始したい場合-put
Android:name=".Monitor" (or full path like com.something.app.Monitor)
<application
タグの後(アクティビティを追加するのと同じプロセス)。
Android:name=".Monitor"
属性をapplication
タグに追加します(Monitor.Javaクラスはアプリケーションパッケージのルートにあると想定しています)。お役に立てれば。
混乱しているのは、「Android:name」がマニフェストファイルに複数回表示されることです。アプリケーションクラスファイルを作成する前に、
Android:name=".MainActivity"
「アクティビティ」タグの後。
アプリケーションファイルを作成した後、マニフェストファイルのすべてが同じままですが、「application」タグの後を除いて、
Android:name=".myApplicationClass"
私の完全なマニフェストファイル:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="pixtas.com.nightout" >
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.WAKE_LOCK" />
<uses-permission Android:name="Android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission Android:name="Android.permission.VIBRATE" />
<uses-permission Android:name="Android.permission.GET_ACCOUNTS" />
<uses-permission Android:name="com.google.Android.c2dm.permission.RECEIVE" />
<!--
IMPORTANT: Change "com.parse.tutorials.pushnotifications.permission.C2D_MESSAGE" in the lines below
to match your app's package name + ".permission.C2D_MESSAGE".
-->
<permission Android:protectionLevel="signature"
Android:name="pixtas.com.nightout.permission.C2D_MESSAGE" />
<uses-permission Android:name="pixtas.com.nightout.permission.C2D_MESSAGE" />
<application
Android:allowBackup="true"
Android:icon="@mipmap/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme"
Android:name=".myApplicationClass" >
<activity
Android:name=".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>
<service Android:name="com.parse.PushService" />
<receiver Android:name="com.parse.ParseBroadcastReceiver">
<intent-filter>
<action Android:name="Android.intent.action.BOOT_COMPLETED" />
<action Android:name="Android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
<receiver Android:name="com.parse.GcmBroadcastReceiver"
Android:permission="com.google.Android.c2dm.permission.SEND">
<intent-filter>
<action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
<action Android:name="com.google.Android.c2dm.intent.REGISTRATION" />
<!--
IMPORTANT: Change "com.parse.tutorials.pushnotifications" to match your app's package name.
-->
<category Android:name="pixtas.com.nightout" />
</intent-filter>
</receiver>
<receiver Android:name="com.parse.ParsePushBroadcastReceiver" Android:exported="false">
<intent-filter>
<action Android:name="com.parse.Push.intent.RECEIVE" />
<action Android:name="com.parse.Push.intent.DELETE" />
<action Android:name="com.parse.Push.intent.OPEN" />
</intent-filter>
</receiver>
<!-- replace @drawable/Push_icon with your Push icon identifier -->
<meta-data Android:name="com.parse.Push.notification_icon" Android:resource="@drawable/ic_launcher"/>
</application>
</manifest>
これを使う
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.testing"
Android:versionCode="1"
Android:versionName="1.0" >
<uses-sdk
Android:minSdkVersion="8"
Android:targetSdkVersion="16" />
<application
Android:allowBackup="true"
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name"
Android:theme="@style/AppTheme" >
<activity
Android:name=".Monitor"
Android:label="@string/app_name" >
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>