PC6下载站

分类分类

如何使用Android实现联网

关注+2010-04-06作者:

如何使用Android实现联网?

  本文建立在 “使用 Eclipse 开发 Android 应用程序” 一文的基础之上,探究了 Android 的网络功能。了解如何利用 Android 的网络选项来实现有趣、有用的东西。Android 平台非常适合 Java™ 开发人员:他们可以使用已有的技能将网络连接带到一个移动或 “嵌入式” 平台中。

  在本文中,了解用于 Android 应用程序的网络选项以及基本的 Android 联网技巧。本文研究一个真实的应用程序,它在结合使用环境监视系统时需要具备联网功能。这类系统为什么如此重要?原因之一是:如果您的朋友需要外出几个星期,在他离开后,他打电话给我,让我从他家里找到某样东西并邮寄给他。我来到他的家里,发现供暖设备已经被切断并且水管已经冻裂 — 场面非常混乱。如果备有一个温度监控系统,那么就可以避免出现这类事故。本文将探查 Android 在这类监控系统中扮演的角色。

  Android 联网功能

  Android 基于 Linux® 内核,包含一组优秀的联网功能。如果尚未安装 Android SDK,那么需要 下载 它才能实践本文的示例。

  表 1 展示了 Android SDK 中一些与网络有关的包。

  表 1. Android SDK 网络包

描述
java.net 提供与联网有关的类,包括流和数据包(datagram)sockets、Internet 协议和常见 HTTP 处理。该包是一个多功能网络资源。有经验的 Java 开发人员可以立即使用这个熟悉的包创建应用程序。
java.io 虽然没有提供显式的联网功能,但是仍然非常重要。该包中的类由其他 Java 包中提供的 socket 和连接使用。它们还用于与本地文件(在与网络进行交互时会经常出现)的交互。
java.nio 包含表示特定数据类型的缓冲区的类。适合用于两个基于 Java 语言的端点之间的通信。
org.apache.* 表示许多为 HTTP 通信提供精确控制和功能的包。可以将 Apache 视为流行的开源 Web 服务器。
android.net 除核心 java.net.* 类以外,包含额外的网络访问 socket。该包包括 URI 类,后者频繁用于 Android 应用程序开发,而不仅仅是传统的联网方面。
android.net.http 包含处理 SSL 证书的类。
android.net.WIFI 包含在 Android 平台上管理有关 WiFi(802.11 无线 Ethernet)所有方面的类。并不是所有设备都配备了 WiFi 功能,特别是 Android 在 Motorola 和 LG 等手机制造商的 “翻盖手机” 领域获得了成功。
android.telephony.gsm 包含用于管理和发送 SMS(文本)消息的类。一段时间后,可能会引入额外的包来来为非 GSM 网络提供类似的功能,比如 CDMA 或 android.telephony.cdma 等网络。

  上表并没有列出所有包,但是可以让您清楚地意识到该平台的强大功能。下一小节将介绍一些简单的网络示例。

  简单的网络示例

  为了演示将 Android 连接到一个网络有多么简单,这个示例将展示如何从 Web 页面发送文本。可以 下载 本例的源代码。图 1 展示了应用程序的实际使用。

  图 1. 从 Web 页面获取文本

使用 Android 实现联网

  本节提供了构建示例应用程序所需的代码。我们将首先查看 UI 部分,然后介绍与网络有关的代码。

  共有三个 UI 元素:

  EditText 让用户能够进入一个 Web 页面(图 1 和 清单 2 所示的 http://developer.android.com)。

  使用一个按钮告诉程序取回 Web 页面文本。

  检索回数据后,它将显示在 TextView 中。

  清单 1 展示了 main.xml 文件,这是该应用程序的完整 UI 布局。

  清单 1. main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
<EditText 
android:layout_height="wrap_content"
android:id="@+id/address"
android:layout_width="fill_parent"
android:text="http://google.com"
>
</EditText>
<Button
 android:id="@+id/ButtonGo" 
 android:layout_width="wrap_content" 
 android:layout_height="wrap_content"
 android:text="go!"
 >
</Button>
<TextView 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  android:background="#ffffff"
  android:textColor="#000000"

android:id="@+id/pagetext"
  />
</LinearLayout>

  清单 2 展示了本示例使用的 Java 代码。

  清单 2. GetWebPage.java

展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消