1.Androidでアクティビティを作成せずにサービスを開始できるか知りたかっただけです。はいの場合、なぜですか?そうでない場合は、なぜですか?
- サービス作成コードを oncreate メソッドに直接入れることはできますか?
- javaのポリモーフィズムとインターフェースの違いは?
1.Androidでアクティビティを作成せずにサービスを開始できるか知りたかっただけです。はいの場合、なぜですか?そうでない場合は、なぜですか?
もちろん、アクティビティなしでサービスを開始できます(レシーバークラスの何かのように)
例えば
public class MyStartServiceReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("", "in start service");
Intent service = new Intent(context, rs.class);
context.startService(service);
}
}
インターフェイスは完全に定義されていないクラスです。つまり、抽象クラスのような具体的なメソッドはありませんが、抽象クラスには具体的なメソッドを含めることができますが、インターフェイスとしてはできません
「droidhot」の答えのようにできます。好きな場所で呼び出すことができます (pe onReceive、onCreate、onResume)。同じコードを複数回使用する場合は、独自のメソッドを作成し、次のように onResume または onCreate メソッドで呼び出します。
@Override
public void onResume(){
callService();
}
public void callService(){
Intent service = new Intent(getBaseContext(), myServiceClass.class);
getBaseContext().startService(service);
}
それとも、授業もなしにサービスを作るということですか?
2. Java のポリモーフィズムとインターフェイスの違いについては、「http://java.sys-con.com/node/37695」をお勧めします。