当前位置: 首页 > 知识库问答 >
问题:

如何将数据从Android系统发送到谷歌应用程序引擎java制作的web应用程序

彭炳
2023-03-14
private String s;
EditText numDisplay;
Button calculateNow;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    numDisplay= (EditText)findViewById(R.id.editText1);
    calculateNow = (Button)findViewById(R.id.button1);
    //s=numDisplay.toString();  
    calculateNow.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            {

                new MyAsyncTask().execute(numDisplay.getText().toString());     

            } }
     } );
}
private class MyAsyncTask extends AsyncTask<String, Integer, Double>{
        protected Double doInBackground(String... params) {

            postData(params[0]);
            return null;
        }
        protected void onPostExecute(Double result){
            //pb.setVisibility(View.GONE);
            Toast.makeText(getApplicationContext(), "command sent", Toast.LENGTH_LONG).show();
        }

        protected void onProgressUpdate(Integer... progress){
            //pb.setProgress(progress[0]);
        }
        public void postData(String valueIWantToSend) {
            // Create a new HttpClient and Post Header
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://1-dot-primecalculation.appspot.com/");

            try {

                // Add your data
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                nameValuePairs.add(new BasicNameValuePair("id0", valueIWantToSend));
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

                // Execute HTTP Post Request
                HttpResponse response = httpclient.execute(httppost);

            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
            } catch (IOException e) {
                // TODO Auto-generated catch block
            }
        }



   }
 }

**Server Side Code**
private static final long serialVersionUID = 1L;
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws IOException {
    processRequest(req, resp);

    String user = req.getParameter("id0");
    //resp.setContentType("text/plain");
    PrintWriter writer = resp.getWriter();
     writer.write("value" + user);
}
private void processRequest(HttpServletRequest req, HttpServletResponse resp)throws IOException {
// TODO Auto-generated method stub
}
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {

    doPost(req, resp);
}}

我是谷歌应用引擎和Android的新手。在android中制作了一个应用程序,从用户那里获取价值并将其发布到servlet。我使用httpClient将数据从android发布到servlet,在本地托管并从emulator发送数据。我从servlet端接收到空值。在这种情况下,我在谷歌上搜索了很多,但没有找到问题的解决方案。感谢您的帮助。Thnx公司

共有1个答案

程举
2023-03-14

下面是一个简单的示例:http://webdeveloperpadawan.blogspot.co.uk/2015/01/google-app-engine-and-android-playing.html

请注意您定义Google app engine后端服务的方式,然后在Android代码中这样调用它:

myApiService.sayHi(name).execute()

如果没有更多的细节,我不确定您的错误是什么,但请确保您的本地托管servlet首先运行。否则你永远不会开始。在继续使用Android代码之前,您应该能够使用基本的Web表单对此进行测试。

 类似资料:
  • 因此,我正在尝试将一个简单的meteor应用程序部署到谷歌应用程序引擎。我已经试着遵循这个教程https://cloud.google.com/community/tutorials/run-meteor-on-google-app-engine但它导致了

  • 我是谷歌应用引擎的新手。要使用Java App Engine,Google提供了两个选项:创建一个Maven项目,或者由Eclipse Google插件支持的非Maven项目。根据文档,Eclipse版本更容易。那么我应该继续日食吗?但是我看到了很多关于maven的帖子。有人能评论一下使用Maven的利弊吗。 谢谢

  • 我是GCS的新手。 这里我写了几行。 现在棘手的部分是按原样下载此数据<代码>Ex.new\u文件。csv 有人解决过吗?如果那样的话,我会很感激的。 谢谢

  • 我一直在努力了解如何在谷歌云上设置以下架构: 谷歌应用引擎收到HTTP请求

  • 我有一个简单的来发送电子邮件,还有一个: 在web.xml文件夹中,我注册并映射了servlet。但当我按下发送按钮时,我得到的只是: HTTP错误404 问题访问/反馈。原因: 我的问题还在哪里?

  • 我是谷歌应用引擎服务的新手。我有一个JavaMaven项目,其中一个模块运行在应用引擎flex上,另一个模块运行在应用引擎标准上。我正在为应用引擎Flex API使用JWT身份验证。我想从应用引擎标准向应用引擎Flex发出发布请求。验证服务的最佳方式应该是什么? 此外,我还有一个cron服务,它可以访问我用于某些后端内容的特定URL。如何验证请求是否仅来自Cron服务?