安卓API-Application Fundamentals中文翻译
【Android开发API】应用的组成部分-应用的基本原理
原文地址:/guide/topics/fundamentals.html应用基础-Application FundamentalsAndroid应用程序以java作为开发语言。
用Android SDK提供的工具,可以将应用程序所需要的数据和资源文件打包到一个android包文件中,这个文件用.apk作为扩展名。
所有代码都在单个.apk文件中,当成一个应用,这个文件就是通常安装在Android设备中的应用.一旦安装到了一个设备,每个应用生存在它自己的安全沙箱中。
一个Android系统是一个多用户的Linux系统,其中的每个应用都是一个不同的用户。
默认情况下,系统给每个应用分配一个独立的Linux用户ID(这个ID只由系统使用并且对应用来说是不可知的),系统给在某个应用中的所有文件设置了权限,所以只有分配了那个用户ID的应用才能访问它们每个进程拥有它自己的虚拟机,所以一个应用代码的运行,与其他应用代码的运行是隔离的.默认情况下,每个应用程序均运行于它自己的Linux进程中。
当应用程序中的任意代码开始执行时,Android启动一个进程,而当不再需要此进程而其它应用程序又需要系统资源时,则关闭这个进程。
通过这种方法,Android系统实现了最小特权原则。
默认,每个应用仅仅访问需要工作的组件,并不多做其他的事。
这样创建了一个非常安全的环境,应用不能访问系统没有授权的其他部分.然而,应用可以有多种方法来与其他应用,共享数据及访问系统服务:有可能安排两个应用共用一个linux系统ID,在那种情况下,它们能互相访问相互的数据。
为了节约系统资源,拥用相同用户ID的应用,可能也被安排运行在同一个Linux进程中并共享相同的VM(应用必须被签名成同样的认证)。
所用应用能请求允许访问硬件数据,比如像用户通信录,SMS消息及可挂载的存储设备(SD card),摄像头,蓝牙等,所有应用的权限必须在用户安装时被许可。
上述了一个应用怎样存在于一个系统中的相关基本概念,这个文档的其他部分将向你介绍如下内容:定义在你的应用中核心框架组件在manifest中,给你的应用,声明组件及设备特点请求独立于应用代码的资源,可以让你的应用极大的优化它在各种配置设备的表现应用组件-Application Components应用组件是构建Android应用程序的关键和基石。
fundamentals翻译
fundamentals翻译fundamentals的中文翻译是"基础"或"基本原理"。
它指的是任何学科、领域或事物的基本概念、原理和技能。
下面是一些关于fundamentals的用法和中英文对照例句:1. Understanding the fundamentals of mathematics is essential for solving complex problems.理解数学的基础原理对于解决复杂问题至关重要。
2. The fundamentals of physics explain the laws that govern the behavior of the universe.物理学的基本原理解释了统治宇宙行为的定律。
3. Before learning advanced techniques, it is important to master the fundamentals of playing a musical instrument.在学习高级技巧之前,掌握乐器演奏的基本技能是很重要的。
4. The fundamentals of economics include supply and demand, production, and consumption.经济学的基本原理包括供求关系、生产和消费。
5. Building a strong foundation in language fundamentals is crucial for effective communication.在语言基础上建立坚实的基础对于有效沟通至关重要。
6. The fundamentals of programming involve understanding algorithms, data structures, and coding languages.编程的基础包括理解算法、数据结构和编程语言。
android开发 术语定义
android开发术语定义什么是Android开发?Android是一种基于Linux内核的开源操作系统,主要用于移动设备和平板电脑。
它提供了丰富的应用开发工具和框架,使开发者能够快速构建功能丰富的移动应用程序。
Android开发是指使用Android平台的SDK(Software Development Kit)来创建和开发Android应用程序的过程。
Android开发术语定义1. SDK(Software Development Kit):软件开发工具包,包含了一系列开发应用程序所需的工具、库及文档。
Android SDK提供了开发Android应用所需的所有工具和资源。
2. API(Application Programming Interface):应用程序接口,指的是Android提供的一组接口、协议和工具,用于开发Android应用程序。
3. IDE(Integrated Development Environment):集成开发环境,是一个用于开发、调试和测试应用程序的软件工具。
Android开发中最常用的IDE是Android Studio。
4. XML(eXtensible Markup Language):可扩展标记语言,用于定义数据的规则和结构。
在Android开发中,XML通常用于定义用户界面(UI)布局和应用程序的配置信息。
5. UI(User Interface):用户界面,是用户与应用程序交互的界面。
在Android开发中,UI通常由各种视图(View)和布局(Layout)组成。
6. Activity:活动,是Android应用程序的基本单元之一。
一个应用程序通常包含多个Activity,每个Activity表示一个用户界面和与用户的交互。
7. Intent:意图,用于在不同组件(如Activity、Service和Broadcast Receiver)之间传递数据和触发操作。
常用软件词汇中英文对照
常用软件词汇中英文对照英文: access中文: 访问英文: click中文: 单击英文: code中文: 代码英文: Combo box中文: 组合框英文: command中文: 命令英文: container中文: 容器英文: control中文: 控件英文: database中文: 数据库英文: Destination folder 中文: 目标文件夹英文: display中文: 显示英文: document.中文: 文档英文: double-click中文: 双击英文: drop-down中文: 下拉列表英文: editor中文: 编辑器英文: export英文: field中文: 字段英文: file中文: 文件英文: folder中文: 文件夹英文: form中文: 窗体英文: form中文: 窗体英文: format 中文: 格式英文: header 中文: 标题英文: install中文: 安装英文: macro中文: 宏英文: menu中文: 菜单英文: options 中文: 选项英文: prompt 中文: 提示英文: property 中文: 属性英文: query中文: 查询中文: 报表英文: right-click 中文: 右键单击英文: Run mode 中文: 运行模式英文: Save as中文: 另存为英文: speech中文: 语音英文: start-up 中文: 启动英文: subform 中文: 子窗体英文: tab中文: 选项卡英文: tool中文: 工具英文: toolbar中文: 工具栏英文: transform 中文: 转换英文: undo中文: 撤消英文: utility中文: 实用工具英文: view中文: 视图英文: voice中文: 声音英文: wizard中文: 向导英文: tab中文: 标签英文: syntax中文: 语法英文: convert 中文: 转换英文: database 中文: 数据库英文: utilities 中文: 实用工具英文: category 中文: 类别英文: tag中文: 标记英文: pane中文: 窗格。
Android—API中文文档
Android2.2——API中文文档一、TextView (1)二、EditText (4)三、AccessibilityService (9)四、Mainfest (10)五、View (15)六、ImagesView (23)七、ImageButton (25)八、QuickContactBadge (27)九、ZoomButton (28)十、CheckBox (30)十一、RadioButton (30)十二、Button (31)十三、ToggleButton (33)十四、ViewStub (35)十五、GridView (38)一、TextView1、结构ng.Object↳android.view.View↳android.widget.TextView2、已知直接子类:Button, CheckedTextView, Chronometer, DigitalClock, EditText3、已知间接子类:AutoCompleteTextView, CheckBox, CompoundButton, ExtractEditText, MultiAutoCompleteTextView, RadioButton, ToggleButton4、XML属性属性名称描述android:autoLink 设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。
可选值(none/web/email/phone/map/all)android:autoT ext 如果设置,将自动执行输入值的拼写纠正。
此处无效果,在显示输入法并输入的时候起作用。
android:bufferType 指定getText()方式取得的文本类别。
选项editable 类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。
spannable 则可在给定的字符区域使用样式,参见这里1、这里2。
app汇报专业术语
app汇报专业术语作为一名程序员或者IT从业人员,专业术语对于我们来说是必不可少的,接下来我们来汇报一些常用的app开发专业术语。
1. 应用程序:Application Program,简称为APP。
2. 应用程序接口:Application Programming Interface,简称API,同时也是APP与操作系统之间的接口。
3. 开发:Development,指APP的设计、编码、测试和发布等过程。
4. 软件开发工具:Software Development Tools,简称SDT,是开发者编写、测试和部署APP所需的各种工具。
5. 留存率:Retention Rate,指用户再次打开APP的概率,通常通过算法来衡量。
6. 技术升级:Upgrade,指随着技术的发展,更新、替换旧有技术的过程。
7. 前端:Front-end,是指APP上用户直接看到和操作的界面。
8. 后端:Back-end,是指APP的背后运行的服务器和数据库等核心组件。
9. 云服务:Cloud Service,是指开发者将APP上传到云服务器上,用户便可以随时随地访问。
10. 平台:Platform,指APP的运行环境,如苹果、安卓、网页等。
11. 稳定性:Stability,指APP在运行过程中不出现崩溃等异常情况。
12. 感知度:Perception,指用户对APP的印象和感受,包括外观、功能、交互等方面。
13. 用户体验:User Experience,简称为UE,是指用户在使用APP时的感受和体验。
14. 订阅:Subscription,指用户按照一定规则定期支付一定费用来获得APP的使用权。
15. 尝试:Trial,指用户免费体验APP一定时间后,需要付费才能继续使用。
16. 销售渠道:Channel,是指开发者将APP通过网络、广告、应用商店等渠道推广给用户。
17. 市场个性化:Personalization,指为不同的用户提供不同的APP服务、广告等,以满足用户的需求。
外文翻译-Android-Application-Fundamentals
Android Application FundamentalsAndroid applications are written in the Java programming language. The Android SDK tools compile the code—along with any data and resource files—into an Android package, an archive file with an .apk suffix. All the code in a single .apk file is considered to be one application and is the file that Android-powered devices use to install the application.Once installed on a device, each Android application lives in its own security sandbox:•The Android operating system is a multi-user Linux system in which each application is a different user.•By default, the system assigns each application a unique Linux user ID (the ID is used only by the system and is unknown to the application). The system sets permissions for all the files in an application so that only the user ID assigned to that application can access them.•Each process has its own virtual machine (VM), so an application's code runs in isolation from other applications.•By default, every application runs in its own Linux process.Android starts the process when any of the application'scomponents need to be executed, then shuts down the process when it's no longer needed or when the system must recover memory for other applications.In this way, the Android system implements the principle of least privilege. That is, each application, by default, has access only to the components that it requires to do its work and no more. This creates a very secure environment in which an application cannot access parts of the system for which it is not given permission.However, there are ways for an application to share data with other applications and for an application to access system services:•It's possible to arrange for two applications to share the same Linux user ID, in which case they are able to access each other's files. To conserve system resources, applications with the same user ID can also arrange to run in the same Linux process and share the same VM (the applications must also be signed with the same certificate).•An application can request permission to access device data such as the user's contacts, SMS messages, the mountable storage (SDcard), camera, Bluetooth, and more. All application permissions must be granted by the user at install time.That covers the basics regarding how an Android application exists within the system. The rest of this document introduces you to:•The core framework components that define your application. •The manifest file in which you declare components and required device features for your application.•Resources that are separate from the application code and allow your application to gracefully optimize its behavior for a variety of device configurations.Application ComponentsApplication components are the essential building blocks of an Android application. Each component is a different point through which the system can enter your application. Not all components are actual entry points for the user and some depend on each other, but each one exists as its own entity and plays a specific role—each one is a unique building block that helps define your application's overall behavior.There are four different types of application components. Each type serves a distinct purpose and has a distinct lifecycle that defines how the component is created and destroyed.Here are the four types of application components:ActivitiesAn activity represents a single screen with a user interface. For example, an email application might have one activity that showsa list of new emails, another activity to compose an email, andanother activity for reading emails. Although the activities work together to form a cohesive user experience in the emailapplication, each one is independent of the others. As such, a different application can start any one of these activities (if the email application allows it). For example, a camera application can start the activity in the email application that composes new mail, in order for the user to share a picture.An activity is implemented as a subclass of Activity and you can learn more about it in the Activities developer guide.ServicesA service is a component that runs in the background to performlong-running operations or to perform work for remote processes.A service does not provide a user interface. For example, a servicemight play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity. Another component, such as an activity, can start the service and let it run or bind to it in order to interact with it.A service is implemented as a subclass of Service and you can learnmore about it in the Services developer guide.Content providersA content provider manages a shared set of application data. Youcan store the data in the file system, an SQLite database, on the web, or any other persistent storage location your application can access. Through the content provider, other applications can query or even modify the data (if the content provider allows it). For example, the Android system provides a content provider that manages the user's contact information. As such, any application with the proper permissions can query part of the content provider (such as ContactsContract.Data) to read and write information about a particular person.Content providers are also useful for reading and writing data that is private to your application and not shared. For example, the Note Pad sample application uses a content provider to save notes.A content provider is implemented as a subclass of ContentProviderand must implement a standard set of APIs that enable other applications to perform transactions. For more information, see the Content Providers developer guide.Broadcast receiversA broadcast receiver is a component that responds to system-widebroadcast announcements. Many broadcasts originate from the system—for example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was captured.Applications can also initiate broadcasts—for example, to let other applications know that some data has been downloaded to the device and is available for them to use. Although broadcast receivers don't display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs.More commonly, though, a broadcast receiver is just a "gateway"to other components and is intended to do a very minimal amount of work. For instance, it might initiate a service to perform some work based on the event.A broadcast receiver is implemented as a subclass ofBroadcastReceiver and each broadcast is delivered as an Intent object. For more information, see the BroadcastReceiver class.A unique aspect of the Android system design is that any application can start another application’s component. For example, if you want the user to capture a photo with the device camera, there's probably another application that does that and your application can use it, instead of developing an activity to capture a photo yourself. You don't need to incorporate or even link to the code from the camera application. Instead, you can simply start the activity in the camera application that captures a photo. When complete, the photo is even returned to your application so you can use it. To the user, it seems as if the camera is actually a part of your application.When the system starts a component, it starts the process for that application (if it's not already running) and instantiates the classes needed for the component. For example, if your application starts the activity in the camera application that captures a photo, that activity runs in the process that belongs to the camera application, not in your application's process. Therefore, unlike applications on most other systems, Android applications don't have a single entry point (there's no main() function, for example).Because the system runs each application in a separate process with file permissions that restrict access to other applications, your application cannot directly activate a component from another application. The Android system, however, can. So, to activate a component in another application, you must deliver a message to the system that specifies your intent to start a particular component. The system then activates the component for you.Activating ComponentsThree of the four component types—activities, services, and broadcast receivers—are activated by an asynchronous message called an intent. Intents bind individual components to each other at runtime (you can think of them as the messengers that request an action fromother components), whether the component belongs to your application or another.An intent is created with an Intent object, which defines a message to activate either a specific component or a specific type of component—an intent can be either explicit or implicit, respectively.For activities and services, an intent defines the action to perform (for example, to "view" or "send" something) and may specify the URI of the data to act on (among other things that the component being started might need to know). For example, an intent might convey a request for an activity to show an image or to open a web page. In some cases, you can start an activity to receive a result, in which case, the activity also returns the result in an Intent(for example, you can issue an intent to let the user pick a personal contact and have it returned to you—the return intent includes a URI pointing to the chosen contact).For broadcast receivers, the intent simply defines the announcement being broadcast (for example, a broadcast to indicate the device battery is low includes only a known action string that indicates "battery is low").The other component type, content provider, is not activated by intents. Rather, it is activated when targeted by a request from a ContentResolver. The content resolver handles all direct transactions with the content provider so that the component that's performing transactions with the provider doesn't need to and instead calls methods on the ContentResolver object. This leaves a layer of abstraction between the content provider and the component requesting information (for security).There are separate methods for activating each type of component: •You can start an activity (or give it something new to do) bypassing an Intent to startActivity()or startActivityForResult() (when you want the activity to return a result).•You can start a service (or give new instructions to an ongoing service) by passing an Intent to startService(). Or you can bind to the service by passing an Intent to bindService().•You can initiate a broadcast by passing an Intent to methods like sendBroadcast(), sendOrderedBroadcast(), orsendStickyBroadcast().•You can perform a query to a content provider by calling query() on a ContentResolver.For more information about using intents, see the Intents and Intent Filters document. More information about activating specific components is also provided in the following documents: Activities, Services, BroadcastReceiver and Content Providers.The Manifest FileBefore the Android system can start an application component, the system must know that the component exists by reading the application's AndroidManifest.xml file (the "manifest" file). Your application must declare all its components in this file, which must be at the root of the application project directory.The manifest does a number of things in addition to declaring the application's components, such as:•Identify any user permissions the application requires, such as Internet access or read-access to the user's contacts. •Declare the minimum API Level required by the application, based on which APIs the application uses.•Declare hardware and software features used or required by the application, such as a camera, bluetooth services, or a multitouch screen.•API libraries the application needs to be linked against (other than the Android framework APIs), such as the Google Maps library. •And moreDeclaring componentsThe primary task of the manifest is to inform the system about the application's components. For example, a manifest file can declare an activity as follows:<?xml version="1.0" encoding="utf-8"?><manifest ... ><application android:icon="@drawable/app_icon.png" ... > <activityandroid:name="com.example.project.ExampleActivity"android:label="@string/example_label" ... > </activity>...</application></manifest>In the <application> element, the android:icon attribute points to resources for an icon that identifies the application.In the <activity> element, the android:name attribute specifies the fully qualified class name of the Activity subclass and the android:label attributes specifies a string to use as the user-visible label for the activity.You must declare all application components this way:•<activity> elements for activities•<service> elements for services•<receiver> elements for broadcast receivers•<provider> elements for content providersActivities, services, and content providers that you include in your source but do not declare in the manifest are not visible to the system and, consequently, can never run. However, broadcast receivers can be either declared in the manifest or created dynamically in code (as BroadcastReceiver objects) and registered with the system by calling registerReceiver().For more about how to structure the manifest file for your application, see The AndroidManifest.xml File documentation.Declaring component capabilitiesAs discussed above, in Activating Components, you can use an Intent to start activities, services, and broadcast receivers. You can do so by explicitly naming the target component (using the component class name) in the intent. However, the real power of intents lies in the concept of intent actions. With intent actions, you simply describe the type of action you want to perform (and optionally, the data upon which you’d like to perform the action) and allow the system to find a component on the device that can perform the action and start it. If there are multiple components that can perform the action described by the intent, then the user selects which one to use.The way the system identifies the components that can respond to an intent is by comparing the intent received to the intent filters provided in the manifest file of other applications on the device.When you declare a component in your application's manifest, you can optionally include intent filters that declare the capabilities of the component so it can respond to intents from other applications. You can declare an intent filter for your component by adding an <intent-filter> element as a child of the component's declaration element.For example, an email application with an activity for composing a new email might declare an intent filter in its manifest entry to respond to "send" intents (in order to send email). An activity in your application can then create an intent with the “send” action (ACTION_SEND), which the system matches to the email application’s “send” activity and launches it when you invoke the intent with startActivity().For more about creating intent filters, see the Intents and Intent Filters document.Declaring application requirementsThere are a variety of devices powered by Android and not all of them provide the same features and capabilities. In order to prevent your application from being installed on devices that lack features needed by your application, it's important that you clearly define a profile for the types of devices your application supports by declaring device and software requirements in your manifest file. Most of these declarations are informational only and the system does not read them, but external services such as Google Play do read them in order to provide filtering for users when they search for applications from their device.For example, if your application requires a camera and uses APIs introduced in Android 2.1 (API Level 7), you should declare these as requirements in your manifest file. That way, devices that do not have a camera and have an Android version lower than 2.1 cannot install your application from Google Play.However, you can also declare that your application uses the camera, but does not require it. In that case, your application must perform a check at runtime to determine if the device has a camera and disable any features that use the camera if one is not available.Here are some of the important device characteristics that you should consider as you design and develop your application:Screen size and densityIn order to categorize devices by their screen type, Android defines two characteristics for each device: screen size (the physical dimensions of the screen) and screen density (the physical density of the pixels on the screen, or dpi—dots per inch). To simplify all the different types of screen configurations, the Android system generalizes them into select groups that make them easier to target.The screen sizes are: small, normal, large, and extra large.The screen densities are: low density, medium density, high density, and extra high density.By default, your application is compatible with all screen sizes and densities, because the Android system makes the appropriate adjustments to your UI layout and image resources. However, you should create specialized layouts for certain screen sizes and provide specialized images for certain densities, usingalternative layout resources, and by declaring in your manifest exactly which screen sizes your application supports with the <supports-screens> element.For more information, see the Supporting Multiple Screensdocument.Input configurationsMany devices provide a different type of user input mechanism, such as a hardware keyboard, a trackball, or a five-way navigation pad.If your application requires a particular kind of input hardware, then you should declare it in your manifest with the<uses-configuration> element. However, it is rare that anapplication should require a certain input configuration.Device featuresThere are many hardware and software features that may or may not exist on a given Android-powered device, such as a camera, a light sensor, bluetooth, a certain version of OpenGL, or the fidelity of the touchscreen. You should never assume that a certain feature is available on all Android-powered devices (other than theavailability of the standard Android library), so you should declare any features used by your application with the<uses-feature> element.Platform VersionDifferent Android-powered devices often run different versions of the Android platform, such as Android 1.6 or Android 2.3. Each successive version often includes additional APIs not available in the previous version. In order to indicate which set of APIs are available, each platform version specifies an API Level (for example, Android 1.0 is API Level 1 and Android 2.3 is API Level9). If you use any APIs that were added to the platform after version1.0, you should declare the minimum API Level in which those APIswere introduced using the <uses-sdk> element.It's important that you declare all such requirements for your application, because, when you distribute your application on Google Play, the store uses these declarations to filter which applications are available on each device. As such, your application should be available only to devices that meet all your application requirements.For more information about how Google Play filters applications based on these (and other) requirements, see the Filters on Google Play document.Application ResourcesAn Android application is composed of more than just code—it requires resources that are separate from the source code, such as images, audio files, and anything relating to the visual presentation of the application. For example, you should define animations, menus, styles, colors, and the layout of activity user interfaces with XML files. Using application resources makes it easy to update various characteristics of your application without modifying code and—by providing sets of alternative resources—enables you to optimize your application for a variety of device configurations (such as different languages and screen sizes).For every resource that you include in your Android project, the SDK build tools define a unique integer ID, which you can use to reference the resource from your application code or from other resources defined in XML. For example, if your application contains an image file named logo.png (saved in the res/drawable/ directory), the SDK tools generate a resource ID named R.drawable.logo, which you can use to reference the image and insert it in your user interface.One of the most important aspects of providing resources separate from your source code is the ability for you to provide alternativeresources for different device configurations. For example, by defining UI strings in XML, you can translate the strings into other languages and save those strings in separate files. Then, based on a language qualifier that you append to the resource directory's name (such as res/values-fr/ for French string values) and the user's language setting, the Android system applies the appropriate language strings to your UI.Android supports many different qualifiers for your alternative resources. The qualifier is a short string that you include in the name of your resource directories in order to define the device configuration for which those resources should be used. As another example, you should often create different layouts for your activities, depending on the device's screen orientation and size. For example, when the device screen is in portrait orientation (tall), you might want a layout with buttons to be vertical, but when the screen is in landscape orientation (wide), the buttons should be aligned horizontally. To change the layout depending on the orientation, you can define two different layouts and apply the appropriate qualifier to each layout's directory name. Then, the system automatically applies the appropriate layout depending on the current device orientation.For more about the different kinds of resources you can include in your application and how to create alternative resources for various device configurations, see the Application Resources developer guide.Android应用基础在Java编程语言编写的Android应用程序的Android的SDK工具编译代码以及与任何数据和到一个Android的包,一个归档文件档案资源的.apk后缀,所有的在一个单一的代码.apk文件被认为是一个应用程序,是Android 的文件,供电设备来安装应用程序。
移动应用开发中的常用API介绍
移动应用开发中的常用API介绍随着移动设备的普及和技术的发展,移动应用开发已成为当今互联网的热门领域之一。
开发人员在实现各种功能时,常常需要借助一些API(Application Programming Interface,应用程序编程接口)来实现。
不同的API提供了不同的功能和服务,为开发人员带来了极大的便利。
本文将介绍一些常见的移动应用开发中常用的API。
一、地图API地图API是移动应用开发中常使用的一类API。
通过使用地图API,开发人员可以在自己的应用中嵌入地图,实现定位、导航、搜索等功能。
目前,谷歌地图API、百度地图API等是最常用的地图API之一。
开发人员可以通过调用这些API提供的接口,获取地理位置信息,并且在应用中展示地图。
地图API还支持路线规划、POI搜索等功能,极大地方便了用户的导航和位置服务需求。
二、社交媒体API在移动应用开发中,社交媒体API也是应用广泛的一类API。
Facebook、Twitter、微信等社交平台提供了API,供开发者使用。
通过这些API,开发人员可以实现用户在应用中直接登录社交媒体账号、发布动态、分享内容等功能,将应用与社交平台紧密连接,提升用户体验和应用的传播力。
三、支付API移动应用中支付功能是必不可少的一部分。
支付API包括支付宝、微信支付等,为开发人员提供了移动支付的能力。
通过支付API,开发人员可以实现应用内购买、一键支付等功能,为用户提供便捷安全的支付方式。
支付API的接入通常需要通过开放平台的认证和配置,确保安全可靠。
四、推送通知API推送通知API是移动应用开发中非常重要的一类API。
通过推送通知API,应用可以向用户发送通知、消息等。
苹果的APNs(Apple Push Notification Service)和安卓的FCM(Firebase Cloud Messaging)是常用的推送通知API。
开发人员可以借助这些API,实现向用户发送及时消息、提醒等功能,增加用户参与度和留存率。
安卓内置APK程序中英文对照表-方便大家给系统瘦身
*Accountprovider 账号管理器ApkManager.apk APK安装器(即N多安装器)advancedsettings.apk 高级设置AlarmClock 闹钟AndroidSyncService 系统同步服务AndroidUI 索尼爱立信X10UI界面程序appinstaller.apk app安装器*ApplicationsProvider 程序管理器AutoSettingDispatcher 自动设置修补bootinfo 启动信息Bluetooth.apk 蓝牙(删了就没有蓝牙了)Browser 自带浏览器Bugreport.apk Bug报告btoppservice 蓝牙设置服务Calculator 系统自带计算器Calendar 系统自带日历程序CalendarProvider 系统自带日历管理器*Camera 系统自带相机CapabilitySetupReceiver 接收器安装能力*CertInstaller.apk 证书服务CdfInfoAccessor CDF信息访问器*Contacts 联系人储存CredMgrService CredMgr服务*DefaultContainerService.apk 默认通讯录服务DeskClock.apk 自带闹钟(用第三方闹钟的可删)DigitalClock 数字时钟*DownloadProvider 下载管理器*DrmProvider DRM信息管理器SPManager.apk DSP音频管理(兴哥集成在设置里面,我不太使用这个,删了EMAIL 伊妹儿。
Emeual (干什么用的我毫不知情)EnhancedGooglesearchProvider 增强谷歌搜索管理器Fcebook 非死不可FaceRecognition 脸部识别程序(MS里面看照片的时候可以关联联系人)filemanager.apk 文件管理FileCopier 文件复制器Fota FOTA解决方案Generic-app-Installer 全球版的APK安装器GlobalSearch 全球搜索Gmail 谷歌MAILGmailProvider GMAIL管理器Gallery3D.apk 3D浏览器(嫌弃它速度慢的,可删)GenieWidget.apk 天气与新闻(我自己不用他看新闻,删了)GoogleApps 谷歌程序googlebackuptransport.apkgooglecheckin.apkgooglecheckinhelper.apkGoogleFeedback.apk ***(据说删除后开机会提示googlefeedback.apk,不过我删了没什么副作用)googlepartnersrtup.apk Google助手(删了没感觉有特殊)GoogleCalendarSyncAdapter.apk 存储日历信息(删了没感觉有特殊)GoogleContactsSyncAdapter.apk 存储联系人信息(怕影响到联系人未删,但兴哥精简版已经删了)GoogleCheckin 谷歌签入程序GoogleContactsProvider 谷歌联系人管理器GooglePartnerSetup 谷歌好友设置GoogleSearch 谷歌搜索GoogleQuickSearchBox.apk 谷歌搜索(删了影响到桌面的搜索插件)GoogleServicesFramework.apk 同步支持服务(删了不能同步联系人,不能登录google)GoogleSettingProvider 谷歌设置管理器GoogleSubscribedFeedsProvider 谷歌同步管理器GooglePinyinIME.apk Google拼音(用其他输入法的可删)gtalkservice GTALK服务HTMLViewer HTM查看器hidialer.apk 智能拨号himarket.apk 安卓市场kickback.apk 辅助功能LearningClientLauncher2.apk 2.2原生桌面(用ADW和PRO的可删,删了以后第三方桌面要在开机以后从电脑安装,91,豌豆助手都可)LiveWallpapersPicker.apk 动态壁纸(可删,反正G2跑起来不怎么样)im.apk 即使通讯组件包含MSN、yahoo通implugin.apkImProvider gtalk管理器Launcher 主页面程序MAPS 谷歌地图MarketUpdater 电子市场更新程序*MediaProvider 媒体管理器Mediascape 大名鼎鼎的MediascapeMediascapePluginManager Media插件管理器MediaUploader 媒体更新器Metadatacleanup 元数据清除器MMS 短信和彩信程序Moixer 烦人的moixer程序NUSIC 原生音乐播放器nDuoaDialer.apk N多拨号(可删,自带的就可以了)nDuoaMarket.apk N多市场(可删,电子市场对我够了)nDuoaSettings.apk N多设置组件1(最好不要删,很不错的高级设置,兴哥集成在了设置里面)nDuoaSettingsAddon.apk N多设置组件2(最好不要删,很不错的高级设置)nDuoaSettingsHelper.apk N多设置组件3(最好不要删,很不错的高级设置)NetworkLocation 纵横程序,显示地点officesuite office套件,可看PDFOneTimeInitializer.apk ***(不明物体,删了没什么副作用)*PackgeInstaller APK安装器PcCompanionInstaller PcCompanion的安装程序,在设置>应用程序>里面就有勾选的选项*Phone 电话程序Phonebook 电话簿PhoneGuard.apk 拨号卫士(可删,类似来电通等的)PicoTts 语音程序Playnowarena PLAY NOW程序Playnowarena_updater PLAY NOW的更新程序PNPWizard PNP设置向导PrisonBreak.apk 越狱(翻墙用的)Protips.apk ***(不明物体,删了无副作用)*QuickMgr.apk 一键设置(长按menu的后弹出的那个,不要删,删了以后长安menu会FC)Readsdcard TF卡的系统读取程序se-support-rachael 索尼爱立信的帮助程序SemcCameraApplication SE照相机增强程序(给自带的照相机加入各种模式)SemcIme 系统自带输入法SemcSetupWiazard 索尼爱立信设置向导SEMCTouchPalChinese 索尼爱立信中文触摸输入法SEMCTouchPalKrea 索尼爱立信韩语触摸输入法ServiceMenu 服务菜单*Setting 设置程序*SettingProvider 设置管理器(储存手机设置里的一些设定)*SetupWizard 第一次开机的开机向导SnsContactImageCacheProvider SNS联系人头像缓存管理器SMSPopup.apk 短信泡泡(就是短信来时弹出的那个,其实就是个弹出框架,可用chomp 替换)soundback.apk 辅助功能(可删)SoundRecorder 录音机STK SIM卡工具Street 谷歌地图的街景模式*superuser.apk 超级用户systemupdater.apk 系统升级TALK gtalk主体程序(可删,删了没有电子市场上)*TelephonyProvider 电话管理器Timescape 大名鼎鼎的TimesacpeTimescapePluginManager Timescape插件管理器TimescapeProivder Timescape管理器TimesacpeTheme**** 各种颜色的Timescape主题TrackID 有名的TrackIDTerm.apk 超级终端(可删,不过不建议,可以用来刷recovery)TtsService 语音输入服务Updater.apk 在线升级(可删)UserDictionaryProvider 用户字典管理器(就是系统自带输入法的用户自定义词组管理器)Vending 电子市场VoiceDialer 语音拨号程序VoiceSearch 语音搜索程序VpnService 虚拟专用网服务WebMediaProvider 网页媒体管理器Wiper 擦除数据程序(恢复出厂设置用的)YouTube 大名鼎鼎的Youtube客户端HTC EVO 4G 2.2,可删除的系统程序对照表应用程序,蓝牙,英文, 论坛昨天在论坛里求了,没人回帖,今天自己找到了,分享一下(在网上看了看,误删的机油还真多~)系统Android2.2,以下系统文件按英文顺序:AccountSyncManager.apk 账号管理程序(删除设置里–账户与同步进不去)ApplicationsP rovider.apk 应用程序支持服务(我没删)AppSharing.apk app分享(基本无用,我闪了)Bluetooth.apk 蓝牙(保留)BrcmBluetoothServices.apk 蓝牙相关(我没删)Browser.apk 自带浏览器(我饶过他了)Calculator.apk 计算器(自己决定吧)Calendar.apk 日历(会自启动,但我觉得挺好用的)CalendarProvider.apk 日历存储服务(删除貌似会出现错误)CertInstaller.apk 证书安装程序(我留着)CheckinProvider.apk 签入服务(不知道干嘛的,建议别删)Clicker.apk 键盘校准(貌似是)com.htc.FMRadioWidget.apk 桌面收音机插件(插件类都可以删,自己决定)com.htc.MusicWidget.apk 桌面音乐插件com.htc.NewsRead erWidget.apk 新闻插件com.htc.rosiewidgets.battery-1.apk 电池显示插件com.htc.rosiewidgets.note.apk 记事本插件com.htc.rosiewidgets.quickrecord.apk 快速记事com.htc.rosiewidgets.sandtimer.apk 沙漏com.htc.rosiewidgets.task.apk 未知插件com.htc.rosiewidgets.tipcalculator.apk 小费计算器com.htc.rosiewidgets.todayinhistory.apk 历史上的今天com.htc.rosiewidgets.translator.apk 翻译com.htc.rosiewidgets.wordoftheday.apk 每日一词(不学英语的没鸟用)com.htc.WeatherWidget.apk 天气插件ContactsProvider.apk 未知(可能跟同步联系人相关,建议别删) CustomizationSettingsProvider.apk 自定义设置服务(我没删)CustomizationSetup.apk 自定义设置(我没删)DCSImpl.apk 集散控制系统服务(我没删)DCSUtility.apk 集散控制系统公共程序组件(我没删)DebugTool.apk 调试工具(估计可删)DefaultContainerService.apk apk安装服务(别删)DownloadProvider.apk 下载管理器(别删)DrmProvider.apk DRM数字版权管理(我没删)Facebook.apk Faceb ook(国内连不上,没啥用)FieldTest.apk 测试程序(别删,删了没信号)FilePicker.apk 文件定位(我没删)Flashlight.apk 手电筒(我没删)Flickr.apk Flickr应用(国内连不上,没啥用)GenieWidget.apk 天气与新闻(自启动,自上网,重点删除对象)Gmail.apk Gmail(google的东西通常都会自启动,建议删除)GoogleCalendarSyncAdapter.apk 谷歌日历同步适配器(我要用日历,没删)GoogleContactsSyncAdapter.apk 谷歌联系人同步适配器(担心他自上网,我删了)GoogleFeedback.apk 谷歌反馈(反馈啥,直接干掉)GooglePartnerSetup.apk Google助手(直接干掉)GoogleBackupTransport.apk 谷歌备份传输(我相信没大用) GoogleQuickSearchBox.apk 谷歌搜索(删了影响到桌面的搜索插件,自启动,干掉他)GoogleServicesFramework.apk 谷歌同步支持服务框架(删了不能同步联系人,不能登录google,我留着呢)HTC_IME.apk 输入法HtcAddProgramWidget.apk 向桌面添加程序的小插件(留着,删了你会后悔的)HTCAlbum.apk HTC相册(挺好用的,前提是你屏蔽掉非照片文件夹,附件里有)htcbookmarkwidget.apk HTC 书签小插件(干沉了)HtcCalculatorWidget.apk 计算机小工具(一个插件占那么大屏幕,干掉)htccalendarwidgets.apk H TC 日历小插件(我留下了)HTCCamera.apk 照相机(没人想把它删了吧)HtcClockWidget.apk 闹钟小插件HtcContacts.apk 联系人htccontactwidgets.apk HTC联系人小插件(我觉得没用)HtcCopyright.apk 未知(别删)HtcDialer.apk 拨号(当游戏机玩的可删)HtcFacebook.apk Facebook(干掉)HtcFMRadio.apk 收音机HtcFootprints.apk HTC 足迹(增加耗电,干掉)HtcFootprintsWidget.apk HTC 足迹小插件(干掉)HtcLocationPicker.apk 位置(就是设置里用来设置是否可以使用无线网络来确定位置的功能,保留)HtcLocationSe rvice.apk 定位服务(留着)HtcLockScreen.apk HTC锁屏htcmailwidgets.apk HTC Mail小插件(我干掉了)HtcMessageUploader.apk Message Uploader(未知,我留着)htcmsgwidgets.apk HTC信息小插件HtcMusic.apk 音乐(我删了,咱用千千静听)HtcPhotoWidget.apk HTC照片小插件HtcProfilesWidget.apk 选择声音或震动小插件(挺有用)HtcRingtoneTrimmer.apk 铃声剪辑(无视,删了)HtcRingtoneWidget.apk 选择铃声的小插件(别删,删了设置里没法该铃声)HtcSettingsP rovider.apk HTC设置htcsettingwidgets.apk H TC设置小插件,WIFI、移动网络、GPS、飞行模式、蓝牙的开关(好用)HTCSetupWizard.apk HTC安装向导(删了会影响重新安装,我删了)HtcSoundRecorder.apk 录音(删了)HtcStreamPlayer.apk 流媒体播放器(删了,用rockplayer) HtcSyncwidget.apk HTC同步小插件(删了)HtcWeatherWall**.apk HTC天气壁纸(删了)HTMLViewer.apk HTML查看器(别删)install_flash_player.apk flash插件(你想看优酷吗)LiveWall**s.apk 动态壁纸(浪费电,干掉)LiveWall**sPicker.apk 动态壁纸选择器(留着吧,万一哪天想用了)MagicSmokeWall**s.apk 魔法壁纸(删了)Mail.apk Mail应用(没邮件,删了)MarketUpdater.apk 市场更新(不用市场的可删)MediaProvider.apk 媒体数据存储服务(会自启动,但删了不知有什么后果,我没删)MediaUploader.apk Googl e媒体数据上传服务(自启动,不知什么用,我没删)Mms.apk 信息(我删了,我用的超级短信)Mode10Wall**s.apk 10月份墙纸(留着吧)NetworkLocation.apk 谷歌网络定位服务(没敢删)NewsRead er.apk 新闻(删了)PackageInstaller.apk APK安装程序(别删)PCSCII.apk PC同步(貌似是)PDFViewer.apk PDFPhone.apk 电话(别删,删了直接崩溃)PicoTts.apk 文字语音转换引擎(设置-语音输入与输出中)(我删了)PluginManager.apk Sense插件管理QxdmLog.apk 貌似是电话相关的restartapp.apk Restart应用(不知有啥用)(留着吧)Rosie.apk 桌面的主程序RSS.apk 新闻(删了)Settings.apk 设置SettingsProvider.apk 设置服务(别删)SetupWizard.apk 设置向导(切莫删除,删了91连不上,而且必须要重刷才行!!~~~血的教训啊~~~~)SocialNetworkProvider.apk (社交网络)就是Facebook、Flickr的程序(干沉)Stk.apk 手机卡服务(删了开机报错)Talk.apk GTalkteeter.apk 平衡球游戏TelephonyProvider.apk 电话组件TtsService.apk 文本到语音服务(我删了)TransferData.apk 传输数据,可以将其他手机的联系人等信息通过蓝牙传输过来Updater.apk 程序更新器(会自启动,但没敢删)UpgradeSetup.apk 更新程序UploadProvider.apk HTC 媒体上传器(没敢删)UserDictionaryProvider.apk 用户字典(功能未知,自己考虑要不要删)Vending.apk 电子市场(咱用黑市,嘿嘿)VisualizationWall**s.apk 自带墙纸VoiceSearch.apk 语音搜索(我删了)***Services.apk ***代理(别删)Weather.apk 天气组件WeatherAgentService.apk 天气组件WeatherProvider.apk 天气组件WeatherSyncProvider.apk 天气组件WidgetDownloadManager.apk任务栏提示图标WifiRouter.apk wifi路由WorldClock.apk 世界时钟(删了桌面没有时钟插件,我删了,用别的代替了)。
api的用途和使用方法
api的用途和使用方法An API, or Application Programming Interface, is a set of rules and protocols that allows different software applications to communicate with each other. API的中文全称是“应用程序编程接口”,它是一组规则和协议,允许不同的软件应用程序之间进行通信。
APIs are essential for the functionality of many modern digital tools and platforms. For example, when you use a weather app on your smartphone to check the forecast, the app is likely using an API to fetch the current weather data from a weather service. This seamless integration of data from one application to another is made possible by APIs. API在许多现代数字工具和平台的功能中起关键作用。
例如,当您使用智能手机上的天气应用来查询天气预报时,该应用很可能使用API从天气服务中获取当前天气数据。
这种无缝集成使得从一个应用程序到另一个应用程序的数据交互成为了可能。
From a developer's perspective, an API provides a way to access the functionality of another application or platform without needing to understand the internal workings of that application or platform. It allows developers to focus on building their own applications whileleveraging the capabilities of existing software. 从开发者的角度来看,API提供了一种访问其他应用程序或平台功能的方式,而无需理解那个应用程序或平台的内部运作。
android中文API合集(50篇)android中文翻译组
Android中文API合集(50篇)Android中文翻译组关于API文档(Reference)是Android开发的基础,三年来(2007-2010)官方仍未出中文版的API,Android中文翻译组聚一批从事Android开发人员、论坛版主、大学生、研究生等利用业余时间对Android的API进行翻译,人数从1人到80+人不断壮大,发表的译文从1篇到50篇不断增多,为的只是多一份Android中文资料,欢迎更多朋友的加入,联系我们:QQ:36408253 Gtalk:over140@欢迎大家访问翻译组在淘蝌蚪上搭建的项目:/project/view/404/(cnAndroid),可使用SVN客户端匿名下载:/svn/cnAndroid,在这里可以查看翻译组当前的最新的进度和翻译稿,也可以直接向我们提问。
关于翻译组的更多介绍,请看这里。
章节结构继承关系public final class Manifest extends Objectng.Object android.Manifest内部类class Manifest.permission权限class Manifest.permission_group权限组构造函数public Manifest ()构造函数补充文章精选android Manifest.xml选项Manifest.permission结构继承关系public static final class Manifest.permission extends Objectng.Objectandroid. Manifest.permission常量结构继承关系public static final class Manifest.permission_group extends Objectng.Objectandroid. Manifest.permission_group常量结构public abstract class AccessibilityService extends Serviceng.Objectandroid.content.Contextandroid.content.ContextWrapperandroid.app.Serviceandroid.accessibilityservice.Accessibil ityService类概述当AccessibilityEvent事件被启动后AccessibilityService 会接收回调函数运行于后台,这些事件指的是在用户接口间的状态转换,比如,焦点变化,按钮被点击等。
Android应用程序API中英文对照外文翻译文献
Android应用程序API中英文对照外文翻译文献中英文资料对照外文翻译Android API级别当你开发你的Android应用程序时,了解该平台API变更管理的基本方法和概念是很有帮助的。
同样的,知道API级别标识以及该标识如何保障你的应用与实际硬件设备相兼容对于开发及后续的发布、维护都是有益的。
本节内容告诉你API级别的知识,以及它如何影响你开发和使用的应用。
关于如何使用“以API级别进行过滤”来使用API参考手册,从本文末尾的文档过滤(Filtering the documentation)中可以得到更多信息。
API级别是什么?API级别是一个整数值,它唯一标识了一个具体版本的Android 平台,及其框架的API的版本。
Android平台提供了一套框架API,使得应用程序可以与系统底层进行交互。
该框架API由以下模块组成:一组核心的包和类清单(manifest)文件的XML元素和属性声明资源文件的XML元素和属性声明及访问形式各类意图(Intents)应用程序可以请求的各类授权,以及系统中包含的授权执行每个Android平台的后续版本会包括它提供的更新的Android应用程序框架的API。
该框架的API的更新设计,使高版本的API与早期版本兼容。
也就是说,在新版本API中大多数都是新增功能,和引进新的或替代的功能。
作为API的部分升级,老的替换的部分已过时,但不会从新版本中删除,使得已有的应用程序仍然可以使用它们。
在极少数情况下,旧版本API的部分可能被修改或删除,通常这种变化是为了保障API的稳定性及应用程序或系统的安全。
所有其他早期版本的API将不做修改的保留。
一个Android平台提供的框架API,被指定一个整数标识符,称为“API级别”。
每一个版本的Android平台只支持有一个API级别,虽然该支持是隐含地包括了所有早期的API级别(一直到API级别1级)。
Android平台的最初版本提供的框架API级别是1级,随后的版本依次递增。
Application详解与用法
Application详解与用法1:Application是什么?Application和Activity,Service一样,是android框架的一个系统组件,当android程序启动时系统会创建一个application对象,用来存储系统的一些信息。
通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己的Application,也很简单创建一个类继承Application并在manifest的application标签中进行注册(只需要给Application标签增加个name属性把自己的Application的名字定入即可)。
android系统会为每个程序运行时创建一个Application类的对象且仅创建一个,所以Application可以说是单例(singleton)模式的一个类.且application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期。
因为它是全局的单例的,所以在不同的Activity,Service中获得的对象都是同一个对象。
所以通过Application来进行一些,数据传递,数据共享等,数据缓存等操作。
2:通过Application传递数据假如有一个Activity A, 跳转到Activity B ,并需要推荐一些数据,通常的作法是Intent.putExtra() 让Intent携带,或者有一个Bundle 把信息加入Bundle让Intent推荐Bundle对象,实现传递。
但这样作有一个问题在于,Intent和Bundle所能携带的数据类型都是一些基本的数据类型,如果想实现复杂的数据传递就比较麻烦了,通常需要实现Serializable或者Parcellable接口。
这其实是Android的一种IPC 数据传递的方法。
如果我们的两个Activity在同一个进程当中为什么还要这么麻烦呢,只要把需要传递的对象的引用传递过去就可以了。
安卓相关4万字符英文翻译
安卓应用开发基础作者:安卓开发员Android应用程序是用Java编程语言编写的。
Android SDK工具可以编译任何数据和资源文件的代码成一个文件后缀为.apk的安卓程序包。
所有的在一个单一的代码.apk文件被认为是一个应用程序,是Android的文件,供电设备来安装应用程序。
一旦安装在设备上,每个Android应用程序的生命在它自己的安全沙箱上:Android操作系统是一个多用户Linux系统,每个应用程序都是一个不同的用户。
默认情况下,每个应用程序的系统分配一个唯一的Linux用户ID(该ID仅用于由系统是未知的应用程序),系统设置所有的应用程序中的文件权限,以便只有用户ID分配给该应用程序可以访问它们。
每个进程都有它自己的虚拟机(VM),因此应用程序的代码与其他应用程序隔离运行。
默认情况下,每个应用程序运行在它自己的Linux进程。
在Android启动过程时,应用程序的任何组件需要被执行,在关闭该进程时,它不再需要或恢复时,系统必须为其他应用程序提供内存。
这样一来,Android系统实现了最小特权原则,也就是说,每个应用程序,默认情况下,只需要访问的组件,它需要再做更多的工作。
这将创建一个非常安全的环境,使应用程序无法访问的,这就是它没有给予许可制度的部分。
但是,有一个应用程序的方法与其他应用程序和应用程序访问系统服务的数据:这有可能为两个应用程序安排共享相同的Linux用户ID,在这种情况下,它们能够相互访问的文件。
为了节约使用相同的用户ID系统资源,应用程序还可以安排运行在相同的Linux进程和共享同一个VM(应用也必须使用相同的证书签名)。
应用程序可以请求访问权限,如用户的联系人,短信,可安装存储(SD卡),摄像头,蓝牙等设备的数据,所有应用程序的权限必须由用户在安装时授予。
覆盖的基础是如何让应用程序在安卓中存在,本文向您介绍:1、框架的核心组件定义应用程序。
2、清单文件中声明组件和应用程序所需的设备功能。
安卓系统权限中英文对照
安卓系统权限中英文对照网上搜集的安卓系统软件的权限中英文对照程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 完整列表如下:android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change value s that get uploaded) android.permission.ACCESS_COARSE_LOCA TION允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (e.g., Cell-ID, WiFi) location) copyright dedecmsandroid.permission.ACCESS_FINE_LOCA TION允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS) location) android.permission.ACCESS_LOCA TION_EXTRA_COMMANDS 允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands)android.permission.ACCESS_MOCK_LOCA TION允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing)android.permission.ACCESS_NETWORK_STA TE允许程序访问有关GSM网络信息(Allows applications to access information about networks) android.permission.ACCESS_SURFACE_FLINGER允许程序使用SurfaceFlinger底层特性(Allows an application to use SurfaceFlinger’s low level features)android.permission.ACCESS_WIFI_STA TE允许程序访问Wi-Fi网络状态信息(Allows applications to accessinformation about Wi-Fi networks)android.permission.ADD_SYSTEM_SERVICE允许程序发布系统级服务(Allows an application to publish system-level services).android.permission.BA TTERY_STA TS允许程序更新手机电池统计信息(Allows an application to update the collected battery statistics) android.permission.BLUETOOTH允许程序连接到已配对的蓝牙设备(Allows applications to connect to paired bluetooth devices) android.permission.BLUETOOTH_ADMIN允许程序发现和配对蓝牙设备(Allows applications to discover and pair bluetooth devices) android.permission.BRICK 请求能够禁用设备(非常危险)(Required to be able to disable the device (very *erous!).) android.permission.BROADCAST_PACKAGE_REMOVED 允许程序广播一个提示消息在一个应用程序包已经移除后(Allows an application to broadcast a notification that an application package has been removed)android.permission.BROADCAST_STICKY允许一个程序广播常用intents(Allows an application to broadcast sticky intents) /doc/926213707.html,android.permission.CALL_PHONE允许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认(Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed.)android.permission.CALL_PRIVILEGED允许一个程序拨打任何号码,包含紧急号码无需通过拨号用户界面需要用户确认(Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed) android.permission.CAMERA请求访问使用照相设备(Required to be able to access the camera device. )android.permission.CHANGE_COMPONENT_ENABLED_STA TE允许一个程序是否改变一个组件或其他的启用或禁用(Allows an application to change whether an application component (other than its own) is enabled or not. )android.permission.CHANGE_CONFIGURA TION允许一个程序修改当前设置,如本地化(Allows an application to modify the current configuration, such as locale. )android.permission.CHANGE_NETWORK_STA TE允许程序改变网络连接状态(Allows applications to change network connectivity state) android.permission.CHANGE_WIFI_STA TE允许程序改变Wi-Fi连接状态(Allows applications to change Wi-Fi connectivity state) android.permission.CLEAR_APP_CACHE 允许一个程序清楚缓存从所有安装的程序在设备中(Allows an application to clear the caches of all installed applications on the device. )android.permission.CLEAR_APP_USER_DA TA允许一个程序清除用户设置(Allows an application to clear user data)android.permission.CONTROL_LOCA TION_UPDA TES允许启用禁止位置更新提示从无线模块(Allows enabling/disabling location update notifications from the radio. ) copyright dedecmsandroid.permission.DELETE_CACHE_FILES允许程序删除缓存文件(Allows an application to delete cache files)android.permission.DELETE_PACKAGES允许一个程序删除包(Allows an application to delete packages) android.permission.DEVICE_POWER允许访问底层电源管理(Allows low-level access to power management)android.permission.DIAGNOSTIC允许程序RW诊断资源(Allows applications to RW to diagnostic resources. )android.permission.DISABLE_KEYGUARD允许程序禁用键盘锁(Allows applications to disable the keyguard ) /doc/926213707.html, android.permission.DUMP允许程序返回状态抓取信息从系统服务(Allows an application to retrieve state dump information from system services.) android.permission.EXPAND_STA TUS_BAR允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似windows mobile中的托盘程序(Allows an application to expand or collapse the status bar. )android.permission.FACTORY_TEST作为一个工厂测试程序,运行在root用户(Run as a manufacturer test application, running as the root user. ) android.permission.FLASHLIGHT访问闪光灯,android开发网提示htc Dream不包含闪光灯(Allows access to the flashlight ) android.permission.FORCE_BACK 允许程序强行一个后退操作是否在顶层activities(Allows an application to force a BACK operation on whatever is the top activity. )android.permission.FOTA_UPDA TE暂时不了解这是做什么使用的,android开发网分析可能是一个预留权限.android.permission.GET_ACCOUNTS访问一个帐户列表在Accounts Service中(Allows access to the list of accounts in the Accounts Service)android.permission.GET_PACKAGE_SIZE允许一个程序获取任何package占用空间容量(Allows an application to find out the space used by any package. ) android.permission.GET_TASKS允许一个程序获取信息有关当前或最近运行的任务,一个缩略的任务状态,是否活动等等(Allows an application to get information about the currently or recently running tasks: a thumbnail representation of the tasks, what activities are running in it, etc.) android.permission.HARDWARE_TEST允许访问硬件(Allows access to hardware peripherals. )android.permission.INJECT_EVENTS允许一个程序截获用户事件如按键、触摸、轨迹球等等到一个时间流,android 开发网提醒算是hook技术吧(Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window.)android.permission.INSTALL_PACKAGES允许一个程序安装packages(Allows an application to install packages. )android.permission.INTERNAL_SYSTEM_WINDOW允许打开窗口使用系统用户界面(Allows an application to open windows that are for use by parts of the system user interface. ) android.permission.INTERNET允许程序打开网络套接字(Allows applications to open network sockets)android.permission.MANAGE_APP_TOKENS允许程序管理(创建、催后、z- order默认向z轴推移)程序引用在窗口管理器中(Allows an application to manage (create, destroy, Z-order) application tokens in the window manager. ) android.permission.MASTER_CLEAR目前还没有明确的解释,android开发网分析可能是清除一切数据,类似硬格机android.permission.MODIFY_AUDIO_SETTINGS允许程序修改全局音频设置(Allows an application to modify global audio settings)android.permission.MODIFY_PHONE_STA TE允许修改话机状态,如电源,人机接口等(Allows modification of the telephony state – power on, mmi, etc. )android.permission.MOUNT_UNMOUNT_FILESYSTEMS允许挂载和反挂载文件系统可移动存储(Allows mounting and unmounting file systems for removable storage. )android.permission.PERSISTENT_ACTIVITY允许一个程序设置他的activities显示(Allow an application to make its activities persistent. )android.permission.PROCESS_OUTGOING_CALLS允许程序监视、修改有关播出电话(Allows an application to monitor, modify, or abort outgoing calls) 内容来自dedecms android.permission.READ_CALENDAR允许程序读取用户日历数据(Allows an application to read the user’s calendar data.)android.permission.READ_CONTACTS允许程序读取用户联系人数据(Allows an application to read the user’s contacts data.)android.permission.READ_FRAME_BUFFER允许程序屏幕波或和更多常规的访问帧缓冲数据(Allows an application to take screen shots and more generally get accessto the frame buffer data)android.permission.READ_INPUT_STA TE允许程序返回当前按键状态(Allows an application to retrieve the current state of keys and switches. )android.permission.READ_LOGS允许程序读取底层系统日志文件(Allows an application to read the low-level system log files. ) android.permission.READ_OWNER_DA TA允许程序读取所有者数据(Allows an application to read the owner’s data) /doc/926213707.html, android.permission.READ_SMS允许程序读取短信息(Allows an application to read SMS messages.)android.permission.READ_SYNC_SETTINGS允许程序读取同步设置(Allows applications to read the sync settings)android.permission.READ_SYNC_STA TS允许程序读取同步状态(Allows applications to read the sync stats)android.permission.REBOOT请求能够重新启动设备(Required to be able to reboot the device. )android.permission.RECEIVE_BOOT_COMPLETED允许一个程序接收到ACTION_BOOT_COMPLETED广播在系统完成启动(Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting. )android.permission.RECEIVE_MMS允许一个程序监控将收到MMS彩信,记录或处理(Allows an application to monitor incoming MMS messages, to record orperform processing on them. )android.permission.RECEIVE_SMS允许程序监控一个将收到短信息,记录或处理(Allows an application to monitor incoming SMS messages, to record or perform processing on them.)android.permission.RECEIVE_WAP_PUSH允许程序监控将收到W AP PUSH信息(Allows an application to monitor incoming WAP push messages. )android.permission.RECORD_AUDIO允许程序录制音频(Allows an application to record audio)android.permission.REORDER_TASKS允许程序改变Z轴排列任务(Allows an application to change the Z-order of tasks)android.permission.RESTART_PACKAGES允许程序重新启动其他程序(Allows an application to restart other applications)android.permission.SEND_SMS允许程序发送SMS短信(Allows an application to send SMS messages)android.permission.SET_ACTIVITY_WA TCHER允许程序监控或控制activities已经启动全局系统中Allows an application to watch and control how activities are started globally in the system. 内容来自dedecmsandroid.permission.SET_ALWAYS_FINISH允许程序控制是否活动间接完成在处于后台时Allows an application to control whether activities are immediately finished when put in the background.android.permission.SET_ANIMA TION_SCALE修改全局信息比例(Modify the global animation scaling factor.) android.permission.SET_DEBUG_APP配置一个程序用于调试(Configure an application for debugging.)android.permission.SET_ORIENTA TION允许底层访问设置屏幕方向和实际旋转(Allows low-level access to setting the orientation (actually rotation) of the screen.) android.permission.SET_PREFERRED_APPLICA TIONS允许一个程序修改列表参数PackageManager.addPackageT oPreferred() 和PackageManager.removePackageFromPreferred()方法(Allows an application to modify the list of preferred applications with the PackageManager.addPackageT oPreferred() and PackageManager.removePackageFromPreferred() methods.) android.permission.SET_PROCESS_FOREGROUND允许程序当前运行程序强行到前台(Allows an application to force any currently running process to be in the foreground.) android.permission.SET_PROCESS_LIMIT允许设置最大的运行进程数量(Allows an application to set the maximum number of (not needed) application processes that can be running. ) copyright dedecmsandroid.permission.SET_TIME_ZONE允许程序设置时间区域(Allows applications to set the system time zone)android.permission.SET_WALLPAPER允许程序设置壁纸(Allows applications to set the wallpaper ) android.permission.SET_WALLPAPER_HINTS允许程序设置壁纸hits(Allows applications to set the wallpaper hints)android.permission.SIGNAL_PERSISTENT_PROCESSES允许程序请求发送信号到所有显示的进程中(Allow an application to request that a signal be sent to all persistentprocesses)android.permission.STA TUS_BAR允许程序打开、关闭或禁用状态栏及图标Allows an application to open, close, or disable the status bar and its icons.android.permission.SUBSCRIBED_FEEDS_READ允许一个程序访问订阅RSS Feed内容提供(Allows an application to allow access the subscribed feeds ContentProvider. )android.permission.SUBSCRIBED_FEEDS_WRITE系统暂时保留改设置,android开发网认为未来版本会加入该功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用程序基础Android 应用程序使用Java作为编程语言. Android SDK 工具将代码、数据以及资源文件编译成为扩展名为.apk的Android 软件包. 一个apk文件代表一个Android应用程序,Android使用apk文件来安装应用.一经安装在一个设备上,每个Android应用程序就生存在自己的安全沙箱里面:•Android操作系统是一个多用户的Linux系统, 每个应用程序代表一个不同的用户.•默认情况下,系统为每个应用程序赋予一个唯一的Linux用户ID (这个用户ID只供系统内部使用,应用程序本身并不知晓这个用户ID). 系统使用这个用户ID为应用程序的所有文件设置权限,因此只有这个用户ID才可以访问这些文件.•每个进程都有自己的虚拟机, 所以应用程序之间的代码在物理上是隔离的.•默认情况下,每个应用程序在自己的Linux进程里面运行. Android在应用程序的任意组件运行的时候启动这个进程, 然后当不再需要该应用程序的组件或者当系统需要为其它应用程序腾出内存的时候Android会关闭该进程.通过这种方式,Android系统实现了最小特权原则. 就是说, 默认情况下, 每个应用程序只对工作所必需的组件拥有访问权.这样就创建了一个非常安全的环境,在这个环境中,每个应用程序都无法访问它未被授权的系统组件.然而, 通过下面几种方式可以使应用程序之间共享数据,而且可以使应用程序访问系统服务: •可以使两个应用程序共享同一个Linux用户ID, 这样它们就可以访问彼此的文件. 为了节省系统资源, 具备相同用户ID的应用程序可以共享同一个Linux进程和虚拟机(这些应用程序必须被赋予相同的证书).•应用程序可以申请访问设备数据的权限,比如联系人, SMS 消息,可挂载的存储(SD card), 相机, 蓝牙等等. 所有的应用程序权限必须在安装时被用户授予.上述内容介绍了Android应用程序与系统的基础知识. 下面将为您介绍:•定义应用程序的核心框架组件.•用于声明组件和设备需求的清单文件.•资源,独立于应用程序代码,允许应用程序根据不同的设备配置优化其行为.应用程序组件应用程序组件是Android应用程序的核心构建块. 每个组件表示一个不同的点, 系统通过这个点与你的应用程序进行交互.并不是所有的组件都是直接面向用户的点,有一些组件之间是具备依赖关系的,但是每个组件都作为一个独立的实体扮演特定的角色—每个组件都是一个独一无二的构建块,帮助你定义应用程序的整体行为.一共有4种类型的应用程序组件. 每种类型的组件都服务于不同的目的,具备不同的生命周期.下面就开始介绍这4种类型的应用程序组件:Activities 一个Activity代表了a single screen with a user interface. 例如, 一个电子邮件应用程序必需有一个Activity用来显示邮件列表, 一个Activity用来写邮件,一个Activity用来读邮件.尽管在电子邮件应用程序中这些Activity共同工作从而形成一种聚合的用户体验, 但是事实上它们是相互独立的. 因此, 一个不同的应用程序可以启动这些Activity中的任意一个(在电子邮件应用程序允许的情况下). 例如,为了方便用户共享图片,相机应用程序可以启动电子邮件应用程序中用于写邮件的Activity.Activity被实现为Activity的子类,从Activities 开发者指南你可以获取更多关于Activity的信息.服务服务是运行于后台,执行长时间/耗时操作或者远程操作的组件. 服务没有用户界面. 例如, 当用户在与另外一个应用程序交互的时候,可能一个播放音乐的服务正在后台运行, 或者它可能用于获取网络数据而不阻塞用户与Activity的交互.其它组件, 比如Activity,可以启动一个服务,也可以绑定到一个服务从而可以与服务进行交互.服务被实现为Service 的子类,从Services 开发者指南你可以获取更多关于服务的信息.内容提供者内容提供者可以管理应用程序需要共享的数据. 你可以选择将数据存储在文件系统, SQLite 数据库, Web,以及应用程序可以访问到的任意其它持久存储. 借助内容提供者,一个应用程序可以查询甚至修改另外一个应用程序的数据(在内容提供者允许的情况下). 例如, Android系统提供了一个管理联系人信息的内容提供者. 因此, 任何具备相应权限的应用程序都可以通过这个内容提供者查询、修改联系人信息.内容提供者对于访问应用程序私有数据也是有用的.例如, Note Pad 示例应用程序使用内容提供者保存笔记.内容提供者被实现为ContentProvider的子类, 而且必须实现一组标准接口来使其它应用程序执行相应的事务. 从Content Providers开发者指南你可以获取更多关于内容提供者的信息.广播接收者广播接收者可以接收系统范围的广播/通知. 许多广播源自系统—例如, 屏幕关闭, 电量不足,或者拍照事件.应用程序也可以发送广播—例如, 通知其它应用程序数据下载完成. 尽管广播接受者并没有用户界面, 但是在接收到广播时,它们可以创建一个状态栏的通知以提醒用户. 不过,更常见的情况是, 广播接收者作为其它组件的门户只做很少量的工作. 例如,它可能仅仅只是在接收到某个广播/通知的时候启动某个服务来处理相应的工作. 广播接受者被实现为BroadcastReceiver的子类, 每个广播都是一个Intent对象.从BroadcastReceiver 开发者指南你可以获取更多关于广播接收者的信息.Android系统设计的独特之处在于任何应用程序都可以调用其它应用程序的组件.例如, 如果你的应用程序想让用户拍照, 而且其它应用程序已经实现了一个拍照组件,这个时候你就可以直接使用它的拍照组件儿不需要自己重新实现一次. 你不必要将你的应用程序代码链接到那个相机应用程序.相反, 你可以简单的启动相机应用程序的拍照Activity,然后拍照. 拍照完成的时候, 照片会返回到你的应用程序,这时你就可以使用这张照片了.从用户的角度来看,拍照组件似乎是你的应用程序的一部分.当系统启动一个组件的时候, 它会首先启动组件所属应用程序的进程(如果该进程尚未运行的话) ,然后创建组件类的实例.例如,如果你的应用程序启动了相机应用程序的拍照Activity 并且拍照, 拍照Activity其实是运行在相机应用程序的进程里,而不是你的应用程序进程. 因此,和其它系统上应用程序的区别在于, Android 应用程序并没有单一的入口点(例如,不具备main函数).由于在Android系统中每个应用程序运行在独立的进程中,并且每个应用程序并不具备访问其它应用程序文件的权限, 所以你的应用程序是不能直接激活其它应用程序的组件的.然而,Android 系统具备激活其它应用程序组件的能力. 因此,为了激活其它应用程序的组件,你必须在你的应用程序中向Android系统发送一个描述你意图的消息,然后Android系统解析这个消息,激活目标组件.组件的激活四种组件中的三种—Activity, 服务,以及广播接受者—是通过被称作“意图”的异步消息激活的. “意图”与组件的映射在运行时完成(你可以将这种映射关系想象为向其它组件发出某种请求的信使), 不论该组件是否属于你的应用程序.“意图”其实是一个Intent 对象, 它定义了激活特定组件或者激活特定类型组件的消息—“意图”可以是明确的,也可以是隐含的.就Activity和服务来说,“意图”定义了需要执行的动作(例如, “看”或者“发送”某样东西) 并且指定了目标数据的URI (组件激活所需要的参数). 例如, 某个“意图”可能需要请求某个Activity显示一张图片或者打开一个Web页面. 在某些情况下, 你激活某个Activity是为了获取某种结果, 这种情况下,目标Activity会将结果存储在Intent对象中返回(例如, 你可以发送一个让用户选择联系人的“意图”并将选择的联系人返回给你—返回的“意图”包含一个指向联系人信息的URI).就广播接受者来说, “意图”只是简单的定义了需要广播的通知(例如, 一条广播可能只是包含一个指示“电量过低”的字符串).另外一种组件, 内容提供者, 并不是通过“意图”激活的. 内容提供者是在响应ContentResolver的请求时被激活的. 内容解析者负责所有与内容提供者的直接交互. 这样就在内容提供者和请求信息的组件之间添加了一层抽象(为了安全考虑).激活每种组件的方法如下:•你可以通过发送一个“意图”给startActivity() 或者startActivityForResult()(当你希望获取Activity的返回结果时)来启动Activity或者给Activity分配新的任务.•你可以通过发送一个“意图”给startService()来启动一个服务或者给正在运行的服务发送新的指令.你也可以通过发送一个“意图”给bindService()来绑定到一个服务.•你可以通过发送一个“意图”给sendBroadcast(), sendOrderedBroadcast(), 或者sendStickyBroadcast()来产生一个广播.•你可以通过调用ContentResolver的query()方法来对内容提供者执行查询操作.更多关于“意图”的信息, 请参考Intents and Intent Filters 文档. 更多关于激活组件的信息请参考如下文档: Activities, Services, BroadcastReceiver and Content Providers.清单文件在启动应用程序组件之前, Android系统必须通过读取应用程序清单文件来确定组件是否存在. 应用程序必须在清单文件中声明它的所有组件, 而且清单文件必须位于应用程序工程的根目录.除了声明组件, 清单文件还有一些其它责任,例如:•声明应用程序需要的权限, 比如访问网络或者访问联系人信息.•声明应用程序兼容的最低API版本.•声明应用程序的硬件和软件需求, 例如相机, 蓝牙服务, 或者多点触控屏幕.•声明应用程序依赖的库(不包括Android框架API), 例如Google Maps library.•更多声明组件清单文件的主要功能是告知系统应用程序所拥有的组件. 例如,清单文件可以按照下述方式声明Activity:<?xml version="1.0" encoding="utf-8"?><manifest ... ><application android:icon="@drawable/app_icon.png" ... ><activity android:name="com.example.project.ExampleActivity"android:label="@string/example_label" ... ></activity>...</application></manifest><application>元素的android:icon 属性指向应用程序的图标资源.<activity>元素的android:name 指定Activity关联的类名称, android:label 属性为Activity指定一个用户可见的字符串.你必须按照如下方式声明所有组件:•<activity>元素用于声明Activity•<service>元素用于声明服务•<receiver>元素用于声明广播接收者•<provider>元素用于声明内容提供者如果源代码包含的Activity、服务或者内容提供者没有在清单文件中声明,那么它们对系统是不可见的,因此,它们永远不会运行. 然而,广播接收者既可以在清单文件中声明也可以在代码中动态创建并通过调用registerReceiver()来注册.更多关于清单文件的信息, 请参考The AndroidManifest.xml File 文档.声明组件能力正如上面所讨论的那样,你可以使用“意图”启动Activity、服务和广播接收者. 你可以在“意图”中明确指定目标组件的类名称. 然而, “意图”的强大威力其实是“意图”动作. 使用“意图”动作,你只需要简单的描述需要执行的动作类型(还可以指定执行动作需要的数据)并允许系统在设备商找到可以执行这个动作的组件然后启动它. 如果有多个组件可以执行目标动作,则由用户从中选择一个.系统通过比较“意图”与应用程序清单文件中的“意图过滤器”来确定能够执行“意图”的组件.当你在清单文件中声明一个组件的时候, 你可以选择包含一个描述该组件能力的“意图过滤器”,这样该组件就能够响应其它应用程序发送的“意图”了. 你通过为为组件声明元素添加一个<intent-filter>子元素就可以为组件添加“意图过滤器”.例如, 邮件应用程序负责创作邮件的Activity可能会声明一个响应“发送”(目的是发送邮件)"意图"的“意图过滤器”. 这样你的应用程序就可以创建一个具备“发送”动作(ACTION_SEND)的“意图”,然后调用startActivity(),这时系统就会将"发送""意图"映射到邮件应用程序并启动它.更多关于”意图过滤器“的信息, 请参考Intents and Intent Filters 文档.声明应用程序需求Android支持的设备多种多样,而且它们在功能和特性上存在差别. 为了避免你的应用程序安装在缺少必需功能的设备上, 在清单文件中清晰的声明应用程序的硬件和软件需求就显得尤为重要. 系统并不读取这部分声明信息, 但是扩展服务例如Android电子市场在搜索应用的时候会读取这些信息并过滤.例如, 如果你的应用程序基于Android 2.1 (API Level 7)并且需要相机, 你应该在清单文件中声明这些需求. 这样如果Android 版本低于 2.1或者没有相机就不能从电子市场安装你的应用程序.然而, 你也可以声明你的应用程序需要但不必须有相机的支持.这种情况下, 应用程序必须在运行时检测设备是否有相机,如果没有相机则禁用相关功能.下面是在设计和开发应用程序时需要考虑的一些重要的设备特征:屏幕尺寸和分辨率为了按照屏幕类型对设备归类, Android为每种设备定义了两个特征: 屏幕尺寸(屏幕的物理尺寸) 和屏幕分辨率(屏幕的物理像素分辨率). 为了简化不同类型的屏幕配置, Android系统将这些特征作了概括.屏幕尺寸: 小, 正常, 大, 特别大.屏幕分辨率: 低分辨率, 中等分辨率, 高分辨率, 特高分辨率.默认情况下, 你的应用程序兼容所有屏幕尺寸和分辨率, 因为Android系统会为你的UI布局和图像文件作适当调整. 然而, 你应该根据屏幕尺寸和分辨率提供特定的布局和图像资源, 并且在清单文件的<supports-screens>元素中声明你的应用程序支持的屏幕类型.更多信息, 请参考Supporting Multiple Screens 文档.输入配置许多设备提供不同的用户输入机制,比如键盘,跟踪球, 或者 a five-way navigationpad.如果你的应用程序需要特定类型的输入硬件, 你应该在清单文件的<uses-configuration>元素中声明. 然而, 应用程序依赖特定输入配置的情况很少见. 设备功能Android设备有可能具备或者不具备某些硬件和软件功能,例如相机,光传感器, 蓝牙, 某个版本的OpenGL, 或者触摸屏. 你不应当假设所有的Android设备都具备这些功能(Android 标准API除外), 相反,你应当在<uses-feature>元素中声明你的应用程序所需要的硬件和软件功能. 平台版本不同的Android设备经常会运行不同的Android版本, 例如Android 1.6 或者Android 2.3. 后续版本通常会包括对前期版本扩展之后的API. 为了标识可用的API版本, 每个平台版本被指定了一个API Level (例如, Android 1.0 是API Level 1 ,Android 2.3 是API Level 9).如果你使用了任何平台版本 1.0之后的API, 你应该在<uses-sdk>元素中声明应用程序所需的最低API Level.声明所有这些需求是非常重要的, 因为, 当你在电子市场发布Android应用程序的时候, 电子市场会使用这些信息去过滤设备可用的软件. 因此,你的应用程序应当只能使那些满足所有应用程序需求的设备获取.更多关于Android电子市场过滤应用程序需求的信息, 请参考Market Filters 文档.应用程序资源Android应用程序不只包含代码—它也需要独立于代码的资源, 例如图像、音频文件以及其它可视化相关的资源. 例如, 你应当使用XML文件定义动画、菜单、风格、颜色以及Activity 用户界面的布局. 通过提供多套可选资源,我们可以在不修改代码的情况下很容易的更新应用程序的各种特征,为特定设备提供优化之后的资源(比如不同的语言、屏幕尺寸).SDK构建工具会为你包含进Android工程的每一个资源项生成一个唯一的整型ID, 你可以使用这个ID在代码或者其它XML资源文件中引用这个资源项. 例如,如果你的应用程序包含一个名为logo.png的图像文件(保存在res/drawable/ 目录), SDK工具会为它生成一个名为R.drawable.logo的资源ID, 你可以使用这个ID引用这个图像并且将它插入用户界面.代码与资源隔离的一个重要方面是,你可以为不同的设备配置提供不同的资源集. 例如, 通过将UI字符串定义在XML文件中, 你可以将字符串翻译成其它语言并存储在单独的文件中. 然后根据你附加到资源目录名称上的语言标识符(例如res/values-fr/ 包含对应的法语字符串) 和用户设置, Android系统会为你的UI选择合适的语言.Android通过标识符支持多种可选资源. 标识符是包含在资源目录名称中的短字符串,它用于匹配设备配置和资源. 例如, 依赖于设备屏幕方向和尺寸,你应该为Activity定义不同的布局. 当屏幕是纵向的时候, 你也许需要按钮是垂直排列的, 但是当屏幕是横向的时候,按钮应该水平排列. 为了根据屏幕方向改变布局,你应该定义两种不同的布局并为布局文件目录名称应用适当的标识符. 这样系统就会根据设备方向自动应用合适的布局.更多关于资源类型、资源与设备配置匹配的信息, 请参考Application Resources 开发指南.。