题目内容

请阅读并理解下面程序,在描述编程逻辑文字的空白划线处填写合适内容。public class MainActivity extends Activity implements OnClickListener {private Button bindService;private Button unbindService;private MyService.DownloadBinder downloadBinder;private ServiceConnection connection = new ServiceConnection() {// 定义监听连接断开的方法@Overridepublic void (2)onServiceDisconnected(ComponentName name) {}@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {downloadBinder = (MyService.DownloadBinder) service;Log.d("MainActivity", "onServiceConnected!");downloadBinder.startDownload();downloadBinder.getProgress();}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bindService = (Button) findViewById(R.id.bind_service);unbindService = (Button) findViewById(R.id.unbind_service);bindService.setOnClickListener(this);unbindService.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.bind_service:Intent bindIntent = new Intent(this, MyService.class);bindService(bindIntent, connection, BIND_AUTO_CREATE);break;case R.id.unbind_service:unbindService(connection);break;default:break;}}}1)在自定义Activity里实现负责监听与(1)_____________类对象绑定状况的(2)_____________接口,并创建该接口对象,对象名为(3)_____________;2)实现监听连接状况的接口类时,需重写服务绑定成功时的回调方法(4)_____________,以及解除绑定时的回调方法(5)_____________。3)onServiceConnected()方法的参数可接收到绑定服务组件名称和(6)_____________实例,通过这个实例, Activity就可以调用自定义方法:(7)_____________和(8)_____________。4)当点击R.id.bind_service按钮时创建发送给MyService.类的意图,并调用(9)_____________方法启动绑定服务;点击R.id.unbind_service按钮时调用(10)_____________方法解除与Service的绑定。

查看答案
更多问题

从Android 8.0系统开始,如果希望Service不会由于系统内存不足而导致被回收,可以使用____________服务,处在这种状态的Service会有一个正在运行的图标在状态栏显示,类似于通知的效果。

从Android 9.0开始,使用前台服务,必须在AndroidManifest.xml文档中申请使用相应权限:

请根据注释的空白划线处填写合适内容。// 自定义的IntentService类public class MyIntentService(1)________________________ {// 自定义类的构造方法(2)________________________ {//调用超类的构造方法,并传入字符串参数"MyIntentService"(3)________________________;}// IntentService的处理Intent工作队列后台线程方法@Overrideprotected void (4)________________________ (Intent intent) {// 在Logcat窗口中电灯泡当前线程的idLog.d("MyIntentService", "Thread id is " + (5)________________________);}…}

下面是一个需要绑定服务的Activity类程序片断,阅读程序后简述该类主要编程逻辑。public class MainActivity extends Activity implements OnClickListener {private Button bindService;private Button unbindService;private MyService.DownloadBinder downloadBinder;private ServiceConnection connection = new ServiceConnection() {@Overridepublic void onServiceDisconnected(ComponentName name) {}@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {downloadBinder = (MyService.DownloadBinder) service;Log.d("MainActivity", "onServiceConnected!");downloadBinder.startDownload();downloadBinder.getProgress();}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bindService = (Button) findViewById(R.id.bind_service);unbindService = (Button) findViewById(R.id.unbind_service);bindService.setOnClickListener(this);unbindService.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.bind_service:Intent bindIntent = new Intent(this, MyService.class);bindService(bindIntent, connection, BIND_AUTO_CREATE);break;case R.id.unbind_service:unbindService(connection);break;default:break;}}}

答案查题题库