• ClientToSever Test


    实现客户端上传数据到服务器端
    • 搭建服务器,新建数据库;
    • 新建PHP文件;
    • 新建android工程;
    1. 在本地下载XAMPP软件后进行安装和配
    • 配置XAMPP
         在浏览器里输入:localhost或者127.0.0.1即可看到XAMPP欢迎界面。
    • 修改phpMyAdmin配置
                     首先用相关软件打开位于D:/xampp/phpMyAdmin(安装目录)文件夹中的config.inc.php文件。
          搜索 $cfg['Servers'][$i]['auth_type']='config' 将其中的config(系缺省值)更改为cookie保存。
    • 登陆XAMPP主页      
       通过默认主页localhost左侧的phpmyadmin导航栏进入phpmyadmin界面,可直接通过localhost/phpmyadmin/进入web登陆界面,输入用户名root后直接点击登陆(密码默认为空)即可。
    • 新建管理员账号及密码
       首先进入权限选项卡,点击root帐号编辑其权限,在最底端的只输入相应的用户名和密码,其余选项保持其缺省值,确认后即可产生与原有root帐号相同权限的新帐号
    • 测试配置是否完成  
       您可以在xampp目录下的htdocs文件夹下创建任意一个站点。例如:将测试文件test.html放在.xampphtdocs ew路径下,您就可以在浏览器的地址栏中输入localhost/new/test.html来访问这个文件。

    2. 在服务器上新建数据库
    • 浏览器打开localhost/phpmyadmin/或者在XAMPP Control Panel面板上点击MySQL的Admin按钮进入网页
    • 点击“数据库”选项卡进行数据哭创建,输入数据库名即可。
    • 在页面左侧点击新建数据库,即可进行数据表的新建。输入新建数据表的名称及字段数,点击执行即可创建。
    3. 新建php文件
         
    <?php
                   
    $conn = mysql_connect("localhost"."siguoyi","140265");  // 连接服务器
                    if(!conn){
                          die("conn error");
                        }
         $db = mysql_select_db("buptant",$conn);   // 连接数据库
         mysql_set_charset("utf8");
         
         $jsonString = $_POST("jsonString");
         $jsonString = str_replace('"','"',$jsonString);
         $obj = json_decode($jsonString);

         $name = $obj->name;
         $age= $obj->age;
         $sex= $obj->sex;
         $school= $obj->school; // 对变量进行赋值

    try {
         $sql = "INSERT INTO `student` (`name`,`age`,`sex`,`school`) VALUES ('$name','$age','$sex','$school')";  // 插入数据

         $resultNew = mysql_query($sql,$conn);
         if(!$resultNew){
              echo "error";
         }else{
              echo "ok";
         }  // 查询数据是否插入
    $insert_id = mysql_insert_id();
    } catch (Exception $e){ }
          ?>

    4. 新建Android工程
    • 用json对数据进行打包上传
    String name = et_name.getText().toString();
                             String age = et_age.getText().toString();
                             String sex = et_sex.getText().toString();
                             String school = et_school.getText().toString();
                             try {
                                  jsonObject.put("name", name);
                                  jsonObject.put("age", age);
                                  jsonObject.put("sex", sex);
                                  jsonObject.put("school", school);

                             } catch (JSONException e) {
                                  e.printStackTrace();
                             }
                             Log.v("uploaddata", "json" + jsonObject);
                             
    • 用httpClient进行通信
       
    public String upData() {
            String resultID = "-1";

            List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();
            nameValuePair.add(new BasicNameValuePair("jsonString", jsonObject));
            InputStream inputStream = null;

            try {
                HttpClient httpClient = new DefaultHttpClient();
               
                HttpPost httpPost = new HttpPost(uploadDataURL);
                httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair, "UTF-8"));
                HttpResponse httpResponse = httpClient.execute(httpPost);
                HttpEntity httpEntity = httpResponse.getEntity();
                inputStream = httpEntity.getContent();
                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                String line = "";
                String result = "";
                while ((line = reader.readLine()) != null) {
                    result = result + line;
                }
                resultID = result;

            } catch (Exception e) {
                e.printStackTrace();
            }

            return resultID;
        }
    • 在进行数据上传时需新开线程
         new Thread(){

                                  @Override
                                  public void run() {
                                       // TODO Auto-generated method stub
                                       UploadData upload = new UploadData(Url, jsonObject);
                                       String result = upload.upData();
                                       Log.v("uploaddata", "result:" + result);
                                  }
                                  
                             }.start();

  • 相关阅读:
    Java Application Development(包括如何设置本地库)
    谈谈基于Kerberos的Windows Network Authentication
    在OpenSSL中添加自定义加密算法
    单点登录(SSO)的核心--kerberos身份认证协议技术参考(一)
    WindowsXP 系统登陆原理及其验证机制概述
    单点登录(SSO)的核心--kerberos身份认证协议技术参考(二)
    单点登录(SSO)的核心--kerberos身份认证协议技术参考(三)
    windows登录过程 winlogon/gina/Kerberos/kdc
    [C++]static全局变量/全局变量,static函数/普通函数,函数中static变量/函数中的变量,类中的static成员变量/普通类成员变量
    郑重推荐一款软件: http tunnel
  • 原文地址:https://www.cnblogs.com/siguoyi/p/4437204.html
Copyright © 2020-2023  润新知