- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
從Android端呼叫GAE雲服務
GAE-02
從Android端呼叫GAE雲服務(Servlet)的範例
By 高煥堂 鄭仲平Email: misoo.tw@
2010/5/30
這是一個簡單的Android + GAE的範例程式misooplaza的應用程式。
其URL = /。如下:
在Eclipse環境裡的misooGAE001的程式專案,編輯一個名稱為niceday的Servlet程式,其原始程式碼如下:
其完整程式碼為:
//nicedayServlet.java
package com.misoo.pk001;
import java.io.IOException;
import javax.servlet.http.*;
@SuppressWarnings(serial)
public class nicedayServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
resp.setContentType(text/plain);
resp.getWriter().println(have nice day...);
}
}
此misooGAE001程式專案將移植到GAE上的misooplaza應用程式裡。查看appengine-web.xml已經建立兩者的關係,如下:
編輯 web.xml內容。
編輯 index.xml內容。
編輯完畢,進行編譯(Compile)和佈署(Deploy)。
一旦部署Servlet成功了,就能撰寫Android端的應用程式了。如下述的Android應用程式:
此Android應用程式內含ac01.java、gaeLogin_am.java、gaeLogin_cl.java三個類別和IGaeLogin.java介面。
gaeLogin_am.java、gaeLogin_cl.java是實現兩種不同途徑來登錄Google帳戶的,登錄成功時,可以取得正確的token。再依據token而去向GAE登錄,登錄成功時,可以取得正確的cookie。接著攜帶該cookie去呼叫Servlet。
ac01.java類別的程式碼如下:
//ac01.java
package com.misoo.pk01;
import java.io.InputStream;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.app.Activity;
import android.app.ProgressDialog;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class ac01 extends Activity implements OnClickListener{
private static final String APP_NAME = misooplaza;
private static final String SERVLET_NAME = niceday;
private Button btn, btn2;
public static TextView tv;
public ImageView mv;
private int stateVar = 0;
private IGaeLogin gl = null;
private ProgressDialog pdg = null;
private String res_value;
private String st
文档评论(0)