2017-01-13 16 views
0

私はスピナーからサーバーにデータを送信しようとしています。これは、スピナーのコードです:Android、HTTP POST値のスピナー

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
      String label = spinner.getSelectedItem().toString(); 
      Toast.makeText(parent.getContext(), "Chosen: " + label, Toast.LENGTH_LONG).show(); 

      tokens = new StringTokenizer(label, " "); 
      time = tokens.nextToken().trim(); 
     } 

ユーザーはスピナーから選ぶときに(彼は時間の値を選択することができます(15分、30分、45分には、スピナーにあります))、time = tokens.nextToken().trim();に私は彼が選んだ時間を得ることができます。さて、私はそれをサーバーに送信しようとしているので、私の質問はどのようにそれですか? thisの作業(2.3。Http Post)、または改造2で行う方法がありますか?

答えて

0

あなたのサービスを作成します。

public interface MyService{ 
    @FormUrlEncoded 
    @POST("/time") 
    Call<Response> postTime(@Field("time") String time); 
} 

はあなたのレトロフィットビルダー

Retrofit retrofit = new Retrofit.Builder() 
    .baseUrl("https://yourserver.com/") 
    .build(); 

GitHubService service = retrofit.create(MyService.class); 

の作成は、あなたのAPIをヒット:

service.postTime(time); 

これはあなたの頭のスタートを取得するための基本的なコードです。 Retrofit2にはさらに高度な機能が満載です。

+0

ありがとうございますが、 'BASE_URL +"/send "に送信してキーが" inteval = "に変わったらどうしたらいいのですか? – mustangws

+0

あなたはBASE_URL +を使用する必要はありません/ beacuseのベースURLを送信するには、すでにUR改造ビルダーに設定されています。 –

+0

これは私のクラスです:http://www.codesend.com/view/dadacbd907a84a0bdd19d68507b4c7b1/ですので、私はスピナーからサーバーに時間値を投稿する必要があります。 ://requestb.in/ testのために、後で 'MainAactivity.BASE_URL +"/send "(ベースURLは主活動クラスにあります)とキー"間隔= "でなければなりません。それを – mustangws