您的位置首页>硬件>

Android手机天气预报系统设计及实现

导读大家好,我是极客范的本期栏目编辑小友,现在为大家讲解Android手机天气预报系统设计及实现问题。安卓系统是谷歌开发的开源手机操作系统,

大家好,我是极客范的本期栏目编辑小友,现在为大家讲解Android手机天气预报系统设计及实现问题。

安卓系统是谷歌开发的开源手机操作系统,包括操作系统、用户界面和应用程序,即智能手机工作所需的所有软件。安卓最大的特点就是开放的架构,不仅有非常好的开发调试环境,而且有各种可扩展的设施,包括丰富的图形组件、多媒体支持功能和强大的浏览器,有很多成熟的应用案例。

本文提出了一种智能手机天气预报系统的设计和实现方法,供开发者参考。

1安卓应用程序设计原则。

一个安卓应用程序通常由四个功能组件组成:AcTIvity、Intent Receiver、Service和CONtent Provider。然而,并不是每个安卓应用都需要这四个功能组件,而只是这四个功能组件的一些组合。

1.1 AcTIvity

AcTIvity是最基本的安卓应用组件。大多数应用程序由多个屏幕组成,一个ActIon通常是一个屏幕。每个活动都作为一个独立的类实现,并从活动基类继承。活动类将显示由视图控件组成的用户界面,并对事件做出响应。安卓使用特殊的“意图”类在屏幕之间移动。通过分析各种意图,很容易从一个屏幕导航到另一个屏幕。当向前导航时,活动将调用STartActivity(意图我的意图)方法,然后,系统将在所有已安装的应用程序中定义的IntentFilter中搜索,并找到最匹配我的意图并对应于意图的活动。新活动将在收到我的意向通知后开始运行。当调用startActivity方法时,将触发解析我的意图的操作。这种机制有两个优点:第一,它可以重用来自其他组件的以意向形式生成的请求;第二,活动可以随时被具有相同意图过滤器的新活动替换。

1.2意向接收方

意图接收器实现的应用程序可以响应外部事件。意图接收器在AndroidManifest.xml中注册,或者可以通过使用Context.registerReceiver()在代码中注册。当意图接收器被触发时,应用程序不需要为请求调用意图接收器,系统将在必要时启动应用程序。各种应用程序也可以使用上下文。

BrOAdcastIntent()将自己的意图接收器广播给其他应用程序。

1.3服务

服务是一个长生命周期的程序,没有用户界面。例如,媒体播放器的Activity将使用Context.startService()启动一个服务,这样就可以在后台播放音乐。同时,系统将保持此服务运行,直到服务运行。系统可以使用Context.bindService()方法连接到服务(如果服务没有运行,它将被启动)。连接到服务后,您还可以使用该服务提供的接口与其通信。就媒体播放器而言,也可以执行暂停和重放等操作。

1.4内容提供商

安卓应用程序可以将其数据保存到文件、SQL数据库甚至任何有效的设备中。内容提供商实现与其他应用程序共享应用程序数据。内容提供程序类实现了一组标准方法,使其他应用程序能够保存或读取由该内容提供程序处理的各种类型的数据。在安卓系统中,默认使用SQLite作为系统数据库,但使用方法略有不同。安卓系统中的每个应用程序都在自己的进程中运行。访问其他应用程序的数据时,需要在不同的虚拟机之间传输数据,操作起来比较困难(正常情况下,无法读取其他应用程序的数据库文件)。ContentProvider是一个在不同应用程序包之间共享数据的工具。

安卓系统是谷歌开发的开源手机操作系统,包括操作系统、用户界面和应用程序,即智能手机工作所需的所有软件。安卓最大的特点就是开放的架构,不仅有非常好的开发调试环境,而且有各种可扩展的设施,包括丰富的图形组件、多媒体支持功能和强大的浏览器,有很多成熟的应用案例。

本文提出了一种智能手机天气预报系统的设计和实现方法,供开发者参考。

1安卓应用程序设计原则。

一个安卓应用程序通常由四个功能组件组成:AcTIvity、Intent Receiver、Service和CONtent Provider。然而,并不是每个安卓应用都需要使用这四个功能。

能组件,而是只需上述四种功能组件的某些组合。

  1.1 AcTIvity

  AcTIvity 是最基本的Android 应用程序组件。大多数应用由多个屏幕组成,一个AcTIvity 通常则是一个单独的屏幕。每一个Activity 都被实现为一个独立的类,并且从Activity 基类中继承而来。Activity 类将会显示由视图控件组成的用户接口,并对事件做出响应。Android 使用Intent 这个特殊类,实现在屏幕与屏幕之间移动。通过解析各种Intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,Activity 将会调用STartActivity(Intent myIntent)方法,然后,系统会在所有安装的应用程序中所定义的IntentFilter 中查找,找到最匹配myIntent的和Intent 对应的Activity.新的Activity 接收到myIntent 的通知后,开始运行。当startActivity 方法被调用时将触发解析myIntent 的动作。这个机制具有两点优势:一是能够重复利用从其他组件中以Intent 形式产生的一个请求;二是Activity 可以在任何时候被一个具有相同IntentFilter 的新Activity 取代。

  1.2 Intent Receiver

  通过Intent Receiver 实现的应用能够对一个外部的事件作出响应。Intent Receiver 在AndroidManifest.xml 中注册,也可以在代码中使用Context.registerReceiver()进行注册。当一个IntentReceiver 被触发时,应用不必对请求调用Intent Receiver,系统会在需要的时候启动应用。各种应用还可以通过使用Context.

  brOAdcastIntent()将它们自己的Intent Receiver广播给其他应用程序。

  1.3 Service

  Service 是一段长生命周期的、没有用户界面的程序。例如媒体播放器这个Activity 会使用Context.startService()来启动一个Service,从而可以在后台播放音乐。同时,系统也将保持这个Service 一直执行,直到Service 运行结束。系统可通过使用Context.bindService()方法,连接到一个Service 上(如果这个Service 还没有运行将启动它)。当连接到一个Service 之后,还可以利用Service 提供的接口与它通信。就媒体播放器来说,还可以进行暂停、重播等操作。

  1.4 Content Provider

  Android 应用程序能够将它们的数据保存到文件、SQL 数据库,甚至是任何有效的设备中。Content Provider 实现了应用数据与其他的应用程序的共享。Content Provider 类实现一组标准的方法,能够让其他应用程序保存或读取此ContentProvider处理的各种类型数据。在Android 中,默认使用SQLite 作为系统数据库,但使用方法略有不同。Android 中每一个应用程序都运行在各自的进程中,当访问其他应用程序的数据时,需要在不同的虚拟机之间传递数据,这样操作起来会有些困难(正常情况下,不能读取其他应用程序的数据库文件)。ContentProvider 正是解决不同的应用包共享数据的工具。

   技术专区 利用电容传感技术进行液位测量的解决方案工业4.0重新带动西方制造业 或将扭转全球化趋势电缆故障检测方法用LM339制作水位计 基于EWB的测温电路设计原理分析以及其优势

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。