package com.mcxtzhang.rxjavademo.network; import android.app.ProgressDialog; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; import com.mcxtzhang.rxjavademo.R; import org.json.JSONException; import org.json.JSONObject; import rx.Subscriber; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; public class NetworkActivity extends AppCompatActivity { private EditText mEtId, mEtDesc, mEtType; private CheckBox mCb; private Button mButton; private ProgressDialog mProgressDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_network); mEtId = (EditText) findViewById(R.id.etId); mEtDesc = (EditText) findViewById(R.id.etDesc); mEtType = (EditText) findViewById(R.id.editText); mCb = (CheckBox) findViewById(R.id.checkBox); mButton = (Button) findViewById(R.id.btnCommit); mProgressDialog = new ProgressDialog(this); mProgressDialog.setTitle("提交中..."); mButton.setOnClickListener(v -> { Add2GankBean add2GankBean = new Add2GankBean(); add2GankBean .setUrl("http://my.csdn.net/?ref=toolbar_logo") .setDesc(mEtDesc.getText().toString().trim()) .setWho(mEtId.getText().toString().trim()) .setType("Android") .setDebug(mCb.isChecked()); new Add2GankUtils().add2Gank(add2GankBean) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<String>() { public static final String TAG = "zxt"; @Override public void onStart() { super.onStart(); mProgressDialog.show(); } @Override public void onCompleted() { mProgressDialog.hide(); } @Override public void onError(Throwable e) { Log.e(TAG, "onError() called with: e = [" + e + "]"); Toast.makeText(NetworkActivity.this, "Error:" + e, Toast.LENGTH_SHORT).show(); mProgressDialog.hide(); } @Override public void onNext(String s) { try { String msg = new JSONObject(s).optString("msg"); Log.e(TAG, "onNext() error called with: s = [" + msg + "]"); } catch (JSONException e) { e.printStackTrace(); } Log.d(TAG, "onNext() called with: s = [" + s + "]"); } }); }); } }