android 入门-Service

时间:2023-03-08 19:38:05

sdk 1.7

package com.example.hellowrold;

import java.util.Random;

import com.example.hellowrold.R.id;

import android.os.Bundle;
import android.os.IBinder;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.graphics.Typeface;
import android.view.Menu;
import android.view.View;
import android.widget.Button; public class EX0314 extends Activity { private Button startButton;
private Button stopbuButton;
private Button bindButton;
private Button unbindButton;
private ServiceConnection sConnection;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ex0314); sConnection=new ServiceConnection() { @Override
public void onServiceDisconnected(ComponentName name) {
} @Override
public void onServiceConnected(ComponentName name, IBinder service) {
}
};
startButton=(Button)findViewById(id.Ex0314StartButton);
startButton.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent sIntent=new Intent(EX0314.this,mService1.class);
sIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startService(sIntent);
}
}); stopbuButton=(Button)findViewById(id.Ex0314StopButton);
stopbuButton.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent sIntent=new Intent(EX0314.this,mService1.class);
stopService(sIntent);
}
}); bindButton=(Button)findViewById(id.Ex0314BindButton);
bindButton.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent sIntent=new Intent(EX0314.this,mService1.class);
sIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
bindService(sIntent,sConnection,BIND_AUTO_CREATE);
}
}); unbindButton=(Button)findViewById(id.Ex0314UnbindButton);
unbindButton.setOnClickListener(new Button.OnClickListener() { @Override
public void onClick(View v) {
Intent sIntent=new Intent(EX0314.this,mService1.class);
sIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
unbindService(sConnection);
}
});
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.ex0314, menu);
return true;
} }

package com.example.hellowrold;

import android.R.integer;
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log; public class mService1 extends Service{
private Handler objHandler=new Handler();
private int intCounter=0;
private static final String TAG = "MyService";
private Runnable mTasks=new Runnable() { @Override
public void run() {
// TODO Auto-generated method stub
intCounter++;
Log.i("hippo","计算器"+Integer.toString(intCounter));
objHandler.postDelayed(mTasks, 1000);
}
}; @Override
public void onCreate() {
Log.e(TAG, "start onCreate~~~");
super.onCreate(); objHandler.postDelayed(mTasks, 1000);
}
@Override
public void onDestroy() {
Log.e(TAG, "start onDestroy~~~");
super.onDestroy(); objHandler.removeCallbacks(mTasks);
}
@Override
public IBinder onBind(Intent intent) {
Log.e(TAG, "start IBinder~~~");
return null;
}
@Override
public boolean onUnbind(Intent intent) {
Log.e(TAG, "start onUnbind~~~");
return super.onUnbind(intent);
}
}
 
        <activity
android:name="com.example.hellowrold.EX0314"
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=".mService1"
android:exported="false">
</service>

android 入门-Serviceandroid 入门-Serviceandroid 入门-Service

android 入门-Service