2016-03-25 13 views
1

この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/ja http://developer.android.com/intl/zh -cn/training/volley/index.html – Arshad

+0

レトロフィット(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 

ありがとう

+0

データの送信にvolleyを使用している場合は、Webサービスが必要ですか?または私はちょうど直接URLサーバーに送信できますか? – najihah93

+0

URLを送信したり、Webサービスを使用することができます。 U cabは両方を行う – Jois

関連する問題