一步步教你为网站开发Android客户端

合集下载

android app 开发教程

android app 开发教程

android app 开发教程Android App 开发教程可以大致分为以下几个步骤:环境搭建、项目创建、UI设计、功能开发、测试与发布。

首先,环境搭建是开发Android App的第一步。

开发Android App需要使用Java编程语言和Android Studio开发工具。

对于Java,需要先安装JDK并配置环境变量。

然后,下载并安装Android Studio,Android Studio是官方推荐的集成开发环境(IDE),提供了丰富的开发工具和资源。

接下来,创建一个新的Android项目。

在Android Studio中,点击“Start a new Android Studio project”创建一个新的项目。

选择适当的应用程序名称和包名,并确定您的目标Android版本。

此步骤还支持您选择是否包含基本的活动和布局文件。

UI设计是Android App开发中的重要部分。

通过使用Android Studio提供的布局编辑器,可以轻松地创建用户界面。

可以使用约束布局、线性布局、相对布局等不同的布局方式来排列UI元素。

另外,可以选择合适的颜色、字体和图标,以及添加交互元素如按钮、文本框等,来增强用户体验。

接下来,进行功能开发。

此步骤中,需要编写Java代码来实现应用程序的功能。

可以通过编写事件处理程序、定义数据模型、使用网络请求、调用系统服务等方式来完成所需的功能。

需要了解并使用合适的类和方法,以及掌握使用Android框架提供的组件和API。

测试是保证Android App质量的关键步骤。

Android Studio提供了强大的调试工具和模拟器,可以方便快速地测试应用程序。

可以通过使用断点调试、查看日志、模拟用户操作等方式来调试和测试应用程序。

此外,还可以进行适当的单元测试和UI测试来确保应用程序的功能和用户界面的稳定性。

最后,发布应用程序。

在完成开发和测试后,可以将应用程序打包为APK文件,并发布到Google Play商店或其他平台上。

手机端网站开发教程

手机端网站开发教程

手机端网站开发教程手机端网站开发教程移动互联网的快速发展使得手机端网站的需求不断增加。

手机端网站与传统的网站开发有一些区别,需要针对不同的设备和浏览器进行适配。

本文将为您提供一篇手机端网站开发教程,帮助您快速入门并开发出优质的移动端网站。

一、了解移动端网站开发的基本概念1. 响应式设计:响应式设计是指网站能够根据不同的屏幕尺寸和设备自动调整布局和样式,以提供更好的用户体验。

开发手机端网站时,需要使用响应式设计的技术来适配不同的手机设备。

2. 移动端网站优化:移动端网站的加载速度对用户体验至关重要。

开发者需要优化网站的图片、脚本等资源,以减少网站的加载时间。

二、选择合适的技术栈1. HTML5和CSS3:HTML5和CSS3是开发手机端网站的基础技术,提供了丰富的标签和样式选择,可以实现更多的交互效果和动画效果。

2. 前端框架:使用前端框架可以提高开发效率和代码质量。

Bootstrap和Foundation是两个常用的前端框架,它们提供了一系列的组件和样式,可以快速构建出漂亮且响应式的手机端网站。

3. JavaScript框架:JavaScript框架可以帮助我们处理网站的交互和动态效果。

常用的框架有jQuery和React,它们提供了丰富的API和组件,可以方便地实现各种交互功能。

三、移动端网站的布局与设计1. 移动端网站的布局应简洁清晰,避免过多的元素堆砌。

采用流式布局或栅格系统可以实现不同屏幕尺寸下的自适应。

2. 图片和按钮要适当放大,以适应手机屏幕的触摸操作。

3. 使用合适的颜色搭配和字体大小,以确保网站的可读性。

四、开发和测试1. 编写HTML和CSS代码,实现网站的静态布局和样式。

2. 使用JavaScript框架进行交互和动态效果的开发。

3. 进行兼容性测试,确保在不同的手机设备和浏览器上都能正常运行。

五、性能和优化1. 压缩和合并CSS和JavaScript文件,以减少网页的加载时间。

Android应用开发入门发布流程步骤

Android应用开发入门发布流程步骤

Android应用开发入门发布流程步骤随着移动互联网的快速发展,Android应用的开发与发布成为了一个备受关注的话题。

本文将详细介绍Android应用开发的入门发布流程步骤,以帮助初学者顺利进入这个领域。

一、开发前准备在进行Android应用开发之前,我们需要进行一些准备工作。

1. 获取开发工具首先,你需要下载并安装Android Studio,这是Android开发的官方IDE。

Android Studio集成了开发所需的各种工具和资源,同时也提供了一个方便的开发环境。

2. 学习Java编程语言作为Android应用开发的基础,你需要熟悉Java编程语言。

Java是一种面向对象的编程语言,对于理解Android应用开发的概念和原理非常重要。

3. 学习Android开发框架掌握Android开发框架,包括常用的API和组件,是进行Android 应用开发的基础。

你可以通过阅读官方文档或参加培训课程来学习Android开发框架。

二、应用开发一旦你完成了准备工作,就可以开始进行Android应用的开发了。

1. 创建项目在Android Studio中,你可以通过选择"New Project"来创建一个新的Android项目。

在项目创建过程中,你需要设置应用的名称、包名、最低支持的Android版本等。

2. 设计界面Android应用的界面设计使用XML布局文件进行描述,你可以根据应用的需求添加按钮、文本框、图像等组件,通过设置属性来控制它们的外观和行为。

3. 添加功能在应用的开发过程中,你可以根据需求添加各种功能,包括数据库操作、网络请求、权限管理等。

通过使用Java编程语言和Android开发框架提供的API,你可以轻松地实现这些功能。

4. 调试和测试在开发过程中,你需要经常进行调试和测试,以确保应用的正常运行。

Android Studio提供了丰富的调试工具,你可以使用它们来查找和修复代码中的错误。

安卓app开发自学教程

安卓app开发自学教程

安卓app开发自学教程自学安卓App开发是一个非常受欢迎的技能,对于想要进入移动应用开发领域的人来说是非常有帮助的。

下面是一个简单的自学教程,帮助您入门安卓App开发。

1. 设定学习目标:在开始自学之前,您需要明确自己的学习目标。

想要开发什么类型的App?您希望了解什么样的技术和工具?设定清晰的目标可以帮助您更有方向地学习。

2. 学习编程基础:安卓App开发需要具备一定的编程基础,特别是Java语言。

如果您对编程完全没有经验,建议先学习Java语言的基础知识,包括语法、面向对象编程等。

可以通过在线教程、视频课程或参考书籍进行学习。

3. 学习安卓开发框架:安卓开发框架提供了很多方便的工具和库来开发安卓App。

学习安卓开发框架是理解和应用安卓技术的关键。

常用的安卓开发框架包括Android Studio、Gradle、Android SDK等。

可以通过官方文档、在线教程和实践项目来学习这些框架。

4. 学习UI设计:安卓App的用户界面是用户与App交互的重要部分。

学习UI设计可以使您的App看起来更专业、吸引人。

可以通过学习安卓界面布局、颜色和图标设计等来提高UI设计能力。

5. 实践项目:在学习的过程中,要不断地进行实践项目,这样可以帮助您将理论知识应用到实际项目中。

可以从简单的App开始,逐步增加功能和复杂度。

可以使用开发工具和资源,如Android Studio提供的模板和库,以及在线论坛和社区来解决遇到的问题。

6. 继续学习和改进:安卓App开发是一个不断进步和改进的过程。

持续学习新的技术、工具和框架,跟上安卓发展的脚步,并且参与到安卓开发社区讨论和分享经验,可以帮助您不断提高自己的开发技能。

通过以上的学习步骤和实践,您可以自学安卓App开发并逐步提升自己的技能。

在学习过程中,要保持耐心和积极的态度,不断尝试和实践,相信您会取得好的成果!。

使用前端框架技术开发移动端网站的步骤

使用前端框架技术开发移动端网站的步骤

使用前端框架技术开发移动端网站的步骤随着移动设备的普及和移动互联网的快速发展,移动端网站的需求也越来越大。

而使用前端框架技术来开发移动端网站,能够提高开发效率、优化用户体验,并实现跨平台的兼容性。

本文将介绍使用前端框架技术开发移动端网站的步骤,帮助开发者快速入门。

步骤一:选择适合的前端框架技术在开始开发移动端网站之前,首先需要选择适合的前端框架技术。

目前流行的前端框架技术有很多,例如React Native、Ionic、Flutter等。

开发者可以根据项目需求、个人技术掌握程度以及人力资源等方面,选择最适合自己的框架技术。

步骤二:项目初始化与配置在选择了合适的前端框架技术后,接下来需要进行项目初始化和配置。

通过框架提供的命令行工具或者手动创建项目文件结构,开始建立项目的基本框架。

在项目初始化过程中,可以配置一些基本信息,如项目名称、版本号、作者等,同时可以选择和配置所需的插件、组件、样式等。

步骤三:页面设计与布局页面设计是移动端网站开发的重要一环。

需要确定页面的整体风格、布局和功能模块等。

可以通过框架提供的组件和样式库,快速搭建页面的基本结构。

在设计和布局过程中,需要考虑到移动设备的特性,例如屏幕尺寸、触摸操作等。

保持界面简洁、易用和美观,提升用户体验。

步骤四:逻辑编写与数据交互在页面设计和布局完成后,需要编写逻辑代码,实现页面的功能和交互。

通过前端框架提供的组件和API,可以快速实现常见的功能,例如导航、表单、数据展示等。

同时,可以通过网络请求库与后端进行数据交互,获取和展示数据。

在逻辑编写和数据交互中,需要注意代码的可维护性和性能优化。

步骤五:调试与优化在开发过程中,需要经常进行调试和优化工作。

可以通过框架提供的调试工具、浏览器开发者工具等,检查和修复代码的错误和问题。

同时,需要关注页面的加载速度、响应速度和用户体验等方面,进行性能优化。

可以通过代码压缩、图片优化、懒加载等手段,提高页面的加载和渲染速度。

AndroidAPP开发入门教程

AndroidAPP开发入门教程

Android APP开发入门教程这篇文章主要介绍了Android APP开发入门教程,从SDK下载、开发环境搭建、代码编写、APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,需要的朋友可以参考下;工作中有做过App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而android各种机子和rom的问题很多,这也让我产生了学习android和ios程序开发的兴趣;于是凌晨一点睡不着写了第一个android程序HelloAndroid,po出来分享给其他也想学习android开发的朋友,这么傻瓜的Android开发入门文章,有一点开发基础的应该都能看懂;一、准备工作主要以我自己的开发环境为例,下载安装JDK和Android SDK,假如你没有现成的IDE,你可以直接下载SDK完整包,里面包含了Eclipse,如果有IDE那么你可以滚动到下面选择USE AN EXISTING IDE,然后安装SDK,如果你的SDK在安装时找不到JDK目录,你可以在系统环境变量里添加JAVA_HOME变量,路径为你的JDK目录,我的IDE是IntelliJ IDEA,都装好以后开始配置IDE增加SDK支持;首先,打开Android SDK Manager把Android 4.0以上版本的未安装的都打勾装上,根据你个人实际情况,如果你只打算用自己的测试,那就把你机子系统一样版本的SDK包装上,下载时间有点长;然后打开IDE创建新项目,IDEA比较智能,如果你装好了SDK,新建项目里就会出现Android的Application Module,选择后右边Project SDK为空,点击New按钮,找到SDK目录确定,下拉列表就会列出已经安装的各个版本的SDK,选择自己需要的版本,如果是第一次设置,IDE会提醒你先设置JDK,根据提示找到JDK目录即可;填好项目名称后下一步选择USB Device,然后完成项目构建,IDE会自动生成基本的项目所需的文件及目录;二、代码编写做好准备工作后,终于可以开始写我们的hello android了,在开始编写代码之前,我们先了解几个文件:res/layout/main.xml App主窗体布局文件,你的应用长什么样都在这边定义,有Design和Text两种模式res/values/strings.xml 可以理解为i18n文件,这个文件用来存放程序调用的各种字符串src/com/example/helloandroid/MyActivity.java 这个就是我们的主程序类,等下要实现的功能都在这个文件里添加首先为应用添加一个id为hellotextView的textview和一个id为hellobutton 的button,mail.xml 代码如下:代码和控件用到的字符串定义如下:主程序中定义button点击后改变textview显示的文本,并且弹出Toast提示信息,代码如下:代码写好后,电脑通过USB数据线连接,系统设置里的开发人员选项里打开USB 调试,在IDE中直接点Run就可以在上看到运行的效果了;应用打包应用开发完成后就要打包发布了,在IDE的Build菜单下选择Generate Signed APK 来打包应用在弹出的Wizard对话框中需要指定签名的Key,一开始没有Key你可以点击Create New来新建一个Key用于签名,填入签名所需的一些字段后生成Key文件使用生成的Key来签名应用包完成编译后会在刚才我们设置的Designation APK path下生成我们的helloandroid.apk应用包,接下来要怎么安装应用应该不用说了吧,我们的第一个Android App就这样诞生了;。

开发Android应用程序的入门教程

开发Android应用程序的入门教程Android操作系统是目前世界上使用最广泛的移动设备操作系统之一。

它为开发人员提供了广阔的应用开发平台,使他们能够创建各种各样的应用程序,包括游戏、社交媒体应用、工具、娱乐等等。

本文将详细介绍一些开发Android应用程序的基本步骤和注意事项。

步骤一:准备工作1.1 安装Java开发工具包(JDK)在开始开发Android应用程序之前,您需要安装Java开发工具包(JDK)。

您可以从Oracle官方网站下载最新版本的JDK并按照安装向导进行安装。

1.2 下载Android StudioAndroid Studio是官方推荐的Android应用开发工具,它提供了丰富的开发工具和资源,方便您进行Android应用程序的开发。

您可以从Android开发者网站下载最新版本的Android Studio并按照安装向导进行安装。

1.3 创建Android虚拟设备在Android开发中,您可以使用模拟器或物理设备进行应用程序的测试。

建议您通过Android Studio创建一个Android虚拟设备(AVD)作为模拟器。

根据您的需求,选择合适的设备类型、系统映像和其他配置选项创建AVD。

步骤二:创建新项目2.1 打开Android Studio安装完成后,打开Android Studio并点击“Start a new Android Studio project”创建一个新的项目。

2.2 填写应用信息在“Create New Project”对话框中,填写应用信息,包括应用名称、应用包名、项目位置等。

2.3 选择设备和API级别根据您的目标设备和API需求,选择合适的设备和API级别。

通常建议选择最新的API级别以获取更多的功能和优化。

2.4 选择模板Android Studio提供了一些预设的模板供您选择,这些模板可帮助您更快速地创建常见类型的应用程序。

根据您的需求选择一个适合的模板。

客户端开发教程:从零基础到入门(三)

当今时代,互联网的发展已经深入到了我们生活的方方面面。

而作为互联网的重要组成部分之一,客户端开发已经成为了越来越多人关注和学习的领域。

客户端开发是指开发能够在用户的设备上运行的应用程序,比如手机App、桌面应用等。

本文将从零基础开始,一步步带你入门客户端开发。

一、了解客户端开发的基础在开始客户端开发之前,我们需要了解一些基础概念。

首先,我们需要了解什么是客户端和服务端。

简单来说,客户端是用户使用的设备,比如手机、电脑等,而服务端是提供服务的计算机。

客户端开发就是开发能够在客户端设备上运行,通过与服务端进行通信来实现某种功能的应用程序。

其次,我们需要了解客户端开发的相关技术和工具。

目前主流的客户端开发技术包括原生开发、混合开发和跨平台开发。

原生开发是指使用特定平台的开发语言和工具进行开发,比如使用Java和Android Studio开发Android应用。

混合开发是指结合了原生开发和Web开发的方式,使用Web技术开发界面,再通过桥接技术与原生平台进行通信,如使用React Native开发应用。

跨平台开发是指使用统一的开发语言和工具,开发同一应用可以在多个平台运行,如使用Flutter开发应用。

二、选择合适的开发语言和开发工具根据不同的客户端开发方式,我们需要选择合适的开发语言和开发工具。

如果选择原生开发,我们可以选择Java或Swift/Objective-C进行开发。

如果选择混合开发,我们可以选择使用JavaScript和相关的框架进行开发。

如果选择跨平台开发,我们可以选择使用Dart和Flutter进行开发。

此外,在选择开发工具时,我们还需要根据不同平台的要求进行选择。

比如原生开发Android应用,我们可以选择Android Studio作为开发工具;开发iOS应用,我们可以选择Xcode作为开发工具。

对于混合开发和跨平台开发,也有相应的开发工具可供选择。

三、学习开发的基础知识在选择合适的开发语言和开发工具之后,我们需要学习一些开发的基础知识。

Android应用开发入门教程

Android应用开发入门教程移动应用开发已经成为当今互联网行业中最热门的领域之一,而Android平台作为全球最主流的移动操作系统之一,其应用开发也备受关注。

本文将为初学者提供一份Android应用开发入门教程,帮助他们迈出开发的第一步。

一、了解Android平台在开始Android应用开发之前,首先需要了解一些有关Android平台的基本知识。

Android是由Google开发的移动操作系统,基于Linux内核。

它为开发者提供了丰富的应用程序编程接口(API),使开发者能够轻松构建功能强大的应用程序。

二、准备开发环境在进行Android应用开发之前,需要先准备好开发环境。

首先,下载并安装Java开发工具包(JDK),以便使用Java语言进行开发。

其次,下载并安装Android开发工具包(ADT),这是一个提供了完整开发工具和模拟器的集成开发环境(IDE)。

最后,配置ADT和模拟器,以便能够开始开发自己的应用程序。

三、学习Java编程语言Android应用开发主要使用Java编程语言,因此在开始开发之前,需要对Java有一定的了解。

学习Java编程语言包括掌握基本的语法、面向对象编程概念和常用的API。

建议初学者可以通过阅读Java编程教材或参加相关的在线教程来学习Java编程。

四、掌握Android应用开发基础知识在开始开发Android应用之前,有一些基础知识是必须掌握的。

首先,了解Android应用的基本组件,包括Activity、Service、Broadcast Receiver和Content Provider等,这些组件共同构成了Android应用的架构。

其次,学习Android用户界面开发,包括使用布局文件、控件和事件处理等。

同时,也要学习如何处理Android应用的生命周期以及控制应用的状态转换。

五、实践开发一个简单的Android应用理论学习只是为了更好地应对实践开发,在学习了Android应用开发的基础知识之后,可以尝试实践开发一个简单的Android应用。

从零开始的Android应用开发教程

从零开始的Android应用开发教程一、Android应用开发介绍在移动应用开发的领域,Android应用开发是其中重要的一部分。

Android是由谷歌公司基于Linux内核开发的一种开源操作系统,广泛应用于智能手机、平板电脑、电视等设备上。

本篇文章将带领读者从零开始,讲解Android应用开发的基本知识和技巧。

二、准备工作在开始Android应用开发之前,我们需要进行一些准备工作。

首先,确保你已经安装好了Java开发环境(JDK)以及Eclipse或Android Studio等集成开发环境(IDE)。

其次,你需要下载Android SDK,并配置好相应的环境变量。

最后,连接一个Android设备或创建一个虚拟设备,以便在开发过程中进行测试。

三、创建第一个Android应用现在,让我们开始创建我们的第一个Android应用。

首先,在IDE中创建一个新的Android项目,选择适当的应用模板和目标设备版本。

然后,填写应用的名称、包名等信息,这些信息将在应用的清单文件中体现。

最后,选择主题样式以及是否创建一个空的Activity。

点击完成后,IDE将为我们生成一个包含基本结构的项目。

四、布局与界面设计Android应用的界面是由多个布局组成的,其中最常用的布局是线性布局和相对布局。

线性布局按照垂直或水平方向排列视图,而相对布局则根据视图之间的关系进行定位。

我们可以使用XML文件来描述布局并设置视图属性,也可以通过编程的方式动态地创建布局。

另外,Android提供了丰富的UI组件,如按钮、文本框、图片等,可以通过调整属性和样式来美化界面。

五、活动与生命周期在Android中,活动(Activity)是应用的核心组件之一。

每个活动代表着应用中的一个界面,用户与应用交互时,不同的活动会通过切换来呈现不同的界面。

每个活动都有其生命周期,包括创建、启动、暂停、恢复、停止和销毁等阶段。

开发者可以在不同生命周期的回调方法中执行相应的操作,以便管理活动的状态和行为。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一步步教你为网站开发Android客户端注:本文来自友盟-安卓巴士教程大赛第一名获奖作品,作者安卓巴士的ID为liupeinye。

推荐给所有刚刚开始接触Android开发的朋友们!本文面向Android初级开发者,有一定的Java和Android知识即可。

文章覆盖知识点:HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView背景介绍:客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。

而android 系统上的90%客户端软件都有一个共性,就是为了改善网页在android系统上体验不佳而生,最具有影响力的软件有:新浪微博、人人网、淘宝等,这类软件最突出的特点就是,先有网站再有软件。

由于网络技术发展的多样性,手机浏览器往往无法跟随它的步伐,为改善用户体验,网站客户端软件印运而生。

以下内容100%原创,并在安卓巴士论坛首发,如需转载,请注明作者和出处。

谢谢合作。

开发Android网站客户端通常有两种方法:第一种,通过服务端的开放平台,调用提供的API接口来开发,比如说open sina;第二种,服务端没有提供任何接口,你也没有服务端任何数据库访问权限,就是一个纯纯粹粹的网站,要你做客户端。

今天,我要和大家分享的正是第二种情况。

这是一个简单的示意图,告诉我们,数据是由网页从数据库中取出,我们要为这个系统做客户端,我们就应该这样去改造它。

通过这样间接的方法来访问数据库,只要网页能看到的内容,我们的客户端都能获取到,而UI是由你自行制作,就可以使使用体验上一个台阶。

既然网页是我们的数据枢纽,我们就从网页分析着手。

该教程来自本人项目-掌上民大-真实经验,所以用项目中的”掌上图书馆”板块来示范。

该项目任务为中南民族大学图书馆图书查询功能制作客户端。

首先打开该网址/,我们会看到主界面正中间就是查询入口,我们输入”android”进行查询得到结果的网页,但我们能发现,这个页面是ILAS图书管理系统,所以真正的入口并不是上面红圈的地方。

所以我继续找,经过短暂的观察,发现入口在这里我们点击进入果然就是这货,我们点击书目查询就是它了。

真正的入口就在这里,这时我们打开HttpWatch软件,点”Record”,在搜索框里输入”android”,点击查询,抓取以”android”为关键字搜索时浏览器的所有包。

待结果界面载入完成后,HttpWatch上就会出现如下信息我们先看Summary选项卡,我们可以初步了解,这是一个POST请求(Http请求中的一种,另一种是GET),POST到的网址是/cgi-bin/IlaswebBib。

这样我们的思路就清晰了,我们的客户端需要模拟浏览器,向上述地址POST一个包,那个地址肯定会返回一个Content给我们,不出意外的话,Content里面就是我们要的书目信息。

那么,浏览器POST上去的内容是什么呢?我们点击这条POST请求,看详细信息,由于是POST请求,我们先看POST DATA,里面是以键值对的形式存储的,这里显示了我们浏览器在我们搜索”android”时,POST的所有数据。

那这些键值对又代表了什么呢,我们打开这个网页的源码来一探究竟。

从这段可以看出v_index是表示查找途径的它有TITLE,AUTHOR,SUBJECT,CLASSNO,ISBN,CALLNO六种值FLD_DAT_BEG和FLD_DAT_END分别是开始和结束年份v_value表示用户在搜索框中输入的内容v_paggnum表示每页显示的书目条数,有10 15 20三种v_seldatabases是检索库有0 1 2三种值v_LogicSrch是检索方式有0 1两种值Submit是查询或重填,有查询和重填两种值至此,我们弄清楚了POST Data里所有内容的含义和取值可能。

但我们模拟POST请求为什么,其实就是为了得到搜索的书目信息,所以我们看一下返回的Content是不是我们要的东西果然,就是我们搜到的书目信息,就以String的形式放在Content里面。

最后我们查看一下Stream,截图,以防等下我们需要这里面的东西好了,这个页面的工作原理我们已经弄清楚了:用户在网页中输入搜索内容后,点击查询,浏览器会POST 一个Data到目标网址,该网址的返回信息就是搜到的书目。

我们开始编写代码,模拟这个过程,先打开eclipse建立一个Java项目(注意是Java项目,因为Java项目可以完美移植到Android项目中且调试方便,并且模拟Http请求这一过程没有用到任何Android功能)。

导入HttpClient的4个包commons-codec、commons-httpclient、commons-logging、log4j。

1//实例化HttpClient2HttpClient client = new HttpClient();3//Stream页面里面有Host地址端口是804client.getHostConfiguration().setHost("", 80);5//用目标地址实例一个POST方法6PostMethod post = new PostMethod("/cgi-bin/IlaswebBib"); 7//将需要的键值对写出来8NameValuePair beg = new NameValuePair("FLD_DAT_BEG" , “”);9NameValuePair end = new NameValuePair("FLD_DAT_END" , “”);10NameValuePair submit = new NameValuePair("submit" , "查 询"));11NameValuePair vIndex = new NameValuePair("v_index" , “TITLE”);12NameValuePair vLogicSrch = new NameValuePair("v_LogicSrch" , "0");13NameValuePair vPagenum = new NameValuePair("v_pagenum" , "10");14NameValuePair vSeldatabase = new NameValuePair("v_seldatabase" , "0");15NameValuePair vValue = new NameValuePair("v_value" ,”android”);1617//给POST方法加入上述键值对18post.setRequestBody(new NameValuePair[] {beg , end , submit , vIndex , vLogicSrch , vPagenum , vSeldatabase , vValue});19//执行POST方法20client.executeMethod(post);21//将POST返回的数据以流的形式读入,再把输入流流至一个buff缓冲字节数组22//StreamTool类是我自己写的一个工具类,其内容将在下文附出23byte[] buff = StreamTool.readInputStream(post.getResponseBodyAsStream());24//将返回的内容格式化为String存在html中25String html = new String(buff);26//任务完成了,释放连接27post.releaseConnection();28//StreamTool类如下29public class StreamTool {30/**31* 从输入流中获取数据32* @param inputStream输入流33* @return 字节数组34* @throws Exception35*/36public static byte[] readInputStream(InputStream inputStream) throws Exception37{38//实例化一个输出流39ByteArrayOutputStream outputStream = new ByteArrayOutputStream();40//一个1024字节的缓冲字节数组41byte[] buffer = new byte[1024];42int len = 0;43//读流的基本知识44while ((len=inputStream.read(buffer)) != -1) {45outputStream.write(buffer, 0, len);46}47//用完要关,大家都懂的48inputStream.close();49return outputStream.toByteArray();50}51}现在,我们得到了POST方法返回的String,我们输出到控制台看看是什么52System.out.println(html);没错,就是我们上文看到的HttpWatch 抓到的返回Content,也就是一段HTML代码,这说明,我们模拟浏览器POST请求成功了!我们再试试别的搜索内容,来一个”android开发”(即将v_value键值对的值改成”android开发”),这时运行后,我们却从控制台得到了这样的结果:经过几次试验后,发现一个规律,只要搜索内容中包括中文,就搜不到。

所以可以判定是中文编码的问题,(在开发这类客户端时候,中文编码往往是个很具困难的问题。

安卓巴士开发3群的某群友提到:服务器交流用的编码是”ISO-8859-1”,跟我起初用到的编码一致,但真实性仍需考证)所以我们修改上面的代码,将代表搜索内容的v_value对应的值编码为”ISO-8859-1”就将上段代码中的53NameValuePair vValue = new NameValuePair("v_value" ,”android”);改为54NameValuePair vValue = new NameValuePair("v_value" , new String(“android开发”.getBytes(),"ISO-8859-1"));这时再运行,控制台成功输出以” android开发”为关键字的Content。

相关文档
最新文档