Develop系列-API Guides-简介-应用基础

 2023-09-09 阅读 20 评论 0

摘要:应用基础 app用Java语言编写,以apk为后缀。 apk运行在自身安全的沙盒中: Android是多用户Linux系统,每个app就是一个不同的用户 默认的,系统给每个app分配唯一的Linux用户ID,并设置访问权限 每个进程有自己的虚拟机VM 默认的,每个

应用基础

app用Java语言编写,以apk为后缀。

apk运行在自身安全的沙盒中:

  • Android是多用户Linux系统,每个app就是一个不同的用户
  • 默认的,系统给每个app分配唯一的Linux用户ID,并设置访问权限
  • 每个进程有自己的虚拟机VM
  • 默认的,每个app运行在自己的Linux进程

android系统实行最小权限原则。

然后,有两种方式可以在不同app之间共享数据或者使用系统服务:

  • 两个app共享相同的Linux用户ID,他们就能互相访问各自的文件,app必须是相同签名的
  • app可以申请权限去访问终端数据,比如用户联系人,短信息,SD卡,相机,蓝牙等等,所有app权限都必须在安装时由用户授权。

app组件

Activities

呈现单屏UI界面

Services

unity api中文手册。长时间在后台运行,无界面

Content providers

管理共享的app数据集,存储方式包括文件系统、SQLite数据库、Web或者app能够访问的任意存储位置

Broadcast receivers

广播响应全系统的广播通知,无界面,可以创建状态栏的通知

启动组件

Intent

startActivity(), startActivityForResult()

startService(), bindService()

sendBroadcast(), sendOrderedBroadcast(), sendStickyBroadcast()

java api 中文手册?ContentResolver.query() 

Manifest文件

定义组件

  • <activity>
  • <service>
  • <receiver>
  • <provider>

activity, service, content provider 必须是在manifest里面静态注册,而broadcast可以动态注册

定义组件能力

显式指定组件类名来启动,或者隐式地通过intent filter来定义

定义app依赖项

Android终端众多,为了保证app能够在任意终端运行,需要定义app依赖运行的软硬件条件,比如,你的app需要照相功能并且运行在Android2.1(API LEVEL 7)版本之上,你需要定义如下依赖项:

<manifest ... ><uses-feature android:name="android.hardware.camera.any"android:required="true" /><uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" />...
</manifest>

这样Google Play检测到当前设备没有照相功能或者Android版本低于2.1就不能安装你的应用。

如果你的app要用到照相功能,但不是必须使用,那可以将android:required设置为false,然后在运行时动态检查设备是否具有照相功能,来兼容不同的设备。

app资源

API手册、任何一个非代码的资源文件,SDK编译工具会定义一个唯一的整型ID,这样能够被代码或其他资源索引到。

资源文件夹支持多种限定词来进行全球化、横竖屏等多场景的兼容。

转载于:https://www.cnblogs.com/konger/p/3896051.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/22667.html

上一篇:CGGeometry.h详解
下一篇:hdu 2072单词数

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息