Android~Service+BroadcastReceiver使用,android开发文档英文

  • Service.java

package com.example.servicecallback;

import android.app.Service;

import android.content.Intent;

import android.os.Binder;

import android.os.IBinder;

public class ContentService extends Service {

@Override

public IBinder onBind(Intent arg0) {

// TODO Auto-generated method stub

return new LocalBinder();

}

@Override

public void onCreate() {

// TODO Auto-generated method stub

super.onCreate();

}

public final class LocalBinder extends Binder {

public ContentService getService() {

return ContentService.this;

}

}

public void asyncSendPerson(final String name) {

// 休息5秒,模拟异步任务

new Thread(new Runnable() {

@Override

public void run() {

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

e.printStackTrace();

}

//可以在子线程中直接发送广播

sendContentBroadcast(name);

}

}).start();

}

/**

  • 发送广播

  • @param name

*/

protected void sendContentBroadcast(String name) {

// TODO Auto-generated method stub

Intent intent=new Intent();

intent.setAction(“com.example.servicecallback.content”);

intent.putExtra(“name”, name);

sendBroadcast(intent);

}

}

  • MainActivity.java

package com.example.servicecallback;

import android.app.Activity;

import android.conte

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

nt.BroadcastReceiver;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.content.ServiceConnection;

import android.os.Bundle;

import android.os.IBinder;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.TextView;

public class MainActivity extends Activity {

private MyServiceConn conn;

private TextView mContent;

private ContentReceiver mReceiver;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

conn = new MyServiceConn();

bindService(new Intent(this, ContentService.class), conn,

BIND_AUTO_CREATE);

mContent = (TextView) findViewById(R.id.content);

this.findViewById(R.id.button1).setOnClickListener(

new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

startActivity(new Intent(MainActivity.this,

OtherActivity.class));

}

});

doRegisterReceiver();

}

/**

  • 注册广播接收者

*/

private void doRegisterReceiver() {

mReceiver=new ContentReceiver();

IntentFilter filter = new IntentFilter(

“com.example.servicecallback.content”);

registerReceiver(mReceiver, filter);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

public class MyServiceConn implements ServiceConnection {

@Override

public void onServiceConnected(ComponentName name, IBinder binder) {

// service = ((LocalBinder) binder).getService();

}

@Override

public void onServiceDisconnected(ComponentName name) {

// TODO Auto-generated method stub

// service = null;

}

}

@Override

protected void onDestroy() {

// TODO Auto-generated method stub

super.onDestroy();

unbindService(conn);

if (mReceiver!=null) {

unregisterReceiver(mReceiver);

}

}

public class ContentReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

String name = intent.getStringExtra(“name”);

Person person = new Person();

person.setName(name);

mContent.setText(person.toString());

}

}

}

  • OtherActivity.java

package com.example.servicecallback;

import android.app.Activity;

import android.content.BroadcastReceiver;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.content.ServiceConnection;

import android.os.Bundle;

import android.os.IBinder;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

import com.example.servicecallback.ContentService.LocalBinder;

public class OtherActivity extends Activity {

private ContentService service;

private TextView mContent;

private Button mSubmit;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一些Android开发的指南针: 1. 熟悉Java语言。Java是Android开发的主要语言,需要熟悉Java的基本语法和面向对象编程思想。 2. 学习Android SDK。Android SDK提供了很多API和工具,可以用来开发Android应用程序。需要学习如何使用SDK中的类和方法,以及如何构建Android应用程序。 3. 了解Android应用程序的生命周期。Android应用程序包含了许多不同的组件,如Activity、ServiceBroadcastReceiver和ContentProvider等。需要了解它们之间的关系和生命周期。 4. 使用Android Studio进行开发Android Studio是Google推荐的Android开发工具,提供了许多功能和工具,可以帮助开发人员更快速地开发Android应用程序。 5. 了解Android的UI设计。Android应用程序通常需要精心设计的用户界面。需要学习如何使用布局和小部件来设计用户界面。 6. 学习如何使用Android的数据库。Android提供了SQLite数据库,可以用来存储和管理应用程序的数据。需要学习如何使用SQLite API来进行数据库操作。 7. 掌握Android的网络编程。许多Android应用程序需要与远程服务器进行通信,需要学习如何使用HTTP和其他网络协议来进行网络编程。 8. 学习如何进行调试和测试。开发Android应用程序时,需要进行调试和测试,以确保应用程序的质量和稳定性。 9. 参考官方文档和社区资源。Android开发有很多文档和资源可供参考,如官方文档、Stack Overflow等。可以通过这些资源来学习和解决问题。 希望这些指南针能够帮助您入门Android开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值