3、安卓与 Java 开发入门指南

安卓与 Java 开发入门指南

1. 第二版新特性

第二版有诸多更新。之前版本的三个主要应用被四个新应用取代,分别是备忘录应用、绘图应用、数据库应用以及经典贪吃蛇游戏的可玩克隆版。此外,许多迷你应用被废弃、更新或改进,在学习过程中,你将有机会构建十几个实用的迷你应用,以将所学知识付诸实践。同时,书中添加了更多图片、提示和信息框,几乎对每一页内容都进行了补充和完善,即便你已经读过第一版,本书仍有很多值得学习的地方。

2. 为何选择 Java 和安卓

2008 年安卓刚推出时,与苹果 iPhone 上时尚的 iOS 相比略显逊色。但很快,凭借各种吸引不同用户群体的手机产品,安卓用户数量激增。对很多人来说,开发安卓应用是极具回报的消遣和事业。快速搭建创意原型、完善它,然后将其打造成成熟应用的过程令人兴奋且满足。

开发安卓应用之所以如此有吸引力,可能是因为其平台免费且开放,你无需大型企业许可就能分发应用,同时还有像亚马逊应用商店和谷歌应用商店这样成熟的市场。更可能的原因是安卓设备的特性,它们与用户紧密相连,你可以开发能融入人们生活、起到教育、娱乐等作用的应用,这些应用随时可在用户的口袋中待命。

如今,开发应用不再被视为古怪或孤僻的行为,安卓开发被认为是一项高技能工作,成功的开发者备受钦佩。随着设备拥有量的持续增长、CPU 和 GPU 性能的不断提升以及安卓操作系统的不断演进,专业应用开发者的需求只会增加。然而,并非人人都成为安卓开发者,可能是因为并非所有人都热衷于创造能改善人们生活的软件。

对于初学者而言,学习安卓应用开发存在一个障碍。安卓使用 Java 开发应用,但大多数安卓书籍假定读者至少具备中级 Java 水平,很多甚至要求高级水平。在与安卓无关的环境中学习 Java 有时会很枯燥,且很多知识无法直接应用到安卓开发中,这使得很多初学者望而却步。不过,本书将 Java 知识融入到四个多章节应用和十几个迷你应用中,从简单的备忘录应用逐步过渡到绘图应用、数据库应用和可玩游戏,能帮助你更轻松地学习。

3. Java 与安卓的协作方式

在开始安卓开发之前,需要了解 Java 与安卓的协作原理。当我们为安卓编写 Java 程序后,点击按钮,代码会被转换为安卓能理解的 Dalvik Executable(DEX 代码),这个过程称为编译。

安卓是一个复杂的系统,但无需深入理解其内部原理就能开发出出色的应用,随着使用和交互,你会逐渐深入了解。安卓系统中执行编译后 DEX 代码的部分是 Dalvik 虚拟机(DVM),它是用另一种语言编写的软件,运行在经过特殊适配的 Linux 操作系统上。用户看到的安卓实际上是运行在另一个操作系统上的应用。

DVM 的作用是隐藏安卓运行的硬件和软件的复杂性和多样性,同时暴露其有用的功能。这通过两种方式实现:一是 DVM 本身可以访问硬件;二是通过安卓应用编程接口(API),使这种访问对程序员友好且易于使用。

4. 安卓 API

安卓 API 是让我们轻松完成非凡任务的代码。可以用汽车来类比,当你踩下油门时,引擎盖下会发生一系列复杂的事情,但我们无需了解燃烧或燃油泵的原理,因为工程师为我们设计了一个机械接口——油门踏板。

例如,下面这行 Java 代码:

locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER)

乍一看可能有些吓人,但它展示了安卓 API 的强大之处。这行代码能搜索太空中可用的卫星,与它们通信,并获取你在地球上的精确经纬度。

安卓 API 包含大量已编写好的 Java 代码供我们使用。对于安卓代码的行数有不同的估计,从 100 万到 2000 万不等。尽管代码量巨大,但安卓在编程界却以某种特性著称。我们要问的问题是:如何利用这些代码实现酷炫的功能?答案是 Java 编程语言,它旨在帮助程序员处理复杂性。

5. Java 的面向对象特性

Java 是一种比安卓历史更悠久的编程语言,它是面向对象的语言,使用可复用的编程对象概念。用汽车来类比,如果汽车制造商一天生产多辆车,他们不会为每辆车重新设计每个部件,而是让高技能工程师开发合适的部件,这些部件会被反复使用并不断改进。

在 Java 中,软件工程师编写代码时会创建对象的蓝图,我们使用 Java 代码根据这些蓝图创建对象,创建后可以配置、使用和组合这些对象。我们也可以自己设计蓝图并创建对象,编译器会将我们的创作转换为 DEX 代码,从而得到安卓应用。在 Java 中,蓝图被称为类,当类被转换为实际运行的“东西”时,我们称之为对象或类的实例。

Java 允许我们编写一次代码并多次使用,这节省了时间,让我们可以使用他人的代码完成原本可能没有时间或知识编写的任务。大多数时候,我们甚至不需要看到这些代码或了解其工作原理,就像我们只需要学会开车而不需要了解汽车的所有内部构造一样。

6. 安卓的本质

在安卓上完成任务,我们编写自己的 Java 代码,并使用安卓 API 的 Java 代码,这些代码被编译成 DEX 代码,由 DVM 运行,DVM 与底层的 Linux 操作系统相连,Linux 操作系统负责处理各种不同安卓设备的复杂硬件。安卓设备和硬件组件制造商编写驱动程序,确保硬件能在 Linux 操作系统上运行。

DEX 代码(以及其他资源)被打包成安卓应用包(APK),这是 DVM 运行我们应用所需的文件。我们无需记住代码与硬件交互的详细步骤,只需理解 Java 代码经过自动化过程后能成为我们发布到谷歌应用商店的应用即可。

7. 安卓开发环境——安卓工作室

开发环境是指将开发所需的一切集中在一处。开始安卓开发需要两样东西:一是 Java 开发工具包(JDK),用于将 Java 代码编译成能在用户安卓设备上的 DVM 运行的 DEX 代码,JDK 还包含与安卓 API 不同的其他代码;二是安卓软件开发工具包(SDK),它包含开发安卓应用所需的一系列工具和安卓 API。幸运的是,下载并安装一个名为安卓工作室的应用程序,就能将这些东西打包在一起。

安卓工作室是一个集成开发环境(IDE),它会处理代码编译以及与 JDK 和安卓 API 链接的复杂问题。安装安卓工作室后,我们可以在这个单一应用中完成所有开发工作,无需过多担心之前讨论的复杂性。随着时间推移,这些复杂性会变得习以为常,掌握它们并非进一步学习的必要条件。

8. 安装安卓工作室

安装安卓工作室虽然有点耗时,但步骤相对简单,具体如下:
1. 访问 developer.android.com/studio/index.html,点击绿色的“DOWNLOAD ANDROID STUDIO”按钮。
2. 勾选复选框接受条款和条件,然后点击蓝色的“DOWNLOAD ANDROID STUDIO FOR WINDOWS”按钮。
3. 下载完成后,运行下载的文件(文件名以“android - studio - ide…”开头,结尾根据当前版本而定)。
4. 点击“Next >”按钮继续。
5. 保留默认选项,点击“Next >”按钮。
6. 选择安卓工作室的安装位置。安装向导建议至少 500 MB 可用空间,但实际可能需要更多,建议至少有 4 GB 可用空间。如果需要更换磁盘,使用“Browse…”按钮选择合适的位置,并记录所选位置。
7. 准备好后,点击“Next >”按钮。
8. 在接下来的窗口中,选择安卓工作室在开始菜单中显示的文件夹,保留默认设置。
9. 点击“Install”按钮,此步骤可能需要一些时间,特别是在旧机器或网络连接较慢的情况下。安装完成后,会出现相应屏幕。
10. 点击“Next >”按钮。
11. 此时安卓工作室已基本安装完成,勾选“Start Android Studio”复选框,点击“Finish”按钮。
12. 你会看到欢迎屏幕,点击“Next”按钮。
13. 选择“Standard”安装类型,点击“Next”按钮。
14. 选择你喜欢的配色方案,例如“IntelliJ”。

以下是安装步骤的流程图:

graph LR
    A[访问下载页面] --> B[接受条款下载]
    B --> C[运行下载文件]
    C --> D[点击下一步]
    D --> E[保留默认选项下一步]
    E --> F[选择安装位置]
    F --> G[选择开始菜单文件夹]
    G --> H[点击安装]
    H --> I[安装完成点击下一步]
    I --> J[勾选启动并完成]
    J --> K[欢迎屏幕下一步]
    K --> L[选择安装类型下一步]
    L --> M[选择配色方案]

通过以上步骤,你就可以完成安卓工作室的安装,开启安卓应用开发之旅。在后续的学习中,你将逐步掌握如何使用安卓工作室构建和部署自己的应用。

安卓与 Java 开发入门指南

9. 构建并部署首个安卓应用

完成安卓工作室的安装后,就可以开始构建并部署首个安卓应用了。以下是具体的操作步骤:
1. 创建新项目
- 打开安卓工作室,在欢迎界面点击“Start a new Android Studio project”。
- 在弹出的窗口中选择应用的模板,例如“Empty Activity”,然后点击“Next”。
- 配置项目信息,包括应用名称、包名、保存位置等,点击“Finish”,安卓工作室会自动创建项目结构。
2. 编写 Java 代码
- 在项目结构中找到“java”目录下的主活动文件(通常以“MainActivity.java”命名)。
- 打开该文件,你可以看到已经生成了一些基础代码。例如,以下是一个简单的创建按钮并设置点击事件的示例:

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button myButton = findViewById(R.id.my_button);
        myButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MainActivity.this, "Button clicked!", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
  1. 设计布局文件
    • 在“res/layout”目录下找到对应的布局文件(通常是“activity_main.xml”)。
    • 可以使用可视化编辑器或手动编写 XML 代码来设计界面。例如,添加一个按钮的 XML 代码如下:
<Button
    android:id="@+id/my_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Click Me"
    android:layout_gravity="center" />
  1. 编译代码
    • 点击安卓工作室工具栏中的“Make Project”按钮(锤子图标),安卓工作室会将 Java 代码编译成 DEX 代码。
    • 如果代码没有错误,编译过程会顺利完成,否则需要根据错误提示进行修改。
  2. 部署应用到模拟器
    • 点击安卓工作室工具栏中的“Run”按钮(绿色三角形图标)。
    • 在弹出的“Select Deployment Target”窗口中,选择一个已有的安卓模拟器或创建一个新的模拟器。
    • 点击“OK”,安卓工作室会将应用安装到模拟器上并自动启动。
  3. 部署应用到真机
    • 用 USB 线将安卓设备连接到电脑,并开启设备的 USB 调试模式。
    • 在“Select Deployment Target”窗口中,选择你的安卓设备。
    • 点击“OK”,应用会被安装到真机上并启动。

以下是构建和部署应用的步骤表格:
|步骤|操作内容|
| ---- | ---- |
|创建新项目|选择模板、配置项目信息|
|编写 Java 代码|在主活动文件中编写逻辑代码|
|设计布局文件|在 XML 文件中设计界面|
|编译代码|点击“Make Project”按钮|
|部署到模拟器|选择模拟器并运行|
|部署到真机|开启 USB 调试,选择设备运行|

10. 总结与展望

通过前面的学习,我们了解了安卓开发第二版的新特性,明白了选择 Java 和安卓的原因,掌握了 Java 与安卓的协作方式、安卓 API 的作用以及 Java 的面向对象特性。同时,我们完成了安卓工作室的安装,并成功构建和部署了首个安卓应用。

在未来的学习中,我们可以基于现有的知识,进一步深入学习安卓开发。可以尝试构建更复杂的应用,如具有网络请求、数据库操作等功能的应用。还可以学习如何优化应用性能,提高应用的响应速度和稳定性。此外,了解安卓系统的更多高级特性,如多线程编程、传感器应用等,将有助于我们开发出更具创意和实用性的应用。

以下是未来学习方向的流程图:

graph LR
    A[基础学习] --> B[构建复杂应用]
    B --> C[优化应用性能]
    C --> D[学习高级特性]
    D --> E[开发创意应用]

希望大家在安卓开发的道路上不断探索,创造出更多优秀的应用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值