q13121793z
q13121793z
采纳率55.6%
2017-12-15 08:55 阅读 1.0k

求问服务器端如何响应android端发送的信息(php Study)

10

新手小白最近在做一个课程项目:
1.手机端(基于android)发送数据到云服务器端
2.服务器端记录数据至数据库
3.手机端再访问服务器端网页,可以在网页上看到表格,表格里是之前发送的数据

我知道在大神们眼里这项目很简单甚至很蠢 但刚入门需要一些帮助

买了腾讯云学生机 用了phpStudy软件架构为apache+mysql+php 参考了《第一行代码》后,android端已经可以访问服务器的HTML网页,然后也可以获取服务器端的index数据,那么问题来了:

1.我想知道服务器端要对android端的访问进行回应,再将数据丢至数据库的操作如何完成,需要在哪个部分进行哪些操作?大致讲一下思路就行~

2.看《第一行代码》上是基于apache自己搭建了服务器,新建了xml和json格式数据,再用对应的方式进行访问解析。但我直接访问云服务器得到的数据是来自于HTML里面的 没看到xml也没有json,不知道是不是我理解有问题。

可能提问得并不专业,希望能够看懂给点建议,不胜感激!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    dcxy0 Q544471255 2017-12-16 01:20

    你要用PHP就不要总拿着第一行代码Android看了,建议看看《PHP与MySQL程序设计(最新版)》,或者先去网上找一个PHP写入数据到MySQL。

    目前你急需的,也就:
    1.PHP读取,写入数据到MySQL;
    2.PHP读取,返回JSON字符串。

    如果实在着急,可以先去找到这两点问题的解决方案,后面在对代码进行优化。

    点赞 1 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2017-12-15 09:01

    (1)既然你用了php,那么php可以得到android以表单形式提交的参数(和网页填表提交是一样的),然后存入数据库。
    (2)你可以返回html也可以返回xml或者json,你没有看到xml/json是你的php没有返回这些,你的理解没有错。但是你应该看稍微深入点的书,或者google下。

    点赞 1 评论 复制链接分享
  • worningly worningly 2017-12-17 04:03

    我觉得有时间可以参考下[Head.First.PHP.&.MySQL].Lynn.Beighley这本书,挺不错的

    点赞 评论 复制链接分享
  • chy6575 Chenay_ 2017-12-18 08:59

    1.在服务端写一个http连接请求, 如http:192.168.xx.1:8080/Object项目名称/requetAction/
    2.在android端通过HTTP请求将你的需要上传的数据封装成json 上传到服务器 ,服务器解析出来后 插入数据库及ok了
    Android studio 导入 compile 'com.loopj.android:android-async-http:1.4.9'
    compile 'com.google.code.gson:gson:2.8.2'

         if (responseHandler != null) {
            Utils_Http.httpSyncCancle(httpClient, responseHandler);
            responseCsrHandler = null;
        }
        responseCsrHandler = new JsonHttpResponseHandler() {
            public Dialog loadingDialog;
    
            @Override
            public void onStart() {
                super.onStart();
                loadingDialog = Utils_DialogDisPlay.createLoadingDialog(getActivity(), "加载中...");
                loadingDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                    @Override
                    public void onDismiss(DialogInterface dialog) {
                        if (responseCsrHandler != null) {
                            Utils_Http.httpSyncCancle(httpClient, responseCsrHandler);
                            responseCsrHandler = null;
                        }
                    }
                });
            }
    
            @Override
            public void onFinish() {
                super.onFinish();
                Utils_DialogDisPlay.closeDialog(loadingDialog);
            }
    
            @Override
            public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
                super.onSuccess(statusCode, headers, response);
                if (statusCode == 200) {
                    String msg = "";
                    String result = response.toString();
                    if (result != null) {
                        Logger.json(result);
                        Gson gson = new Gson();
                        final DateBean dateBean = gson.fromJson(result, ResponseDateBean.class); 
                    }
                }
            }
    
            @Override
            public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
                super.onFailure(statusCode, headers, throwable, errorResponse);
            }
        };
    
                           String url = http:192.168.xx.1:8080/Object项目名称/requetAction/ ;
        Utils_Http.httpSyncPostUrl(httpClient, getActivity(),   new Gson().toJson(RequestionDateBean), url, responseHandler);
    }
    
         public static AsyncHttpClient httpClientInstance() {
        AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
        return asyncHttpClient;
    }
    
          public static void httpSyncPostUrl(AsyncHttpClient asyncHttpClient, Context mContext, String jsonRequest, String url, ResponseHandlerInterface responseHandler ){
        StringEntity entity = null;
        entity = new StringEntity(jsonRequest, "utf-8");
        entity.setContentEncoding("UTF-8");
        entity.setContentType("application/json");
        asyncHttpClient.post(mContext, url, entity, "application/json", responseHandler);
        responseHandler.setTag(responseHandler);
    }
    
    点赞 评论 复制链接分享

相关推荐