1

1.Androidでアクティビティを作成せずにサービスを開始できるか知りたかっただけです。はいの場合、なぜですか?そうでない場合は、なぜですか?

  1. サービス作成コードを oncreate メソッドに直接入れることはできますか?
  2. javaのポリモーフィズムとインターフェースの違いは?
4

2 に答える 2

1

もちろん、アクティビティなしでサービスを開始できます(レシーバークラスの何かのように)

例えば

    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);
}
  } 

インターフェイスは完全に定義されていないクラスです。つまり、抽象クラスのような具体的なメソッドはありませんが、抽象クラスには具体的なメソッドを含めることができますが、インターフェイスとしてはできません

于 2012-08-30T09:09:45.377 に答える
0
  1. 「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/376​​95」をお勧めします。

于 2012-08-30T09:29:04.873 に答える