当前位置: 首页 > news >正文

中国空间站最新视频自己设计好的网站怎么设置访问

中国空间站最新视频,自己设计好的网站怎么设置访问,网站开发自学,佛山模板建站定制网站目录 一、为什么需要四大组件? 二、Activity:看得见的界面 核心功能 生命周期图解 代码示例 三、Service:看不见的劳动者 两大类型 生命周期对比 注意陷阱 四、BroadcastReceiver:消息传递专员 两种注册方式 广播类型 …

目录

一、为什么需要四大组件?

二、Activity:看得见的界面

核心功能

生命周期图解

代码示例

三、Service:看不见的劳动者

两大类型

生命周期对比

注意陷阱

四、BroadcastReceiver:消息传递专员

两种注册方式

广播类型

代码示例

五、ContentProvider:数据共享大使

核心机制

关键组成

操作示例

六、组件协同实战:打电话流程

七、常见问题答疑


一、为什么需要四大组件?

在安卓系统中,应用不能像电脑程序那样"为所欲为"。想象你开了一家商场:

  • ​Activity​​ 就像商场的店铺橱窗(用户能直接看到的部分)
  • ​Service​​ 是后厨的厨师(默默处理核心事务)
  • ​BroadcastReceiver​​ 是敏锐的保安(随时监听各种警报)
  • ​ContentProvider​​ 是共享仓库(允许其他商家使用你的库存)

四大组件构成了安卓应用的骨架,系统通过它们来统一管理应用的生命周期和资源分配。


二、Activity:看得见的界面

核心功能
  • 用户交互的窗口
  • 界面布局容器
  • 处理用户输入事件
生命周期图解
onCreate() → onStart() → onResume()  ↑         |          ↓  
onDestroy() ← onStop() ← onPause()
  • ​典型场景​​:点击按钮跳转页面时,原页面执行onPause()→新页面执行onCreate()
代码示例
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); // 加载布局Button btn = findViewById(R.id.my_button);btn.setOnClickListener(v -> {Intent intent = new Intent(this, DetailActivity.class);startActivity(intent); // 跳转新页面});}
}

三、Service:看不见的劳动者

两大类型
类型特点使用场景
​Started Service​通过startService()启动
独立于Activity存在
下载文件
播放音乐
​Bound Service​通过bindService()绑定
与组件生命周期关联
后台计算
实时数据推送
生命周期对比
Started Service:  
onCreate() → onStartCommand() → running → onDestroy()Bound Service:  
onCreate() → onBind() → running → onUnbind() → onDestroy()
注意陷阱

⚠️ ​​服务默认在主线程运行​​!长时间操作必须开子线程,否则会导致界面卡顿


四、BroadcastReceiver:消息传递专员

两种注册方式
方式生命周期适用场景
​静态注册​在AndroidManifest.xml声明
应用未启动也能接收
开机启动
网络状态变化
​动态注册​代码中注册
随组件生命周期销毁
屏幕亮灭
电量变化
广播类型
  • ​系统广播​​:ACTION_BOOT_COMPLETED(开机完成)
  • ​自定义广播​​:com.example.MY_CUSTOM_ACTION
代码示例
// 接收充电状态变化的广播
public class PowerReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if(Intent.ACTION_POWER_CONNECTED.equals(intent.getAction())){Toast.makeText(context, "开始充电!", Toast.LENGTH_SHORT).show();}}
}

五、ContentProvider:数据共享大使

核心机制
应用A ──────→ ContentProvider ←────── 应用BURI权限控制         标准化接口
关键组成
  • ​URI​​:类似content://com.example.provider/user/3
  • ​MIME类型​​:指定数据类型格式
  • ​权限控制​​:通过<provider>标签的android:permission属性设置
操作示例
// 查询通讯录
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,new String[]{ContactsContract.Contacts.DISPLAY_NAME},null, null, null);

六、组件协同实战:打电话流程

  1. ​Activity​​:拨号界面输入号码,点击拨打按钮
  2. ​Intent​​:携带电话号码启动系统电话服务
  3. ​BroadcastReceiver​​:监听NEW_OUTGOING_CALL广播
  4. ​Service​​:系统电话服务在后台维持通话连接
  5. ​ContentProvider​​:通话记录存入系统数据库
 


七、常见问题答疑

​Q1:一个应用必须包含所有组件吗?​
→ 不是!最简单的应用可以只有Activity,其他组件按需使用

​Q2:组件之间如何通信?​
→ 主要通过Intent(消息信封)传递信息,也可以使用Messenger或AIDL

​Q3:为什么不能直接访问其他应用的数据?​
→ 安卓的沙箱机制保护用户隐私,必须通过ContentProvider进行安全的数据共享

​Q4:后台服务会被系统杀死吗?​
→ 是的!安卓8.0以后对后台服务限制严格,建议改用WorkManager

http://www.dtcms.com/a/607547.html

相关文章:

  • Negotiation failure和Link Training
  • 九年级上册信息技术做网站科技粉末
  • 重庆市建设局网站百度官网
  • 建设向58同城的网站wordpress更新提示ftp
  • 常州网站建设选思创怎么做自己的导航网站
  • 上饶网站建设推广重庆建设施工工程信息网
  • 十堰吉安营销型网站优化营销数据库怎么存储wordpress
  • Java Map集合操作实战指南
  • 基带无线资源、物理层帧结构、无线资源调度的介绍
  • 天天seo站长工具seo排名优化服务
  • 昆明网站建设建站模板jsp网站建设项目实战电子版
  • 做暖视频网站免费网站建设战略合作方案
  • Android开发-java版:data的存取和SharedPreferences
  • 国外 创意 网站无锡做网站优化价格
  • 上行10m企业光纤做网站如何查询网站备案时间
  • 设计公司网站的主页怎么做西安做效果图的公司
  • 河北建设网官方网站深圳app开发公司排行
  • 有没有网站做胡兼职政和县建设局网站公告
  • 浙江新华建设有限公司网站中国企业500强招聘
  • 网站开发英文论文国内论坛网站有哪些
  • 山东平台网站建设推荐网站模板制作与安装教程视频
  • 柳州网站建设服务h5创建网站
  • 吉林网站备案ps做网站画布多大
  • 深圳集智邦是网站建设公司安康信息平台
  • XHLJ2021-easykernel之 seq_operations结合pt_regs
  • 网站怎么备份wordpress edd插件
  • 出格做网站学生个人网页制作html报告
  • 在 Oracle Data Guard 环境中,手工将备库(Standby)切换为主库(Primary)
  • 网站icp备案证书莱州网络推广公司
  • AI评测趋势一站速览,司南Daily Benchmark专区上线!