android基础篇之四大组件

Android四大组件使用

说明:由于知识点写得过于碎片化,仅供作者本人观看,起回忆作用

1.Activity(这里忽略AndroidManifest.xml的配置)

使用方式一:

Intent intent=new Intent(Activity.this,secondActivity.this);
startActyvity(intent);

使用方式二:

startActivityForResult(intent,0);

并要要在当前Activity重写onActivityResult()方法:

@Override
public void onActivityResult(int requstCode,int resultCode,Intent intent){
if(requstCode==resultCode==0){
  Bundle data=intent.getExtras();
  String values=data.getString("key");
}
}

在第二个Activity上:

Intent intent=getIntent();
intent.putExtras("key","values");
SecondActivity.this.setResult(0,intent);

2.Service使用:(这里忽略AndroidManifest.xml的配置)

使用方式一:

startService(intent);

使用方式二:

bindService(intent,conn,Context.BIND_AUTO_CREATE);

注意:继承Service时必须重写onbind()方法,并返回IBnder

3.Broadcast使用:

普通广播:
定义广播接收器:

public class receiver extends BroadcastReceiver{
@Override
public void onReceiver(Context context,Intent intent){

}
}

(动态和静态注册方式,根据实际任选一种)
动态注册广播:

regasterBroadcast(receiver,new IntentFilter(ACTION));

静态注册广播:

<receiver android:name=".receiver">
   <Intent-Filter>
      <action android:name="ACTION"/>
   </Intent-Filter>
</receiver>

发送广播:

sendBroadcast(new Intent(ACTION));

如果是动态广播需要在最后注意在Activity或Fragment的onDestory()方法中注销广播

unregisterReceiver(receiver);

有序广播:
定义广播接收器:同上;
静态注册有序广播:(priority的值越大,优先级越高)

<receiver android:name=".receiver">
   <Intent-Filter android:priority="100">
      <action android:name="ORDER_ACTION"/>
   </Intent-Filter>
</receiver>

发送有序广播:

sendOrderBroadcast(new Intent(ORDAER_ACTION),null);

若要中断该广播传递给低优先级的接收器处理,使用:

abortBroadcast();

本地广播:(仅限应用内传播)
其中X表示LocalBroadcastManager.getInstance(context)
注册receiver:

X.registerReceiver(receiver,new IntentFilter(LOCAL_ACTION));

注销广播:

X.unregisterReceiver(receiver);

发送异步广播:

X.sendBroadcast(new Intent(LOCAL_ACTION));

发送同步广播:

X.sendBroadcastSync(new Intent(LOCAL_ACTION));

4.ContentProvider:

原理解析:ContentProvider实际上是对SQLiteOpenHelper的二次封装,通过UriMatcher将数据库中的表语Uri建立关联,用户通过Uri操作时,ContentProvider根据Uri对数据库的表进行增删改查。
由于ContenProvider篇幅过长,请查看ContentProvider详解。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
四大组件是指Android应用开发中的四个核心组件,包括Activity、Service、BroadcastReceiver和ContentProvider。 Activity是Android应用中的页面承载组件,用于展示用户界面和处理用户交互。它是每个页面的承载,一个Activity就是一个页面。Fragment是依赖于Activity的,它的显示与Activity的生命周期密切相关。 Service是一种在后台运行的组件,用于执行长时间运行的任务或处理远程请求。它没有用户界面,可以在后台执行任务,即使用户切换到其他应用程序,服务也可以继续工作。 BroadcastReceiver是一种用于接收和响应广播消息的组件。它可以接收系统广播或自定义广播,然后根据接收到的广播消息执行相应的操作。 ContentProvider是一种用于管理应用程序中各个组件之间共享数据的组件。它提供了一种统一的接口,允许应用程序之间共享数据,包括访问和修改数据的能力。 在面试中,可能会问到Activity的四种启动模式,它们分别是: 1. Standard(标准模式):默认启动模式,每次启动都会创建一个新的实例。 2. SingleTop(单顶模式):如果Activity位于栈顶,则不会创建新的实例,而是重用栈顶的实例。 3. SingleTask(单任务模式):如果Activity在返回栈中已经存在,则将其上面的Activity全部出栈,使得该Activity成为栈顶,如果Activity不存在,则创建新的实例。 4. SingleInstance(单实例模式):该Activity独占一个返回栈,其他应用程序无法共享该实例,它会在一个新的任务中启动。 在返回栈中,Activity的顺序是栈底到栈顶,栈顶的Activity即为当前显示的Activity。根据启动模式的不同,返回栈中的Activity可能会发生变化。例如,使用SingleTask模式启动一个Activity时,如果该Activity在返回栈中已经存在,则会将其上面的所有Activity出栈,使得该Activity成为栈顶。 至于Fragment,它有11个生命周期方法,包括onAttach()、onCreate()、onCreateView()、onActivityCreated()、onStart()、onResume()、onPause()、onStop()、onDestroyView()、onDestroy()和onDetach()。这些方法可以用于管理Fragment的生命周期,如创建、销毁、显示和隐藏等操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Android面试题(四大组件)](https://blog.csdn.net/augfun/article/details/105237121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值