响应式网页设计、开放源代码、永久使用、不限域名、不限使用次数

2024年移动互联网应用开发软件(3篇)

移动互联网应用开发软件 第1篇

配置文件AndoridManifest会告诉Android系统,应用程序(APP)的各种配置信息,比如程序的运行环境、所需要的权限以及Andriod的各种组件(活动、服务,广播,内容提供商等等)。打开配置文件,首先看到应用程序的配置信息,包括应用的图标(icon),应用的名称(label),以及主题样式(theme)等等,如下图所示。

应用标签()的下面是程序的界面——Activity(称为活动)。它是移动应用最重要的部分,是程序的四大组件之一。

工程项目中还有一个文件非常重要,它就是存放资源编码的R文件,如下图所示。通过R文件,在程序中可以引用各种资源,比如:字符串、图标、样式等等。每一个资源在R文件中都有唯一的编码(id号)。在程序中要引用资源的时候,都是通过这个id号进行访问。R文件不需要手工构造,它由Android Studio自动生成。

R文件中对应的资源都存放在res目录中,不同的资源又存放在不同的文件夹下面,例如:图片存放在drawable目录下面,布局存放在layout目录下面等等。这些文件夹的名称都是Andriod规定好的。

项目代码生成好以后,需要将源代码打包成可执行的形式,对于Android应用来说就是生成apk,然后安装到移动设备上运行。完成这一系列任务需要一个专门的工具,这通常由构建工具来处理。

构建工具是一个把源代码生成为可执行应用程序的过程自动化程序,其中包括编译、连接、代码打包、生成可执行文件等步骤。在Android Studio中,使用Gradle来构建项目。Gradle是一个开源的自动化构建工具,它不仅限于构建 Android 应用程序,还可用于其他应用程序的构建,比如用于Java或C++等多种项目。在Android Studio的项目窗口(project)中,可以看到一个名为的文件。Android项目有两个gradle文件:一个是整个工程项目的gradle文件,另一个是模块的gradle文件,两个gradle文件分别存放在不同的文件夹下面。

首先打开项目构建文件可以看到,文件中主要包括两个部分:(1)应用的远程代码仓库,指定为jcenter;(2)工程项目的依赖库(dependencies)。项目构建文件如下图所示。

文件中,两个地方的repositories闭包都声明了jcenter。jcenter是一个代码托管仓库,很多Android开源项目都会将代码托管到jcenter上。Android应用可以通过访问远程代码仓库jcenter来获取各种插件,比如:在依赖项dependencies闭包中使用classpath声明一个Gradle插件:“com. ”(最后面的数字部分是插件的版本号),即可在依赖库中加入gradle插件,并在项目中使用,非常方便。

在一个Android项目中还可以包含多个模块,每个模块都有一个gradle文件,它存放在模块的文件夹下面,如下图所示。模块gradle文件包含的基本信息有:各种版本信息、自定义构建类型(BuildType)和依赖项。首先看到模块使用的 SDK 版本,比如:这里的24就代表支持 Andriod ,最低的 SDK 版本:23 表示最低支持 Android 。

在Gradle脚本里有一项是buildTypes。它默认包含debug和release这两种构建类型,并且还可以在其中设定应用是否需要混淆代码,以防止反编译。buildTypes的下面是依赖声明,可以声明本地依赖或者远程依赖。远程依赖的格式是先给出域名,比如:,然后是冒号,随后是组名appcompat-v7(appcompat_v7是Android的向下兼容包),其中是版本号。Gradle在构建项目时会首先检查本地是否已经有这个库的缓存,如果没有就会自动联网下载,然后将它添加到项目的构建路径中。

日志工具主要用来显示程序运行中的各种信息,比如运行中某个变量的取值。通过查看这些信息可以了解程序的运行状态,便于发现问题和调试程序。在Java语言中,一种最简单的日志显示方式是采用函数来输出各种信息。而在Android开发中,一般不使用这个方法,主要是因为println函数输出的日志信息不可控制,输出的时间无法确定,并且不能对各种不同的信息进行过滤,而且信息也没有按照程序问题的严重程度划分不同的级别。Android提供的替代方案是使用日志类Log()。

在Android Studio菜单View中选择Tool Windows选取显示Logcat窗口。在Logcat窗口中可以看到各种日志信息。

日志信息的级别由低到高,一共有五种类型的日志信息,分别是verbose、debug、info、warn和error。()函数用于打印最为琐碎、意义最小的日志信息。()函数用于打印调试信息,这些信息对调试程序和分析问题有帮助。()函数打印一些比较重要的数据,这些数据帮助开发人员分析用户行为。()函数打印警告信息,提示程序可能存在的潜在风险。这些出现警告的地方开发人员需要认真检查并加以修改。()函数用于打印程序中的错误信息,例如:程序中出现了异常。错误信息通常表明程序存在比较严重的问题,需要修复才能正常运行。Log函数有两个参数,第一个参数用来过滤掉那些不想查看的信息,第二个参数是显示在Logcat窗口上的信息。过滤器设置完成以后,运行程序,可以看到过滤后的信息,也可以在Logcat窗口中选取要查看日志的级别,这样能够对信息进行分类过滤。

除了通过日志工具查看各种信息以外,在Android中,还提供了另外一种运行时查看信息的方式——Toast。在程序中通过编写Toast代码,可以在Android应用的运行界面上弹出一个提示窗来显示信息。提示信息通常只显示一段时间,然后消失,它不会影响程序的运行。使用Toast时,首先通过调用Toast类的makeText()函数创建一个Toast对象,然后调用show()函数将信息显示在界面上。makeText函数有三个参数,第一个参数是提示信息显示的上下文环境(Context),例如:FirstActivity界面,由于活动本身就是一个Context对象,因此直接传入 ;第二个参数是要显示的文本信息;最后一个参数有两个选项,一个是Length_short,另一个是Length_long,分别表示显示时间的长短。

(2) 移动应用程序的权限管理

当Android应用要完成某种敏感的操作,比如:拨打电话、发送短信、使用摄像头等等,都需要向用户申请权限,这就确保了系统的安全。在早期的Android系统中,如果应用程序要使用某项需要权限的功能,就需要在全局配置文件(AndroidManifest)中进行设置,比如:要获取网络状态信息,需要在配置文件中进行声明:

在全局配置文件中申请权限,称为静态权限申请。采用静态权限的管理方式,在使用过程中会存在一些问题:如果通过全局配置文件请求权限,用户在安装应用的时候,就必须同意各种权限申请;如果用户不同意,应用就无法安装。这就使得很多应用程序在安装时就向用户请求过多的权限,而有的权限可能是应用程序完全不需要的。这样就会强迫用户在安装时必须同意对权限的请求。

针对这一问题,Google在Android 以后加入了动态权限管理——运行时权限。对于一些敏感权限,在用户使用时进行动态申请。用户可以拒绝这些权限的申请,虽然不使用敏感性的操作,但同时又不影响其他功能的使用;而对于已经授予过的权限,用户也可以在系统设置中关闭授权。通过这种方式可以防止一些应用恶意访问用户数据,提高了系统的安全性。

Android 将移动应用的所有权限分为两类:一类是普通权限,一类是危险权限。普通权限通常不会直接威胁到用户的安全和隐私。这类权限只需要通过静态注册的方式提出申请,用户在安装应用的时候进行确认;确认后,系统会对应用授权,以满足程序的运行需求。危险权限是那些可能会涉及用户隐私,或者对移动设备造成安全隐患的权限,比如:获取手机上联系人电话、定位手机的地理位置等等。这部分权限不能用静态方式注册,必须编写代码,在程序运行的时候,弹出权限请求窗口,然后由用户选择是否授权。如果用户不同意,程序就无法使用相应的功能。

危险权限一共有9组,共24个权限,分别是日历、摄像头、联系人、地理位置、麦克风、电话、传感器、短信以及存储,如下表所示。每个危险权限都属于一个权限组,比如存储权限组就包括读和写两个权限。在编写权限申请代码的时候,开发人员根据权限名申请授权。如果程序在运行过程中需要该权限,就弹出窗口,提示用户授权。如果用户同意,那么这个权限所在权限组中的所有其他权限也会被同时授权。

Permission Group(权限分组)

Permissions(权限)

CALENDAR(日历)

READ_CALENDAR WRITE_CALENDAR

CAMERA(摄像头)

CAMERA

CONTACTS(联系人)

READ_CONTACTS WRITE_CONTACTS GET_ACCOUNTS

LOCATION(地理位置)

ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION

MICROPHONE(麦克风)

RECORD_AUDIO

PHONE(电话)

READ_PHONE_STATE CALL_PHONE READ_CALL_LOG WRITE_CALL_LOG ADD_VOICEMAIL USE_SIP PROCESS_OUTGOING_CALLS

SENSORS(传感器)

BODY_SENSORS

SMS(短信)

SEND_SMS RECEIVE_SMS READ_SMS RECEIVE_WAP_PUSH RECEIVE_MMS

STORAGE(存储)

READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE

每当需要申请一个权限时,可以先查询这张表格。如果是属于这张表中的权限,那么就需要编写代码,在运行时申请权限;如果申请权限不在这张表中,那么只需要在文件中添加权限声明就可以了。

下面以拨打电话权限(危险权限)为例,来编写权限申请代码。首先,应用程序在每次需要“拨打电话”时,都要判断应用目前是否有该项权限。在程序中通过调用()函数进行判断,如果返回,表示已经授权;如果没有授权则需要调用 requestPermissions() 函数来请求授权。这时系统会弹出一个权限申请对话框,用户可以选择同意或拒绝权限申请。不论是哪种结果,最终都会回调onRequestPermissionsResult()函数返回授权结果。其中requestCode表示申请的编号,用来判断当前申请的是哪一个权限,授权的结果则会封装在grantResults参数当中。

在onRequestPermissionsResult()函数中,将根据用户的授权结果进行判断:如果用户同意,就调用call()函数来拨打电话;如果用户拒绝,只能放弃操作,并且弹出一条失败提示。示例代码如下:

1、本单元考核点 Android Studio开发软件工程的建立。 Android工程项目的各个目录和文件,构建工具Gradle。 Android的权限管理。 2、本单元课后习题 1、简述和文件的用途。 答案:文件是ADT自动生成的文件,包含对drawable、layout和values目录内的资源的引用指针,Android程序能够直接通过R类引用目录中的资源。是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序名称、图标、包名称、模块组成、授权和SDK最低版本等,而且每个Android程序必须在根目录下包含一个文件。 2、简述Android系统的四种基本组件Activity、Service、BroadcaseReceiver和ContentProvider的用途。 答案:Activity是Android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件,用于提示用户程序已经正常启动。 Service一般用于没有用户界面,但需要长时间在后台运行的应用。 BroadcaseReceiver是用来接受并响应广播消息的组件。 ContentProvider是Android系统提供的一种标准的共享数据的机制,应用程序可以通过ContentProvider访问其他 应用程序的私有数据。

参考资源:

1、Android Studio 中文社区:

2、Google Developers:

移动互联网应用开发软件 第2篇

创建第一个Android应用项目,首先设定项目的命名规范。将开发项目划分为个人项目和公司项目两类。个人项目又分为由个人完成和由团队完成两种。项目名称的第一个前缀用来区分个人还是团队,然后依次是团队和个人名称以及模块名称。接下来遵循项目命名规范,构建第一个移动应用工程项目。

打开Android Studio,选择文件(File)菜单的新建项目(New Project),然后输入应用的名称、公司的域名或个人的名称,以及项目存放的位置,如下图所示。单击“下一步(Next)”按钮,进入下一个设置窗口。

在窗口的“minimum SDK”选项中,选择应用支持的最低SDK版本,如下图所示。随后,一步步按照提示操作,创建自己的工程项目。

移动互联网应用开发软件 第3篇

如果不采用Android Studio提供的模拟器,也可以使用第三方模拟器。通常有两种类型的模拟器:一类基于Bluestacks,另一类基于VirtualBox。Bluestacks把Android底层的API接口翻译成Windows API,它对计算机的硬件本身没有要求,在硬件兼容性方面有一定的优势。Virtualbox是Oracle旗下的开源项目,它在Windows内核中直接插入驱动模块,创建一个完整的虚拟电脑环境运行安卓系统。第三方模拟器Genymotion就是基于VirtualBox,它的个人版是免费的。

猜你喜欢