package com.example.xuhuida; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.StaticLayout; import android.widget.ImageView; import android.widget.SeekBar; import android.util.Log; import android.widget.TextView; import android.widget.Toast; import com.google.gson.Gson; import org.json.JSONException; import org.json.JSONObject; import cn.com.newland.nle_sdk.responseEntity.base.BaseResponseEntity; import cn.com.newland.nle_sdk.util.NetWorkBusiness; import cn.com.newland.nle_sdk.util.Tools; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; public class MainActivity extends AppCompatActivity { private SeekBar seekBar1; private SeekBar seekBar2; private TextView textView1; private TextView textView2; private NetWorkBusiness netWorkBusiness ; private Boolean value; ImageView im; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); seekBar1=findViewById(R.id.pross1); seekBar2=findViewById(R.id.pross2); textView1=findViewById(R.id.text1); textView2=findViewById(R.id.text2); netWorkBusiness = new NetWorkBusiness(DataCache.getAccessToken(getApplicationContext()),"http://api.nlecloud.com:80/"); im=(ImageView)findViewById(R.id.xin); im.setImageResource(R.drawable.off); start(); noOrOff(); } private void start(){ seekBar1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { textView1.setText("Value:" + Integer.toString(progress)); control("10439","steeringengine1",progress); //control("10439","ctrl",1); } @Override public void onStartTrackingTouch(SeekBar seekBar) { Log.e("------------", "开始滑动!"); } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); seekBar2.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { textView2.setText("Value:" + Integer.toString(progress)); int a=progress; control("10439","steeringengine0",a); } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); } private void control(String deviceId,String apiTag,Object value){ final Gson gson=new Gson(); netWorkBusiness.control(deviceId, apiTag, value, new Callback<BaseResponseEntity>() { @Override public void onResponse(@NonNull Call<BaseResponseEntity> call, @NonNull Response<BaseResponseEntity> response) { BaseResponseEntity baseResponseEntity = response.body(); if (baseResponseEntity != null) { Toast.makeText(MainActivity.this,gson.toJson(baseResponseEntity),Toast.LENGTH_LONG).show(); } else { Toast.makeText(MainActivity.this,"请求出错 : 请求参数不合法或者服务出错",Toast.LENGTH_LONG).show(); } } @Override public void onFailure(@NonNull Call<BaseResponseEntity> call, @NonNull Throwable t) { Toast.makeText(MainActivity.this,"请求出错 : \n" + t.getMessage(),Toast.LENGTH_LONG).show(); } }); } private void noOrOff(){ final Gson gson=new Gson(); Runnable runnable=new Runnable() { @Override public void run() { while (true) { netWorkBusiness.getSensor("10439", "defense", new Callback<BaseResponseEntity>() { @Override public void onResponse(Call<BaseResponseEntity> call, Response<BaseResponseEntity> response) { BaseResponseEntity baseResponseEntity = response.body(); if (baseResponseEntity != null) { try { String msg = gson.toJson(baseResponseEntity); JSONObject jsonObject = new JSONObject(msg); JSONObject resultObj = (JSONObject) jsonObject.get("ResultObj"); value = resultObj.getBoolean("Value"); if (value == true) { im.setImageResource(R.drawable.no); } else { im.setImageResource(R.drawable.off); } } catch (JSONException e) { Toast.makeText(MainActivity.this, "有误", Toast.LENGTH_LONG).show(); } } else { Toast.makeText(MainActivity.this, "参数有误", Toast.LENGTH_LONG).show(); } } @Override public void onFailure(Call<BaseResponseEntity> call, Throwable t) { Toast.makeText(MainActivity.this, "灯泡数据请求出错 : \n" + t.getMessage(), Toast.LENGTH_LONG).show(); } }); try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } } }; Thread thread=new Thread(runnable); thread.start(); } }
测试
最新推荐文章于 2021-03-18 19:54:49 发布