《Android App开发入门:使用Android Studio 2.X开发环境》——2-8 修改项目的程序包名称和应用程序 ID

简介: 本节书摘来自华章计算机《Android App开发入门:使用Android Studio 2.X开发环境》一书中的第2章,第2-8节,作者 施威铭,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2-8 修改项目的程序包名称和应用程序 ID

如果用户将第 2-5 节的 Ch02_Button 范例部署到手机上执行,然后又把第 2-6 节的范例 Ch02_EditText 部署到手机上执行,会发现手机的应用程序列表中只有 Ch02_ExitText,却没有 Ch02_Button。

在第1章曾经提过,程序包名称是 Android App 在手机上的身份证 ID,而 Ch02_ExitText 项目是从 Ch02_Button 复制而来的,它们的程序包名称相同(?ag.com.ch02_button),因此后来部署到手机上的 Ch02_ExitText 会覆盖掉之前的 Ch02_Button。

其实在 Android Studio 的项目中,有 3 个地方和程序包名称有关。

  1. Java 类程序的程序包名称

所有的 Java 程序(如 MainActivity 程序)都必须指定程序包名称,这是 Java 规定的,以便让每个类名称都是全世界唯一的。例如:

image

  1. 应用程序的程序包名称

这是用来作为App的身份证 ID的。另外,项目的资源类(R.java)也会以此作为其所属的程序包名称。此名称定义在 AndroidManifest.xml 中。

image

3.在 Gradle 中设置的应用程序 ID(Application Id)

Android Studio 是使用 Gradle 系统构建(Build)程序的,由于同一个项目可以构建多种不同的 apk 程序(如免费版、专业版等),因此在 Gradle 中可以针对每种 apk 指定不同的“应用程序 ID”,以便在构建时取代 AndroidManifest.xml 中的程序包名称, 而成为 apk 最后的身份证 ID。

image

以上3种名称默认都会相同(如都是com.?ag.ch02_button),但其实并不一定要相同。除非的确有必要,否则还是保持一致比较好,这样才不会造成混淆。

下面示范如何修改 Ch02_EditText 项目的程序包名称,首先使用 Refactor(重构)功能快速修改前两项名称。

image
image
image

接下来修改应用程序 ID,虽然可以直接打开前述的 Gradle 文件进行修改,但为了避免改错或漏改,而且改完还要重建 Gradle,所以还是利用 Android Studio 提供的界面修改,这样比较直接而且安全。依次单击“File/Project Structure...”菜单选项,然后进行如 下操作。

image
image
image

延伸阅读

(1)如果想查询各个组件有哪些属性、方法,或者想看更详细的说明,可连到 Android 开发者网站 (developer.android.com),然后以组件或功能的名称进行搜索,例如:

image
image

(2)有关 TextView、EditText、Button 的其他属性与方法,可到 Android 开发者网站分别以类名称进行搜索,以得到详细的说明。

(3)有关 Android layout 布局文件的 XML 编写格式,可到 Android 开发者网站以在线文件Layout XML进行搜索。

(4)有关 Application Id 和 Package Name 的详细解说,可到 Android 开发者网站以Application Id进行搜索。

image

重点整理

*1. Android App 是由一个个界面所组成的,每一个界面都由各自的 Activity负责。Activity 的组成可分成“视觉”与“程序逻辑”两部分:视觉也就是用户界面的设计,而程序逻辑是程序行为的设计。在项目中,视觉部分主要是在 res 文件夹下的界面布局文件和各种资源;而程序逻辑是 java 文件夹中的 Java 程序。

*2. Activity 的界面内容是用资源中的布局(Layout)文档定义的。

  1. Android 项目向导创建的默认布局包含两个组件:RelativeLayout 布局组件是通过“相对(Relative)位置”规划组件的位置;TextView 组件是用来显示一段文字,如默认显示“Hello world!”字符串。

*4. 在布局中为组件的 id 属性命名,在程序中就能通过组件的资源ID存取组件。 在布局编辑器的 Text 页面中设置名称时,其格式为“@+id/( 名称 )”,在程序中存取时的资源 ID 就是“R.id. 名称”。

  1. Android 支持多种尺寸单位,其中 sp、dp 是建议使用的逻辑单位,它会随手机屏幕的实际大小、分辨率而调整。sp 还会随手机设置居中的字号调整,所以比较适用于组件的 textSize 属性。
  2. 在复制旧项目来使用时,由于 Android App 是以程序包名称分辨程序的,因此在复制后需更改程序包名称,才会被识别为不同的应用程序。不过在实际构建(Build)项目时,会以 Gradle 中设置的应用程序 ID 覆盖掉 apk 的程序包名称,因此也要一并修改应用程序 ID 才行。

*7. 当用户执行 Android App 时,系统会先找出要先启动的 Activity,并创建所要启动的 Activity 对象,再调用onCreate() 方法。在此方法内加入自己的程序,当 Activity 被启动时(Android App 被执行时),就会执行用户的程序。

*8. 在 res 文件夹加入资源时,会自动在项目中创建代表该项资源的资源 ID。在程序中可用“R.资源类.资源名称”的格式存取该资源。

*9. 以“R.资源类.资源名称”为参数调用 ?ndViewById() 会返回代表该组件的 View 类对象,使用时通常要将其转型为组件专用的类(如 TextView)。

image

  1. TextView 类的 setText() 方法可设置显示的文字。
  2. 按钮的 onClick 属性可指定为 Activity 类中 public 的方法名称,当用户单击按钮时,Android 就会调用该方法。若方法的定义不对、名称不符合,则用户单击按钮时会产生错误。
  3. 若想将编写好的程序直接放在手机上执行,则可用手机附带的 USB 线把手机与计算机相连,再从 Android Studio 中直接将程序上传到手机中执行。

image

习题

image
image

相关文章
|
24天前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
441 1
|
1月前
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
129 0
安卓项目:app注册/登录界面设计
|
2月前
|
IDE Android开发 iOS开发
深入解析Android与iOS的系统架构及开发环境差异
本文旨在探讨Android和iOS两大主流移动操作系统在系统架构、开发环境和用户体验方面的显著差异。通过对比分析,我们将揭示这两种系统在设计理念、技术实现以及市场策略上的不同路径,帮助开发者更好地理解其特点,从而做出更合适的开发决策。
148 2
|
3天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
21 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
24天前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
163 3
|
30天前
|
小程序 JavaScript 前端开发
uni app 入门
uni app 入门
29 2
|
1月前
|
开发工具 Android开发 iOS开发
深入解析安卓与iOS开发环境的优劣
【10月更文挑战第4天】 本文将深入探讨安卓和iOS两大主流移动操作系统的开发环境,从技术架构、开发工具、用户体验等方面进行详细比较。通过分析各自的优势和不足,帮助开发者更好地理解这两个平台的异同,从而为项目选择最合适的开发平台提供参考。
22 3
|
1月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
181 2
|
1月前
|
开发工具 Android开发 开发者
Android开发环境搭建
如何搭建Android开发环境,包括下载和安装Android Studio、配置SDK、创建新的Android工程项目等。
63 0
Android开发环境搭建
|
29天前
|
开发工具 Android开发 Swift
安卓与iOS开发环境的差异性分析
【10月更文挑战第8天】 本文旨在探讨Android和iOS两大移动操作系统在开发环境上的不同,包括开发语言、工具、平台特性等方面。通过对这些差异性的分析,帮助开发者更好地理解两大平台,以便在项目开发中做出更合适的技术选择。

热门文章

最新文章

下一篇
无影云桌面