WEB开发网
开发学院服务器服务器方案 将 Google 的云计算功能连接到 Apple 的 iPhone 中... 阅读

将 Google 的云计算功能连接到 Apple 的 iPhone 中

 2009-02-25 11:06:35 来源:WEB开发网   
核心提示: 访问 isonnet 项目主页,可以看到此输出,将 Google 的云计算功能连接到 Apple 的 iPhone 中(6),此 URL 给出的是一个编辑后的莎士比亚十四行诗的完整 plist 表示,不过,使得在 iPhone 上下载和缓存 XML plist 变得十分简单,我们用来下载和

访问 isonnet 项目主页,可以看到此输出。此 URL 给出的是一个编辑后的莎士比亚十四行诗的完整 plist 表示。不过,请注意,您的浏览器可能将此显示为一个巨大的纯文本文件。XML plist 是有效的 XML 而且大多数浏览器都会试图显示它。请参阅页面的源代码,查看格式化的 plist。

Python 和 App Engine 示例的更详细信息以及有关 Google App Engine 的高级教程的链接。但是,目前,让我们先来看看一个 iPhone 应用程序是如何接受此 plist 数据来更改应用程序数据的。

创建一个能从 Google App Engine 动态读取并缓存 XML plist 文件的 iPhone 应用程序

TouchEngine 包含一组对象,使得在 iPhone 上下载和缓存 XML plist 变得十分简单。我们用来下载和缓存 sonnet plist 所用的对象在其头文件 GRplistController.h 内描述,如清单 4 所示。

清单 4. GRplistController.h




#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "Reachability.h"
#import "GRplistControllerDelegateProtocol.h"

typedef enum {
  kGRplistDownloadCannotInitiate = 0,
  kGRplistConnectionFailure,
  kGRplistFileFormatFailure
} GRErrorCode;

#define GR_ERROR_DOMAIN @"GRplistController_Error_Domain"

@class GRplistModel;

// This class will grab a remote plist from the server whenever update 
// is called.

// Also registers with the Reachability object for notifications when
// the remote host changes availability and updates accordingly
// asking the delegate first if downloading new data is desirable.

@interface GRplistController : NSObject {
  NSURL *remoteURL;
  NSObject <GRplistControllerDelegate> *delegate;

  NetworkStatus remoteHostStatus;
  NetworkStatus internetConnectionStatus;
  NetworkStatus localWiFiConnectionStatus;
  BOOL loadingData;
@private
  GRplistModel *_model;
  BOOL hostIsReachable;
  NSMutableDictionary *plistIndex;
  NSMutableData *receivedData;
  NSURLConnection *connection;
}

@property(nonatomic, retain)NSURL *remoteURL;
@property(nonatomic, assign)NSObject *delegate;
@property(nonatomic, readonly)GRplistModel *model;

//date of last download
@property(nonatomic, retain)NSDate *lastUpdate;
@property(nonatomic, getter=isLoadingData)BOOL loadingData;
@property NetworkStatus remoteHostStatus;
@property NetworkStatus internetConnectionStatus;
@property NetworkStatus localWiFiConnectionStatus;

//designated Initializer
- (id)initWithRemoteURL:(NSURL *)aRemoteURL;

- (void)updateDataFromDisk;
- (void)download;
- (void)cancelDownload;
@end

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Google 计算 功能

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接