当前课程知识点:智能设备应用开发(基于Android平台) >  单元7 网络应用技术 >  任务三 天气预报软件实现 >  html

返回《智能设备应用开发(基于Android平台)》慕课在线视频课程列表

html资料文件与下载

html

1.1XML解析的使用

如今很多开发项目中都要和服务器端打交道,交互的过程一般都是数据输入和输出,当我们将接口要求的数据按照要求的格式传输到服务器端后,就会收到服务器端返回的数据,在行业内数据大多会使用被普遍接受和采用的XML格式来组织数据进行返回,当我们获得XML时就可以解析获得自己需要的数据,或许是操作结果,或许是需要展示的数据列表,在Android中主要有三种的XML解析方式分别是SAXDOMPULL

先来了解一下什么是XMLXMLeXtensible Markup Language),即可扩展标记语言,是一种简单的数据存储语言,使用一系列简单的标记描述数据。XML经常用做Internet上的一种数据格式,因此如果希望通过Internet访问数据,则数据很有可能是XML格式,或者如果希望发送数据给Web服务,那么可能也需要发送XML。总之,如果Android应用程序将利用Internet,那么可能需要使用XML

Android上对XML解析的支持是相当强大的,我们可以先来看一下Android中和XML解析相关的包:

1android.sax

这是 AndroidSDK 提供的sax 解析的包,因为可以对具体的 Element 设置监听进行处理,因此有更好鲁棒性。

2android.util.Xml

这是android.util包中的其中一个类,提供XML相关的实用方法,而且都是public static 形式的类方法,即可以直接以类名调用。

3javax.xml.parsers

这是使用原来Java SDK用于xml处理的API,即JAXP( Java API for XML Processing ),主要提供了SAX DOM方式解析XML的工厂方法。

4org.w3c.dom

提供具体的和DOM方式解析XML相关的接口,如DocumentElement等。

5org.xml.sax

提供具体的和SAX 方式解析XML相关的接口,如XMLReader4个处理用的Handler等。

6org.xml.sax.helpers

提供SAX的帮助类,以便更方便的用来解析,比如实现了SAX4个处理用的Handler接口的 DefaultHandler,用来更方便使用XML过滤器XMLFilterXMLFilterImpl,和用于更方便创建 XMLReader XMLReaderFactory 等。

7org.xmlpull.v1

提供Pull方式解析XML的接口XmlPullParser和用于写XMLXmlSerializer等。

下面介绍一下XML的三种解析方式:

1SAX解析器

SAX(Simple API for XML)解析器是一种基于事件的解析器,事件驱动的流式解析方式是,从文件的开始顺序解析到文档的结束,不可暂停或倒退。它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的。当事件源产生事件后,调用事件处理器相应的处理方法,一个事件就可以得到处理。在事件源调用事件处理器中特定方法的时候,还要传递给事件处理器相应事件的状态信息,这样事件处理器才能够根据提供的事件信息来决定自己的行为。  

SAX解析器的优点是解析速度快,占用内存少。非常适合在Android移动设备中使用。

SAX的工作原理:SAX的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。

SAX接口中,事件源是org.xml.sax包中的XMLReader,它通过parser()方法来解析XML文档,并产生事件。事件处理器是org.xml.sax包中ContentHanderDTDHanderErrorHandler,以及EntityResolver4个接口。XMLReader通过相应事件处理器注册方法setXXXX()来完成的与ContentHanderDTDHanderErrorHandler,以及EntityResolver4个接口的连接。

常用的SAX接口和类:

Attrbutes:用于得到属性的个数、名字和值。 

ContentHandler:定义与文档本身关联的事件(例如,开始和结束标记)。大多数应用程序都注册这些事件。

DTDHandler:定义与DTD关联的事件。它没有定义足够的事件来完整地报告DTD。如果需要对DTD进行语法分析,请使用可选的DeclHandler

DeclHandlerSAX的扩展。不是所有的语法分析器都支持它。

EntityResolver:定义与装入实体关联的事件。只有少数几个应用程序注册这些事件。

ErrorHandler:定义错误事件。许多应用程序注册这些事件以便用它们自己的方式报错。

DefaultHandler:它提供了这些接LI的缺省实现。在大多数情况下,为应用程序扩展DefaultHandler并覆盖相关的方法要比直接实现一个接口更容易。

SAX解析XML步骤

(1)    创建XML解析处理器。

(2)    创建SAX解析器。

(3)    XML解析处理器分配给解析器。

(4)    对文档进行解析,将每个事件发送给处理器。

下面是SAX解析XML文件的部分代码片段:

      // ①创建XML解析处理器

SAXXmlContentHandler contentHandler = new SAXXmlContentHandler();

             try {

      // 创建一个SAXParserFactory

             SAXParserFactory factory = SAXParserFactory.newInstance();

      // ②创建SAX解析器

             SAXParser parser = factory.newSAXParser();

      // ③XML解析处理器分配给解析器

      // ④对文档进行解析,将每个事件发送给处理器。

             parser.parse(file, contentHandler);

             file.close();

             } catch (Exception e) {

                    e.printStackTrace();

             }

2DOM解析器:

DOM是基于树形结构的的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树、检索所需数据。分析该结构通常需要加载整个文档和构造树形结构,然后才可以检索和更新节点信息。Android完全支持DOM 解析。利用DOM中的对象,可以对XML文档进行读取、搜索、修改、添加和删除等操作。

DOM的工作原理:使用DOMXML文件进行操作时,首先要解析文件,将文件分为独立的元素、属性和注释等,然后以节点树的形式在内存中对XML文件进行表示,就可以通过节点树访问文档的内容,并根据需要修改文档。

DOM实现时首先为XML文档的解析定义一组接口,解析器读入整个文档,然后构造一个驻留内存的树结构,这样代码就可以使用DOM接口来操作整个树结构。 

由于DOM在内存中是以树形结构存放的,所以检索和更新效率会更高。但是针对特别大的文档,解析和加载整个文档将会特别耗资源。当然,如果XML文件的内容比较小,采用DOM是可行的。

常用的DoM接口和类:

Document:该接口定义分析并创建DOM文档的一系列方法,它是文档树的根,是操作DOM的基础。 

Element:该接口继承Node接口,提供了获取、修改XML元素名字和属性的方法。

Node:该接口提供处理并获取节点和子节点值的方法。

NodeList:提供获得节点个数和当前节点的方法。这样就可以迭代地访问各个节点。

DOMParser:该类是ApacheXerces中的DOM解析器类,可直接解析XML文件。

下面是DOM解析XML文件段码片段:

/**

  * 描述: DOM解析的方法

* @version

 */

//获取一个解析DOM树的工厂

ocumentBuilderFactoryfactory = DocumentBuilderFactory.newInstance();

             try {

                    //读取raw目录的xml文件

                    is = getResources().openRawResource(R.raw.dom);

                    //创建DOM文档对象

                    DocumentBuilder builder = factory.newDocumentBuilder();

                    //加载XML文档,将XML文件解析为Document

                    Document dom = builder.parse(is);

                    //获取DOM文档的根元素

                    Element root = dom.getDocumentElement();

3.PULL解析器:

Android并未提供对Java StAX API的支持。但是,Android附带了一个pull解析器,其工作方式类似于StAX。它允许用户的应用程序代码从解析器中获取事件,这与SAX解析器自动将事件推入处理程序相反。 

PULL解析器的运行方式和SAX类似,都是基于事件的模式。不同的是,在PULL解析过程中返回的是数字,且我们需要自己获取产生的事件然后做相应的操作,而不像SAX那样由处理器触发一种事件的方法,执行我们的代码。

下面是PULL解析XML的过程: 

读取到xml的声明返回 START_DOCUMENT;

读取到xml的结束返回 END_DOCUMENT ;

读取到xml的开始标签返回 START_TAG

读取到xml的结束标签返回 END_TAG

读取到xml的文本返回 TEXT

 PULL解析器小巧轻便,解析速度快,简单易用,非常适合在Android移动设备中使用,Android系统内部在解析各种XML时也是用PULL解析器,Android官方推荐开发者们使用Pull解析技术。Pull解析技术是第三方开发的开源技术,它同样可以应用于JavaSE开发。

 PULL的工作原理:XML pull提供了开始元素和结束元素。当某个元素开始时,我们可以调用parsernextTextXML文档中提取所有字符数据。当解释到一个文档结束时,自动生成EndDocument事件。

常用的XML pull的接口和类: 

XmlPullParserXML pull解析器是一个在XMLPULL VlAP1中提供了定义解析功能的接口。

XmlSerializer:它是一个接口,定义了XML信息集的序列。

XmlPullParserFactory:这个类用于在XMPULL V1 API中创建XML Pull解析器。

XmlPullParserException:抛出单一的XML pull解析器相关的错误。

下面是PULL解析XML的代码片段

//读取raw目录的xml文件

is = getResources().openRawResource(R.raw.pull);

//获得XmlPullParser解析器

XmlPullParser xmlParser = Xml.newPullParser(); 

xmlParser.setInput(is, "utf-8");    

 

1.2Android中网络编程

Android应用通常都是运行在手机平台上,手机系统的硬件资源是有限的,不管是存储能力还是计算能力都有限,在Android系统上开发,运行一些单用户、小型应用是可能的,但对于需要进行大量的数据处理、复杂计算的应用,只能运行在远程服务器上,Android应用将只是充当这些应用的客户端。

为了让Android应用与远程服务器之间进行交互,可以借助于AndroidRMI技术,但这要求远程服务器程序必须采用java实现,也可以借助于CORBA技术,但这种技术显得过于复杂,除了上面的两种技术,还可以通过Web Service来进行网络编程。

1Web Service概述

Web Service是建立可互操作的分布式应用程序的新平台。

Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言、在任何你喜欢的平台上编写Web Service,只要我们可以通过Web Service标准对这些服务进行查询和访问。

从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你可以用编程的方法通过Web来调用这个应用程序。

Web Service平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web Service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。在传统的分布式系统中,基于界面(Interface)的平台提供了一些方法来描述界面、方法和参数。同样的,Web Service平台也必须提供一种标准来描述Web Service,让客户可以得到足够的信息来调用这个Web Service。另外,我们还必须有一种方法来对这个Web Service进行远程调用。这种方法实际上是一种远程过程调用(RPC),为了达到互操作性,这种RPC协议必须与平台和编程语言无关。最后,还必须要有一种方法来让服务发布者发布服务,让服务调用者能够找到服务。

下面就简单介绍一下Web Service平台的4个核心技术:XML/XSDSOAPWSDLUDDI。它们都是以标准的XML/XSD文件的形式表示的。

1XMLXSD

XMLWeb Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML的优点在于它既是平台无关的,又是厂商无关的。无关性比技术优越性更重要,因为软件厂商是不会选择一个有竞争对手发明的技术的。

XML解决了数据表示问题,但它并没有定义一套标准的数据类型,更没有说去怎么扩展这套数据类型。例如,整形数据到底代表什么?它是16位、32位还是64位?这些细节对实现互操作性都是很重要的。W3C制定的XML SchemaXSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。Web Service平台就是用XSD来作为类型系统的。当你用某种语言(JavaC#VB.NET)来构造一个Web Service时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD的类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能根据你的需要修改一下这个转化过程。

2SOAP

SOAPSimple Object Access Protocol)是一种简单的、轻量级的基于XML/XSD的协议,用于在网络应用程序间交换结构化数据。

SOAP就是Web Service的标准通信协议。

Web Service建立好之后,任何人去调用它时,SOAP协议就提供了标准的RPC方法来调用Web ServiceSOAP协议定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP

3WSDL

WSDLWeb Service Description Language)是一种基于XML/XSD的关于Web服务的描述语言。其主要目的在于Web Service的提供者将自己的Web服务的所有相关内容,如所提供服务的传输方式、服务方法接口、接口参数、服务路径等,生成相应的XML文件,发布给使用者。使用者可以通过这个WSDL文件,创建相应的SOAP请求消息,通过HTTP传递给Web Service提供者;Web服务者在完成服务请求后,将SOAP返回消息回传给请求者,服务请求者再根据WSDL文件将SOAP返回消息解析成自己能够理解的内容。

因为WSDL是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这就带来了相当多的益处。一些工具既能根据你的Web Service生成WSDL文件,又能根据WSDL文件生成调用相应Web Service的代码,如基于C/C++gSoap

4UDDI

UDDI(统一描述发现和集成)提供一种发布和查找服务描述的标准方法。

Web Service的提供者可以通过UDDI来发布Web服务,而Web服务的请求者则可以通过UDDI来发现Web服务。

由于WSDL文件中已经给定了Web ServiceURI地址,外部可以直接通过WSDL提供的URI进行相应的Web Service调用。所以UDDI并不是一个必须的Web Service组件,Web服务完全可以不进行UDDI注册。

2Web Service的体系架构和流程

Web Services 服务提供方通过WSDL(Web Services Description Language) 描述所提供的服务,并将这一描述告知Web Services 注册服务器。注册服务器依据WSDL 的描述,依照UDDI (Universal Description Discovery and Integration) 的协定更新服务目录并在Internet 上发布。用户在使用Web Services 前先向注册服务器发出请求,获得Web Services 提供者的地址和服务接口信息,之后使用SOAP协议与Web Services 提供者建立连接,进行通信。Web Services 的技术主要建立在XML 的规范之上,这保证了这一体系结构的平台无关性、语言无关性和人机交互性能。

3.Web Service的应用领域

在有些领域,使用Web Service能带来极大的好处,但有些领域则相反。

下面是几个使用Web Service能带来极大好处的领域:

1)跨越防火墙的通信

如果应用程序有成千上万的用户,而且他们都分布在世界各地,那么客户端和服务器之间的通信将是一个复杂棘手的问题。那是因为客户端和服务器之间通常都会有防火墙或者代理服务器。在这种情况下,想使用DCOM就没那么简单了,而且,通常你也不愿意把你的客户端程序发布到如此庞大数量的每一个用户手中。于是,你最终选择了用浏览器作为客户端,写下一堆ASP页面,把应用程序的中间层暴露给最终用户。结果呢?运气好的话,只是开发难度大了一些,运气不好的话,就会得到一个根本无法维护的应用程序。

想象一下你应该如何在你的应用程序里面加入一个新的页面:你必须先建立好用户界面(Web页面),以及在这个页面后面,包含相应商业逻辑的中间层组件。这还不够,你还要再建立至少一个ASP页面,用来接受用户输入的信息,调用中间层组件,把结果格式化为HTML形式,最后还要把"结果页"送回浏览器。要是客户端代码不再如此依赖于HTML表单,客户端的编程不就简单多了吗?还有,建立ASP页面的那一步可以省略掉吗?

当然如果你的中间层组件是Web service的话,你完全可以从用户界面直接调用中间层组件,从而省掉建立ASP页面的那一步。要调用Web service,你可以直接使用Microsoft SOAP Toolkit.NET这样的SOAP客户端,也可以使用你自己开发的SOAP客户端,然后把它和你的应用程序连接起来。这样做,不仅可以缩短开发周期,还可以减少代码的复杂度,并增强整个应用程序的可维护性。同时,你的应用程序也不再需要在每次调用中间层组件时,都跳转到相应的"结果页"了。

以经验来看,在一个用户界面和中间层有较多交互的应用程序中,使用Web service这种结构,可以轻松的节省花在用户界面编程上的20%的开发时间。这样做还有另一个好处,就是你将得到一个由Web service组成的中间层,这一层是完全可以在应用程序集成或其他场合下被重用的。最后,通过Web service把你的应用程序的逻辑和数据暴露出来,还可以让其它平台上的客户重用你的应用程序。

2)应用程序集成

企业级的应用程序开发者都知道,企业里经常都要把用不同语言写成的在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发的力量。你的应用程序经常都需要从运行在古老的IBM主机上的程序中获取数据;或者再把数据发送到主机或UNIX应用程序中去。即使是在同一个平台上,不同的软件厂商生产的各种软件也常常需要集成起来。通过Web service,应用程序可以用标准的方法把功能和数据暴露出来,供其它的应用程序使用。

举个例子,假如你所在公司所生产出来的产品,在网上销售,那么你的网络用户需要登入到你公司网站进行产品订购,那么用户就需要进入倒用户订单登录程序,这个程序是用于登录从客户来的新的订单,包括客户所有的信息、收货地址、数量、价格和付款方式等信息。与此同时,公司还有一个订单执行程序,用于实际货物发送管理的。这两具程序是来自不同软件厂商的。一分新订单进来之后,订单登录程序需要通知订单执行程序发送货物。通过在订单执行程序上面增加一层Web service,订单执行程序可以把"AddOrder"函数暴露出来。这样,每次当有新的订单时,订单登录程序就可以调用这个函数来及时发送货物了。进而通过"AddOrder"函数暴露出来。

3)软件重用

软件重用是一个很大的主题,它有很多的形式和程度。最基本的形式是源代码模块或者类一级的重用。另一种形式是二进制形式的组件重用。当前,像表格控件或用户界面控件这样的可重用软件组件在市场上都占有很大的份额。但这类软件的重用都有一个很严重的限制:重用仅限于代码,而数据不能被重用。原因在于你可以很轻易的发布组件甚至源代码,但要发布数据就没那么容易了,除非那些数据都是不会经常变化的静态数据。

Web service允许你在重用代码的同时,重用代码后面的数据。使用Web service,你不再像以前那样,要先从第三方购买、安装软件组件,再从你的应用程序中调用这些组件。你只需要直接调用远端的Web service就可以了。举个例子,你想在应用程序中确认用户输入的邮件地址,那么,你只需把这个地址直接发送给相应的Web service,这个Web service 就会帮你查阅街道地址、城市、省区和邮政编码等信息,确认这个地址的确在相应的邮政编码区域。Web service 的提供商可以按时间或使用次数来对这项服务进行收费。这样的服务要通过组件重用来实现是不现实的,因为那样的话你必须下载并安装好包含街道地址、城市、省区和邮政编码等信息的数据库,而且这个数据库还是不能实时更新的。

另一种软件重用的情况是把好几个应用程序的功能集成起来。例如,你想要建立一个门户站点应用,让用户既可以查询他们的快递包裹,察看股市行情,又可以管理他们的日程安排,还可以在线购买电影票、团美食。现在Web上有很多应用程序供应商,都在其应用中实现了上面的这些功能。一旦他们把这些功能都通过Web service 暴露出来,你就可以非常轻易地把所有这些功能都集成到你的门户站点中,为用户提供一个统一的、友好的界面。用Web service来集成各种应用中的功能,为用户提供一个统一的界面

许多应用程序都会利用Web service,把当前基于组件的应用程序结构扩展为组件和Web service 的混合结构。你也可以在应用程序中使用第三方的Web service 提供的功能。你还可以把自己的应用程序的功能通过Web service 提供给别人。所有这些情况下,你都可以重用代码和代码后面的数据。总之,Web service 将是软件重用的一种非常有力的形式。

4.使用Android应用调用Web Service

Android本身提供了丰富的Web Service支持,比如Sun公司制定的JAX-WS2规范,还有Apache开源组织所提供的Axis1Axis2CXF等,这些技术不仅可以用于非常方便地对外提供Web Service,也可以用于简化Web Service的客户端编程。

对于手机、掌上电脑等小型设备而言,它们的计算资源、存储资源等都十分有限,因此Android应用不大可能需要对外提供Web ServiceAndroid应用通常只是充当Web Service的客户端,调用远程Web Service

GoogleAndroid平台开发Web Service客户端提供了ksoap2-android项目,但这个项目并未直接集成在Android平台中,还需要开发人员自行下载。

使用ksoap2-android调用web Service操作的步骤如下:

1)创建HttpTransportSE对象,该对象用于调用Web Service操作。

2)创建SoapSerializationEnvelope对象。

3)创建SoapObject对象,创建该对象时需要传入所要调用Web Service的命名空间、Web Service方法名。

4)如果有参数需要传给Web Service服务器端,调用SoapObject对象的addProperty(String name,Object value)方法来设置参数,该方法的name参数指定参数名;value参数指定参数值。

5)调用SoapSerializationEnvelopesetOutputSoapObject()方法,或者直接对bodyOut属性赋值,将前两步创建的SoapObject对象设为SoapSerializationEnvelope的传出SOAP消息体。

6)调用对象的call()方法,并以SoapSerializationEnvelope作为参数调用远程Web Service

7)调用完成后,访问SoapSerializationEnvelope对象的bodyIn属性,该属性返回一个SoapObject对象,该对象就代表了Web Service的返回消息,解析该SoapObject对象,即可获取调用Web Service的返回值。

 

下一节:课程定位

返回《智能设备应用开发(基于Android平台)》慕课在线视频列表

智能设备应用开发(基于Android平台)课程列表:

单元1 开发第一个Android应用程序

-任务一 开发第一个Android应用程序

--任务1:开发第一个Android应用程序

--Android应用程序结构分析

--外部链接

-单元1 开发第一个Android应用程序--任务一 开发第一个Android应用程序

单元2 界面编程

-任务一 唐诗赏析软件

--任务1唐诗赏析软件设计

--TextView的使用方法

--html

--外部链接

-任务一 唐诗赏析软件--作业

-任务二 用户注册界面设计

--用户注册界面设计

--EditText的使用方法

--Button的使用方法

-单元2 界面编程--任务二 用户注册界面设计

-任务三 用户登录界面设计

--用户登录界面设计

--TableLayout的使用方法

-单元2 界面编程--任务三 用户登录界面设计

-任务四 游戏开始界面设计

--游戏开始界面设计

--RelativeLayout的使用方法

-单元2 界面编程--任务四 游戏开始界面设计

-任务五 图片浏览器

--2-5-1

--2-5-2

--基于监听的事件处理机制

-任务五 图片浏览器--作业

-任务六 个人信息收集界面设计

--个人信息收集界面

--RadioButton(单选按钮)和CheckBox(复选框)

--html

--Toast的使用方法

-任务六 个人信息收集界面设计--作业

-任务七 日期和时间选择器

--日期和时间选择器

--DatePicker的使用方法

--TimePicker的使用方法

-任务七 日期和时间选择器--作业

-任务八 猜拳游戏

--2-8-1

--2-8-2

--ImageButton的使用方法

--ImageView的使用方法

-任务八 猜拳游戏--作业

-任务九 制作选项菜单

--制作选项菜单

--选项菜单

-任务九 制作选项菜单--作业

-任务十 简单的文本编辑器

--简单的文本编辑器

--SubMenu的使用方法

-任务十 简单的文本编辑器--作业

-任务十一 制作滚动视图界面

--制作滚动视图界面

--ScrollView的使用方法

-任务十一 制作滚动视图界面--作业

单元3 深入理解Activity

-任务一 用户登录功能实现

--3-1-1

--3-1-2

--3-1-3

--Activity的创建

--html

--使用Bundle在Activity之间传送数据

--Video

-任务一 用户登录功能实现--作业

-任务二 Activity的一生

--3-2-1

--3-2-2

--3-2-3

--3-2-4

--Activity的生命周期

单元4 使用Intent进行通信

-任务一 使用Intent的Action属性实现页面之间的跳转

--4-1-1

--4-1-2

--Intent的Action、Category属性与intent-filter配置

-任务二 返回系统HOME页面

--4-2-1

--4-2-2

--通过标准Action和Category调用系统Activity

-任务三 浏览Google首页、打开一幅图片、启动给指定号码打电话、发短信页面

--4-3-1

--4-3-2

--html

单元5 Android数据存储

-任务一 使用SharePreferences存储和读取数据

--5-1-1

--5-1-2

--认识SharedPreferences

--SharedPreferences的相关方法和接口

--SharedPreferences实现数据存取

-任务一 使用SharePreferences存储和读取数据--作业

-任务二 应用程序数据文件夹里的文件读写

--5-2-1

--5-2-2

--文件存储

--文件读取

-任务二 应用程序数据文件夹里的文件读写--作业

-任务三 基于SQLite的用户信息存储器

--5-4-1

--5-4-2

--SQLiteDatabase类

--SQLiteOpenHelper类

-任务三 基于SQLite的用户信息存储器--作业

单元6 Service与BroadcastReceiver

-任务一 启动和关闭一个Service

--启动和关闭一个Service

--html

--html

--html

--Service的生命周期

-任务一 启动和关闭一个Service--作业

-任务二 来电监听器

--来电监听器

--html

-任务二 来电监听器--作业

单元7 网络应用技术

-任务一 基于TCP协议的点对点通信

--默认

--7-1-2

--7-1-3

--TCP协议的原理及Android中Socket编程

-任务一 基于TCP协议的点对点通信--作业

-任务二 使用HTTP访问网络资源

--默认

--7-2-2

--html

-任务二 使用HTTP访问网络资源--作业

-任务三 天气预报软件实现

--7-3-1

--7-3-2

--7-3-3

--7-3-4

--7-3-5

--html

课程信息

-课程介绍

--课程定位

--内容选取

--内容组织

--教学模式

--教学平台

-课程建设

--建设目标

--建设思路

--建设规划

--教材建设

--政策支持

-教学设计

--教学设计

--教学改革

-教学资源

--课程标准

--教案

--教学视频及配套PPT、案例等

--企业案例

-模拟题库

--技术答疑

--习题库

-实践教学

--实训项目指导书

--实训项目资源

--教学条件

-拓展资源

--案例库

--素材库

--培训项目包

-特色创新

--课程特色

html笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。