南邮安卓期末复习2021-1

// 仅粉丝可见~

复习资料:
NIIT教材
闭卷考试,试卷共4页,题型:
1、单项选择题(10道,每道2分);
2、判断题(10道,每道2分);
3、简答题(6道,每道5分);
4、编程题(4道,7+7+7+9分)
注:题目均为英文,要求回答也使用英文,不会的单词考试时可以举手提问;

基础:

安卓核心组件?安卓的key feature?哪些核心组件没有 UI 界面?

Activity Service Broadcast Content Provider

Integrated browser
Sqlite
Media support
Wireless services: bluetooth wifi
Dalvik virtual machine(DVM)
Application framework
Rich development environment

Android Architecture分为几层?每一层都有些什么内容?(尤其是下面2层要清楚)

Applications: this layer correspond to the core applications part of the software stack
Application framework: this layer along with the libraries and android runtime layer corresponds to the middleware part of the software stack
Libraries and android runtime: this layer along with the application framework layer corresponds to the middleware part of the software stack
Libraries:
OpenGL ES
Meida framework
Surface manager
Sqlite
WebKit
libc
android runtime:
core libraries
DVM
Linux kernel: correspond to the operating system part of the android software stack
Display driver
wifi driver
camera driver
power management
flash memory driver
binder driver
keypad driver
audio drivers

安卓用什么数据库?有什么特点?

Sqlite
Open-src
standard
Light
Single-tier
No server
Loose-type
App-process

安卓应用开发是基于什么语言的?安卓App运行的Java虚拟机简称是什么?

Java and C++
DVM(Dalvik virtual machine)

R.java 是什么文件?干什么用的?

Files saved in res directory will be compiled and given resource ID, which will be saved in R.java file. We can access resources in the res directory by R.java

安卓的UI用户点击后,运行哪一个事件处理器?

Interface: View.OnClickListener method: OnClick(view)
side_tip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawerLayout.openDrawer(navigationView);
}
});

Intent 有几个组件?各是干什么用的?哪些组件是必须存在的,哪些是可选的,在Manifest中 intent filter 是如何声明的?

Component name: specify a fully qualified class name of the target component
Action: the action that needs to be performed
Data: the data to operate on
Category: the behavior of the target app component
Extras: extra information in the form of key-value pairs that must be delivered to the components that handle the intent
Flags: flags that control various aspects related to activating a new component

In the , is mandatory, and are optional

Activity的生命周期有哪些状态?状态转换时调用的方法各是什么?

书上图片
Running stopped paused

安卓日志类 Log有哪些方法?各用于什么输出什么信息?

Log.e(): errors
Log.w(): warnings
Log.i(): info
Log.d(): debug
Log.v(): verbose

是什么?做什么用的?

A label that represents a permission action in AndoridManifest.xml
Declare the permissions required by the android application

核心机制:

什么是SharedPreference,支持存放哪些类型的数据?

Shared preferences are lightweight mechanism used to store key-value pairs of primitive data types
Boolean,Float,Int,Long,String

什么是Content Provider,创建一个Content Provider的大致步骤是什么?里面的联系人 URI 形式是什么样的?

Content provider can store and retrieve data making it accessible to all apps

  1. Create a custom content provider
  2. Specify the URI of a content provider
  3. Implement query handling methods
  4. Access the data exposed by a content provider
  5. Handle requests for the MIME type of data
  6. Register a custom content provider

public static final Uri CONTENT_URI = Uri.parse(“content://.provider./

/”);

什么是Broadcast Receiver,创建它需要重写哪些方法?

Broadcast receiver is a component of an app that responds to system-wide broadcast announcements

onReceive()

什么是Intent、Intent Filter,一般用来做什么?

Intent is a message used to activate app components, pass data between app components
Intent filter is used to filter implicit intent, if a match is found in action, data and category, the intent is delivered to the component that owns the filter

什么是Service,Service有哪些状态?一般用来承担什么功能?

A service is an app component that doesn`t have UI and can perform long-running operations in the background

Started service: upload file
书上图片
Bound service: music player
书上图片

Broadcast有哪几种?区别?

Normal broadcasts: broadcasts are sent to all interested receivers at the same time and receivers run in an undefined order
Ordered broadcasts: broadcasts are sent to all interested receivers in a proper order. When a receiver receives a broadcast, it can either propagate the broadcast to the next or it can abort the broadcast

LogCat 是做什么用的?

The logcat enables to monitor app`s log output on the simulator. Developer can examine these logs to debug app.

IO:

安卓原生支持几种IO机制?各自有什么特点?哪些是可以public访问的?

Sqlite database: 见上
Internal storage: data be stored is small and can be stored in files instead of a database
External storage: it provide a large capacity that allow user to store
Shared preference: it allows to retrieve persistent key-value pairs of primitive data types
Remote location: it can update frequently from the web and send it to the application

Internal storage
Remote location

卸载安卓App,该App在internal storage 里的内容会被自动删除吗?

yes

安卓原生的content provider有哪些?

Browser
Contacts
Call log
Media store
setting

判断SD卡是否可用,用什么方法?

if ( Environment.MEDIA_MOUNTED.equals(Enviroment.getExternalStorageState()) )

Shared Preferences 是什么?有什么用?

1)Shared preferences are a lightweight mechanism used to store key-value pairs of primitive
data types
2)Shared Preference are an ideal preferences.They are most frequently used to persist data
across user sessions and to share settings between application components

要从远端URL播放多媒体文件用什么stream?

http stream

创建一个安卓数据库都有哪些途径?

1)Creating a database programmatically
2)Creating a database through shell commands

MediaPlayer 是什么?包含哪些内容?

Mediaplayer is the android multimedia framework. It can fetch, decode, play audio and video stored in local resources, internal URIs, external URLs

UI:

View类 与普通控件的 区别是什么?

The view class is the base class for all normal controls

Activity 运行以后,哪个方法 负责 将外观与Activity 关联起来?

setContentView(R.layout.activity_main);

安卓内建的theme有哪些?

1)Theme.Black
2)Theme.Light
3)Theme.Translucent
4)Theme.Dialog
5)Theme.Holo