移动应用开发期末总结

移动应用开发

什么是intent?(问答题)

Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。Intent为Activity、Service和BroadcastReceiver等组件提供交互能力,将一个组件的数据和动作传递给另一个组件。Intent的一个最常见的用途就是启动Activity和Service;另一个用途是在Android系统上发布广播消息,广播消息可以是接收到特定数据或消息,也可以是手机的信号变化或电池的电量过低等信息。

什么是intent-filter,作用是什么?

Intent过滤器是一种根据Intent中的动作(Action)、类别(Categorie)和数据(Data)等内容,对适合接收该Intent的组件进行匹配和筛选的机制。

Intent过滤器的作用是匹配数据类型、路径和协议,还包括可以用来确定多个匹配项顺序的优先级。每个Intent过滤器可以定义多个标签,程序开发人员可以使用自定义的类别,或使用Android系统提供的类别。

Android的体系结构分成几层?每一层的作用?(问答题)P13

  • Android是基于Linux内核的软件平台和操作系统,采用了软件堆层的架构,共分为4层。
  • 第一层是Linux内核,提供有操作系统内核管理的底层基础功能;
  • 第二层是中间件层,有函数库和Android运行时构成(Android运行时有核心库和ART虚拟机构成,ART虚拟机采用预编译(AOT)技术,在应用程序安装时把程序代码转换成机器语言);
  • 第三层是应用程序框架,提供了Android平台基本的管理功能和组件重用机制;
  • 第四层是应用程序层,提供一系列核心应用程序。

Android四大组件是什么?每种组件的用途?(Activity,Service,Broadcast receiver,Content provider)P67(问答题,选择题)

  • Android系统有4个重要的组件,分别是Activity,Service,Broadcast receiver,Content provider。
  • Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件,与“窗体”概念相似。
  • Service一般用于没有用户界面,但需要长时间在后台运行的应用。
  • Broadcast receiver是用来接收并响应广播消息的组件。(不包含任何用户界面,但可以通过启动Activity或者Notification通知用户收到重要消息)
  • Content provider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过Content provider访问其他应用程序的私有数据。

Activity生命周期的四种状态P68

  • 活动状态,当Activity在用户界面处于最上层,完全能被用户看到,能与用户进行交互,则这个Activity处于活动状态。
  • 暂停状态,当Activity在界面上被部分遮挡,该Activity不在处于用户界面的最上层,且不能够与用户进行交互,则这个Activity处于暂停状态。
  • 停止状态,当Activity在界面上完全不能被用户看到,也就是说这个Activity被其他Activity全部遮挡,则这个Activity处于停止状态。
  • 非活动状态,不处于以上三种状态的Activity则处于非活动状态。

常见的数据存储方式的特点(SharedPreference,文件存储,SQLite各自的特点)

  1. SharedPreferences是一种轻量级的数据保存方式。通过SharedPreferences开发人员可以将NVP(Name/Value Pair,名称/值对)保存在Android的文件系统中,而且SharedPreferences完全屏蔽了对文件系统的操作过程。开发人员仅通过调用SharedPreferences中的函数就可以实现对NVP的保存和读取。SharedPreferences不仅能够保存数据,还能够实现不同应用程序间的数据共享
  2. 文件存储:Android使用Linux文件系统,开发人员可以建立和访问程序自身建立的是有文件,也可以访问保存在资源目录中的原始文件和XML文件,还可以将保存在TF卡等外部存储设备中。
  3. 轻量级数据库SQLite的特点:比传统数据库更适合用于嵌入式系统;占用资源少,运行高效可靠,可移植性强;提供了零配置(zero-configuration)运行模式;支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby等

匹配规则P156

  1. Android系统把所有应用程序包中的Intent过滤器集合在一起,形成一个完整的Intent过滤器列表;
  2. 在Intent与Intent过滤器进行匹配时,Android系统会将列表中所有Intent过滤器的“动作”和“类别”与Intent进行匹配,没有指定“动作”的Intent过滤器可以匹配任何的Intent,但是没有指定“类别”的Intent过滤器只能匹配没有“类别”的Intent;
  3. 把Intent数据Uri的每个子部与Intent过滤器的标签中的属性进行匹配;
  4. 如果Intent过滤器的匹配结果多于一个,则可以根据在标签中定义的优先级标签来对Intent过滤器进行排序,优先级最高的Intent过滤器将被选择。以上每步中不匹配的都将被过滤掉。

如何发送接收广播

  • sendBroadcast发送出去的Intent,对于所有满足条件的BroadcastReceiver都会执行其onReceive方法。但若有多个满足条件的

    BroadcastReceiver,其执行onReceive方法的顺序是没有保证的。

  • 使用Intent发送广播消息非常简单,只需创建一个Intent,并调用sendBroadcast()函数就可把Intent携带的信息广播出去。

  • 但需要注意的是,在构造Intent时必须定义一个全局唯一的字符串,用来标识其要执行的动作通常使用应用程序包的名称。

  • 如果要在Intent传递额外数据,可以用Intent的putExtra()方法。

广播接收器重写

创建MyBroadcastReceiver类继承 BroadcastReceiver来重写里面的OnReceiver方法代码如下

 
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
 
public class MyBroadcastReceiver extends BroadcastReceiver {
 
    static final String ACTION="android.intnet.action.BOOT_COMPLETED";
    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO: This method is called when the BroadcastReceiver is receiving
        // an Intent broadcast.
       if(intent.getAction().equals(ACTION)){
           Intent intent1=new Intent(context,MainActivity.class);
           intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 
           context.startActivity(intent1);//用来传递消息
       }
 
    }
}
  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 很高兴听到你正在进行Android移动应用开发期末大作业。这是一个非常有挑战性的任务,需要你具备扎实的编程技能和创新思维。在开发过程中,你需要考虑用户需求、界面设计、功能实现等方面,同时还要注意代码的可读性和可维护性。希望你能够认真对待这个项目,不断学习和提高自己的技能,最终开发出一个优秀的移动应用。祝你成功! ### 回答2: 这门移动应用开发课程的期末大作业要求我们使用Android平台开发一个完整的移动应用,并且要求从需求分析、UI设计、代码编写到测试上线全部自主完成。在这个过程中,我收获了很多。 首先在需求分析方面,我明白了在开发一款移动应用之前,一定需要先对用户需求进行深入的了解和分析,明确应用的定位和目标用户。只有在掌握了用户的需求和期望后,才能开发出真正实用且符合用户体验的应用。 其次在UI设计方面,我深刻体验到设计对于产品吸引用户和提高用户体验的重要性。一个简洁美观、符合人体工程学的UI设计不仅可以吸引用户使用,也能够让用户使用起来更加顺手,更加舒适。在设计过程中,我学习到了更多的配色搭配技巧和界面设计规范,不仅让我在这份大作业中的UI更加美观,也为我今后的设计工作积累了宝贵的经验。 最后在代码编写和测试过程中,我收获了更多的实践经验。从Java语言基础到Android实践技能,我逐渐领会到了应用程序设计的一些基本概念,并且掌握了更多的开发技巧和调试工具。同时,我也学会了怎样在测试环节中进行错误排除和性能优化,将应用的品质提升到更高的层次。 总的来说,这门移动应用开发课程的期末大作业对于我的成长和未来的职业发展都有着非常重要的意义。我相信,在今后的学习和工作生涯中,我一定会更好地应用课程中的知识和技能,不断提升自己的创新和实践能力。 ### 回答3: Android移动应用开发期末大作业是一项很有挑战性的任务,因为它需要我们综合应用所有学到的知识和技能,创建一款功能完善、易于使用、界面美观的应用。 在开始开发应用之前,我们需要先确定应用的主题和目标用户群体。一些常见的应用主题包括:娱乐类、社交类、教育类、商务类等。根据主题和目标用户群体的需求,我们可以选择使用哪些技术和开发工具来实现应用功能,如:UI设计、HTTP请求、数据库管理、音视频播放等。此外,我们还需要考虑应用的性能和可靠性方面的问题,如:内存管理、网络连接不稳定等。 在开发过程中,我们要按照以下步骤进行: 1.需求分析:确定应用的功能需求和用户需求。 2.设计:设计应用的UI界面、交互设计和数据库结构等。 3.编码:按照设计文档进行编程实现。 4.测试:对应用进行测试和回归测试,确保应用功能的正确性和稳定性。 5.发布:将应用上架到各大应用商店,让更多用户使用和下载。 除了以上步骤,我们还需要注重以下方面: 1.考虑应用的用户体验,保证应用的易用性和用户友好性。 2.优化应用的性能,保证应用的流畅度和响应速度。 3.考虑应用的隐私和安全性,保护用户的个人信息和隐私。 总之,Android移动应用开发期末大作业需要我们从多个方面综合应用所学知识和技术,设计和完成一款高质量、用户满意的应用。这不仅是一次学习和实践的机会,也是对我们技术能力和设计能力的考验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kdcarry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值