2016-03-25 1 views
1

Это Android-приложение использует Android Studio. Функция состоит в том, чтобы сканировать и отображать данные из маяка/eddystone. Приложение уже функционирует и после остановки сканирования данные сохраняются в локальном файле. Но моя проблема заключается в том, когда мне приходится передавать данные сканирования на сервер, я должен подключить его к серверу. Но я действительно не знал, что является лучшим способом, поскольку я новичок.Как отправить данные из приложений Android с помощью студии android на сервер

Вот код, что данные будут передавать на локальные данные:

private void stopScanning(Button scanButton) { 
    try { 
     beaconManager.stopRangingBeaconsInRegion(region); 
    } catch (RemoteException e) { 
      // TODO - OK, what now then? 
    } 
    String scanData = logString.toString(); 
    if (scanData.length() > 0) 
    { 
     // Write file 
     fileHelper.createFile(scanData); 
     // Display file created message. 
     Toast.makeText(getBaseContext(), 
       "File saved to:" + getFilesDir().getAbsolutePath(), 
       Toast.LENGTH_SHORT).show(); 
     scanButton.setText(MODE_STOPPED); 
    } else { 
     // We didn't get any data, so there's no point writing an empty file. 
     Toast.makeText(getBaseContext(), 
       "No data captured during scan, output file will not be created.", 
       Toast.LENGTH_SHORT).show(); 
     scanButton.setText(MODE_STOPPED); 
    } 
} 
+0

Использование библиотеки volley или retrofit для подключения к серверу, для отправки данных на сервер или получения данных с сервера http://inthecheesefactory.com/blog/retrofit-2.0/ru http://developer.android.com/intl/zh -cn/training/volley/index.html – Arshad

+0

Я рекомендую изучить retrofit (также rxandroid, но это необязательно) http://square.github.io/retrofit/ – hehe

+0

как вы хотите получать данные на сервере? как JSON, XML, параметры запроса, загрузить файл? – leonziyo

ответ

1

Для отправки данных на сервер Есть много способов, но я предпочитаю использовать Залп библиотеку, потому что это быстрее и проще

Вы можете использовать залп для извлечения и отправки данных, например:

//Request serever for JsonObject 
    JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 

      //Your code to proceed with fetched data 

      } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 

     } 
    }){ 
       //This is the method used to put params into the body, this what you will have to use for sending post data 
     @Override 
     public Map<String, String> getParams() throws AuthFailureError { 
      HashMap<String, String> params = new HashMap<String, String>(); 

       params.put("name","jois"); 
      return params; 
     } 

    }; 

    Volley.newRequestQueue(getApplicationContext()).add(request); 




compile 'com.mcxiaoke.volley:library:1.0.19' This is the dependice you will have to add in build.gradle file to use volley library 

Я надеюсь, что это было полезно, ThankYou

+0

если я использую залп для отправки данных, мне нужен веб-сервис? или я просто могу напрямую отправить сервер url? – najihah93

+0

Вы можете отправить через URL-адрес или воспользоваться веб-сервисом! U кабины выполняют оба – Jois