Android

※前提条件:本情報はAndroid Studio 1.5.1を基づいて説明してる

版本 [edit]

安卓版本API版本
Android 10API 29
Android 11API 30

Android应用程序框架 [edit]

每个应用程序其实是一组服务和系统,包括以下内容:

视图(View) [edit]

丰富的、可扩展的视图集合,用来构建应用程序。包括列表(Lists)、网格(grids)、文本框(Textboxs)、按钮(Buttons),甚至是可嵌入的网页浏览器。

内容提供器(Content Providers) [edit]

使应用程序可以访问其他应用程序(如通讯录)的数据,或共享自己的数据。

资源管理器(Resource Manager) [edit]

提供对于非代码资源的访问,如本地化字符串、图形和布局文件。

消息管理器(Notification Manager) [edit]

使得应用程序能够在状态栏显示自定义的提示信息。

活动管理器(Activity Manager) [edit]

管理应用程序的声明周期,并提供常用的导航回退功能。

一个标准的Android程序包括: [edit]

Activity [edit]

Activity是在Android应用开发中最频繁、最基本的模块。在Android中,Activity类中主要是与界面资源相关联。Android系统会自动记录从首页到其他页面的所有跳转记录并自动将以前的Activity压入系统堆栈,用户可以通过编程的方式删除历史堆栈中的Activity Instance。

Activity中文是活动的意思,它在Android里面是指一个完整的占了一个屏幕的页面(上下滑动的内容也算这个界面内的内容,所以它的概念可以理解成类似网站的一个网页一样)。Activity允许显示一些控件、视图,并可以监听处理用户的事件,做出响应等。Activity之间通过Intent通信(调用、跳转等动作)。 一个Activity实际上是一个XML文件,它可以被Android系统以可视化的界面展现。而每一个Activity都与一个Java后台程序相联系,这个Java程序可以控制这个页面的启动、展示以及数据等信息。页面上展示的内容可以通过Activity本身的xml文件配置,也可以由相联系的Java文件来控制。Activity对应哪个Java程序是通过ID进行连接的,后面会说明。

Broadcast Intent Receiver [edit]

Intent为不同的Activity之间进行跳转提供了机制,比如当从A Activity跳转到B Activity,使用Intent实现如下:

Intent in=new Intent(A.this, B.class);
startActivity(in);

BroadcastReceiver还为各种不同的Android应用程序间进行进程间通信提供了可能。

你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

除了这四个组件外,Intent也是一种非常重要的组件,它是各种组件之间通信的桥梁,可以执行很多相关的任务

Service [edit]

Service是一个没有用户界面的在后台运行执行耗时操作的应用组件。用户可以通过startService(Intent Service)启动一个Service,也可以偶同过Context.bindService来绑定一个Service。

Service是服务的意思。它是Android程序中“不可见”的部分,但是它负责更新数据源、触发通知等。它是一种没有界面的长生命周期的适合监控或者在后台运行的程序。最佳的例子是多媒体播放器。如百度百科的例子,多媒体播放器程序可能含有一个或多个Activity,用户通过这些 Activity选择并播放音乐。然而,音乐回放并不需要一个Activity来处理,因为用户可能会希望音乐一直播放下去,即使退出了播放器去执行其它程序。为了让音乐一直播放,多媒体播放器Activity可能会启动一个Service在后台播放音乐。Android系统会使音乐回放Service一直运行,即使在启动这个Service的Activity退出之后。

Android服务有两种

Content Provider [edit]

Content Provider提供了应用程序之间的数据交换机制,一个应用程序通过实现一个Content Provider的抽象接口将自己的数据暴露出区,并且隐蔽了具体的数据存储实现。

Content Provider是指内容提供器。App运行的时候需要很多外部数据作为支撑,这些数据一般由内容提供器存储、共享。比如,我们可以配置自己的Content Provider来存取其他应用程序,或者是通过其他应用程序给出的Content Provider来获取他们的数据。系统本身也提供了一些Content Provider,如联系人信息等。 这些数据可以存储在文件系统、SQLite数据库或者其他一些媒介里。


コメント:



(画像の文字列を入力して下さい)

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS