Android四大核心组件_第1页
Android四大核心组件_第2页
Android四大核心组件_第3页
Android四大核心组件_第4页
Android四大核心组件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、求求 真真 务务 实实 敬敬 业业 进进 取取Android四大核心组件求求 真真 务务 实实 敬敬 业业 进进 取取一、Activity Activity:代表了Android程序的展现层,比如用户看到的界面。一个Android程序会有一些个Activities,在程序运行过程中也会切换。1、activity概念求求 真真 务务 实实 敬敬 业业 进进 取取2、activity三种状态 运行:当一个Activity在屏幕的最上层时(系统堆栈中的最顶端),此Activity就是属于active或running的状态。 停止:当一个Activity被其它的Activity完全遮蔽,被遮蔽Acti

2、vity就是处于Stop的状态。 暂停:当一个Activity失去焦点(Focus)但还看得到它的画面,那失去焦点的这个Activity则处在Paused的状态。求求 真真 务务 实实 敬敬 业业 进进 取取3、activity生命周期的七个方法求求 真真 务务 实实 敬敬 业业 进进 取取Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);System.out.println(我生

3、成了);Overrideprotected void onStart() super.onStart();System.out.println(我开始了);Overrideprotected void onResume() super.onResume(); System.out.println(我恢复了);求求 真真 务务 实实 敬敬 业业 进进 取取Overrideprotected void onPause() super.onPause();System.out.println(我暂停了);Overrideprotected void onStop() super.onStop();S

4、ystem.out.println(我停止了);点击“HOME”求求 真真 务务 实实 敬敬 业业 进进 取取重新进入程序user navigates to the activityuser returms to the activity返回按钮the activity is finishing or being destroyed by the system求求 真真 务务 实实 敬敬 业业 进进 取取4、activity操作(1)生成一个Android Activity包括一个继承于Activity子类Aty1、activity_aty1.xml、AndroidManifest.xml中进

5、行配置求求 真真 务务 实实 敬敬 业业 进进 取取public class MainActivity extends Activity private Button button1;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button) findViewById(R.id.button1);button1.setOnClickListener(ne

6、w View.OnClickListener() Overridepublic void onClick(View arg0) Intent i = new Intent(MainActivity.this,Aty1.class);startActivity(i););求求 真真 务务 实实 敬敬 业业 进进 取取5、activity数据传递求求 真真 务务 实实 敬敬 业业 进进 取取private EditText editText;Intent i = new Intent(MainActivity.this,Aty1.class);editText = (EditText) findV

7、iewById(R.id.editText1);String text = editText.getText().toString();i.putExtra(txt, text);startActivity(i);private TextView txtView;txtView = (TextView) findViewById(R.id.textView1);txtView.setText(getIntent().getStringExtra(txt);方式一 传送简单的数据求求 真真 务务 实实 敬敬 业业 进进 取取private EditText editText;Intent i =

8、 new Intent(MainActivity.this,Aty1.class);editText = (EditText) findViewById(R.id.editText1);String text = editText.getText().toString();/i.putExtra(txt, text);Bundle data = new Bundle();data.putString(txt, text);i.putExtras(data);startActivity(i);private TextView txtView;txtView = (TextView) findVi

9、ewById(R.id.textView1);/txtView.setText(getIntent().getStringExtra(txt);Bundle data = getIntent().getExtras();txtView.setText(data.getString(txt);方式二 传送大数据求求 真真 务务 实实 敬敬 业业 进进 取取二、Service Android中的Service,其意思是“服务”,它是在后台运行,不可交互的。Service自己不能运行,需要通过某一个Activity或者其它Context对象来调用1、Service概念求求 真真 务务 实实 敬敬 业

10、业 进进 取取2、service生命周期service的生命周期,从它被创建开始,到它被销毁为止,可以有两条不同的路径:(1)A started service被开启的service通过其他组件调用 startService()被创建。这种service可以无限地运行下去,必须调用stopSelf()方法或者其他组件调用stopService()方法来停止它。当service被停止时,系统会销毁它。(2)A bound service被绑定的service是当其他组件(一个客户)调用bindService()来创建的。客户可以通过一个IBinder接口和service进行通信。客户可以通过 u

11、nbindService()方法来关闭这种连接。一个service可以同时和多个客户绑定,当多个客户都解除绑定之后,系统会销毁service。求求 真真 务务 实实 敬敬 业业 进进 取取求求 真真 务务 实实 敬敬 业业 进进 取取(1)start serviceimport android.app.Service;import android.content.Intent;import android.os.IBinder;public class EchoService extends Service Overridepublic IBinder onBind(Intent arg0)

12、return null;Overridepublic void onCreate() super.onCreate();System.out.println(启动);Overridepublic void onDestroy() super.onDestroy();System.out.println(销毁);求求 真真 务务 实实 敬敬 业业 进进 取取求求 真真 务务 实实 敬敬 业业 进进 取取android:id=+id/button1android:id=+id/button2求求 真真 务务 实实 敬敬 业业 进进 取取public class MainActivity exten

13、ds Activity implements OnClickListener private Button button1;private Button button2;private Intent serviceIntent;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);serviceIntent = new Intent(this,EchoService.class);bu

14、tton1 = (Button) this.findViewById(R.id.button1);button2 = (Button) this.findViewById(R.id.button2);button1.setOnClickListener(this);button2.setOnClickListener(this);求求 真真 务务 实实 敬敬 业业 进进 取取Overridepublic void onClick(View v) switch(v.getId()case R.id.button1:startService(serviceIntent);break;case R.

15、id.button2:stopService(serviceIntent);break;Overridepublic boolean onCreateOptionsMenu(Menu menu) getMenuInflater().inflate(R.menu.main, menu);return true;求求 真真 务务 实实 敬敬 业业 进进 取取求求 真真 务务 实实 敬敬 业业 进进 取取(2)bind serviceandroid:id=+id/button3android:id=+id/button4求求 真真 务务 实实 敬敬 业业 进进 取取public class Main

16、Activity extends Activity implements OnClickListener, ServiceConnectionprivate Button button3;private Button button4;button3 = (Button) this.findViewById(R.id.button3);button3.setOnClickListener(this);button4 = (Button) this.findViewById(R.id.button4);button4.setOnClickListener(this);求求 真真 务务 实实 敬敬

17、业业 进进 取取public void onClick(View v) switch(v.getId()case R.id.button1:startService(serviceIntent);break;case R.id.button2:stopService(serviceIntent);break;case R.id.button3:bindService(serviceIntent, this, Context.BIND_AUTO_CREATE);break;case R.id.button4:unbindService(this);break;求求 真真 务务 实实 敬敬 业业

18、进进 取取Overridepublic void onServiceConnected(ComponentName arg0, IBinder arg1) System.out.println(绑定);Overridepublic void onServiceDisconnected(ComponentName arg0) 求求 真真 务务 实实 敬敬 业业 进进 取取EchoService类:public class EchoServiceBinder extends Binderprivate EchoServiceBinder binder = new EchoServiceBinder

19、();Overridepublic IBinder onBind(Intent arg0) System.out.println(开始绑定);return binder;正确运行求求 真真 务务 实实 敬敬 业业 进进 取取三、Broadcast Receiver1、概述BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量

20、改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度,等等。求求 真真 务务 实实 敬敬 业业 进进 取取2、Broadcast Receiver声明public class MyBC extends BroadcastReceiver Overridepublic void onReceive(Context arg0, Intent arg1) 求求 真真 务务 实实 敬敬 业业 进进 取取3、传值、注册、注销l Broadcast Receive接收:public class MyBC extends BroadcastReceiver Overridepublic void onReceive(Context arg0, Intent arg1) System.out.println(接收信息:+arg1.getStringExtra(txt);(1)传值Intent i = new Intent(MainActivity.this,MyBC.class);i.putExtra(txt, hello);sendBroadcast(i);求求 真真 务务 实实 敬敬 业业

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论