Merge branch 'master' of http://gitlab.zhidaoauto.com/ecos/app/MoGoAiCloudSdk
This commit is contained in:
@@ -17,33 +17,26 @@ public class MainActivity extends AppCompatActivity {
|
||||
private Button btnJumpPassPort;
|
||||
private Button btnJumpNetWorkPort;
|
||||
private Button btnJumpRealTime;
|
||||
private Button btnJumpRoadCondition;
|
||||
|
||||
private TextView tvSn;
|
||||
private TextView tvToken;
|
||||
private TextView tvAppKey;
|
||||
private TextView tvDevicesId;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
|
||||
tvAppKey = findViewById(R.id.tvAppKey);
|
||||
tvDevicesId = findViewById(R.id.tvDevicesId);
|
||||
tvSn = findViewById(R.id.tvSn);
|
||||
tvToken = findViewById(R.id.tvToken);
|
||||
|
||||
initPassportInfo();
|
||||
|
||||
btnJumpPassPort = findViewById(R.id.btnJumpPassPort);
|
||||
btnJumpPassPort.setOnClickListener(v -> {
|
||||
MoGoAiCloudClient.getInstance().refreshToken(new IMoGoTokenCallback() {
|
||||
@Override
|
||||
public void onTokenGot(String token, String sn) {
|
||||
initPassportInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
MoGoAiCloudClient.getInstance().refreshToken();
|
||||
});
|
||||
|
||||
btnJumpNetWorkPort = findViewById(R.id.btnJumpNetWorkPort);
|
||||
@@ -57,12 +50,33 @@ public class MainActivity extends AppCompatActivity {
|
||||
Intent intent = new Intent(MainActivity.this, RealTimeActivity.class);
|
||||
startActivity(intent);
|
||||
});
|
||||
|
||||
btnJumpRoadCondition = findViewById(R.id.btnJumpRoadcondition);
|
||||
btnJumpRoadCondition.setOnClickListener(v -> {
|
||||
Intent intent = new Intent(MainActivity.this, RoadConditionActivity.class);
|
||||
startActivity(intent);
|
||||
});
|
||||
|
||||
MoGoAiCloudClient.getInstance().addTokenCallbacks(new IMoGoTokenCallback() {
|
||||
@Override
|
||||
public void onTokenGot(String token, String sn) {
|
||||
initPassportInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String msg) {
|
||||
initPassportInfo();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化令牌信息
|
||||
*/
|
||||
private void initPassportInfo() {
|
||||
tvAppKey.setText("AppKey:" + MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getThirdPartyDeviceId());
|
||||
tvDevicesId.setText("DevicesId:" + MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getThirdPartyDeviceId());
|
||||
|
||||
String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn();
|
||||
String token = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getToken();
|
||||
|
||||
|
||||
@@ -5,17 +5,22 @@ import androidx.multidex.MultiDexApplication;
|
||||
import com.mogo.cloud.httpdns.MogoHttpDnsConfig;
|
||||
import com.mogo.cloud.httpdns.bean.HttpDnsSimpleLocation;
|
||||
import com.mogo.cloud.httpdns.listener.IHttpDnsCurrentLocation;
|
||||
import com.mogo.cloud.passport.IMoGoTokenCallback;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class MoGoApplication extends MultiDexApplication {
|
||||
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
@@ -54,7 +59,8 @@ public class MoGoApplication extends MultiDexApplication {
|
||||
});
|
||||
|
||||
// 初始化SDK,可以设置状态回调来监听
|
||||
MoGoAiCloudClient.getInstance().init(this, clientConfig, null);
|
||||
MoGoAiCloudClient.getInstance().init(
|
||||
this, clientConfig);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
142
app/src/main/java/com/mogo/cloud/RoadConditionActivity.java
Normal file
142
app/src/main/java/com/mogo/cloud/RoadConditionActivity.java
Normal file
@@ -0,0 +1,142 @@
|
||||
package com.mogo.cloud;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.mogo.cloud.network.BaseData;
|
||||
import com.mogo.cloud.network.NetworkActivity;
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClient;
|
||||
import com.mogo.cloud.tanlu.MogoRoadSearchManager;
|
||||
import com.mogo.cloud.tanlu.MogoUploadManager;
|
||||
import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback;
|
||||
import com.mogo.cloud.tanlu.api.ITanluUploadCallback;
|
||||
import com.mogo.cloud.tanlu.bean.RoadInfoRequest;
|
||||
import com.mogo.cloud.tanlu.bean.RoadInfos;
|
||||
import com.mogo.cloud.tanlu.bean.UploadInfo;
|
||||
import com.mogo.cloud.tanlu.bean.UploadResult;
|
||||
import com.mogo.cloud.tanlu.bean.location.Location;
|
||||
import com.mogo.realtime.Interface.MoGoAiCloudRealTime;
|
||||
import com.mogo.realtime.entity.MogoSnapshotSetData;
|
||||
import com.mogo.realtime.socket.IMogoCloudOnMsgListener;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* @author lixiaopeng
|
||||
* @description 路况服务
|
||||
* @since: 2021/1/21
|
||||
*/
|
||||
public class RoadConditionActivity extends AppCompatActivity {
|
||||
private static final String TAG = "RoadConditionActivity";
|
||||
private Button roadUploadButton;
|
||||
private Button roadQueryButton;
|
||||
private TextView roadUploadTv;
|
||||
private TextView roadQueryTv;
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_roadcondition);
|
||||
|
||||
roadUploadTv = findViewById(R.id.road_upload_tv);
|
||||
roadQueryTv = findViewById(R.id.road_query_tv);
|
||||
|
||||
roadUploadButton = findViewById(R.id.road_upload_bt);
|
||||
roadUploadButton.setOnClickListener(view -> {
|
||||
uploadRoadInfo();
|
||||
});
|
||||
|
||||
roadQueryButton = findViewById(R.id.road_query_bt);
|
||||
roadQueryButton.setOnClickListener(view -> {
|
||||
queryRoad();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
|
||||
public void queryRoad() {
|
||||
ArrayList list = new ArrayList();
|
||||
list.add("10007");
|
||||
|
||||
//北京市朝阳区小黄庄北街2号, 经纬度和地理位置必须有一个
|
||||
Location location = new Location();
|
||||
location.setLatitude(39.968139);
|
||||
location.setLongitude(116.411468);
|
||||
RoadInfoRequest request = new RoadInfoRequest(location, "中关村", list, false, false);
|
||||
|
||||
MogoRoadSearchManager.getInstance(RoadConditionActivity.this).init();
|
||||
MogoRoadSearchManager.getInstance(RoadConditionActivity.this).queryRoadInfo(request, new IRoadInfoSearchCallback() {
|
||||
@Override
|
||||
public void onSuccess(BaseData<RoadInfos> result) {
|
||||
if (result != null && result.getResult() != null) {
|
||||
if (result != null && result.getResult() != null) {
|
||||
roadQueryTv.setText(new Gson().toJson(result));
|
||||
} else {
|
||||
roadQueryTv.setText("onSuccess code = " + result.getCode() + " --message = " + result.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(int code) {
|
||||
roadQueryTv.setText("onFailure code = " + code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
roadQueryTv.setText("onError e = " + e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void uploadRoadInfo() {
|
||||
UploadInfo info = new UploadInfo();
|
||||
// info.setFilePath("/storage/emulated/0/Movies/compress_video_20210127112035.mp4");
|
||||
info.setFilePath("/storage/emulated/0/Movies/2222.png");
|
||||
|
||||
info.setAddr("北京市东城区小黄庄北街2号靠近中国银行");
|
||||
info.setLongitude(116.410892);
|
||||
info.setLatitude(39.968317);
|
||||
info.setPoiType("10007");
|
||||
info.setDirection(0);
|
||||
info.setAreaCode("110101");
|
||||
info.setCityCode("010");
|
||||
info.setSn("F803EB2046PZD00228");
|
||||
info.setType(0); //0为图片, 1为视频
|
||||
|
||||
MogoUploadManager.getInstance(RoadConditionActivity.this).uploadInfo(info, new ITanluUploadCallback() {
|
||||
@Override
|
||||
public void onSuccess(BaseData<UploadResult> result) {
|
||||
if (result != null && result.getResult() != null) {
|
||||
roadUploadTv.setText("onSuccess id = " + result.getResult().id + "");
|
||||
} else {
|
||||
roadUploadTv.setText("onSuccess code = " + result.getCode() + " --message = " + result.getMsg());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(int code) {
|
||||
roadUploadTv.setText("onFailure code = " + code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
roadUploadTv.setText("onError e = " + e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.mogo.cloud.network;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.TextView;
|
||||
@@ -10,13 +9,6 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.mogo.cloud.R;
|
||||
import com.mogo.cloud.tanlu.MogoRoadSearchManager;
|
||||
import com.mogo.cloud.tanlu.MogoUploadManager;
|
||||
import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback;
|
||||
import com.mogo.cloud.tanlu.api.ITanluUploadCallback;
|
||||
import com.mogo.cloud.tanlu.bean.RoadInfos;
|
||||
import com.mogo.cloud.tanlu.bean.UploadInfo;
|
||||
import com.mogo.cloud.tanlu.bean.UploadResult;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -27,6 +19,7 @@ import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
import static com.mogo.cloud.network.NetConstants.GEOFENCE_HOST;
|
||||
import static com.mogo.cloud.network.NetConstants.REALTIME_LOCATION_HOST;
|
||||
|
||||
/**
|
||||
* created by wujifei on 2021/1/21 12:26
|
||||
@@ -53,76 +46,6 @@ public class NetworkActivity extends AppCompatActivity {
|
||||
tvResult.setText("结果显示");
|
||||
queryRoadData("ZD802C1938L10797");
|
||||
// queryHelpSignal("F803EB2046PZD00006");
|
||||
|
||||
//上报路况到服务端
|
||||
// uploadRoadInfo();
|
||||
//查询路况
|
||||
// queryRoad();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void queryRoad() {
|
||||
MogoRoadSearchManager.getInstance(NetworkActivity.this).init();
|
||||
MogoRoadSearchManager.getInstance(NetworkActivity.this).queryRoadInfo(null, new IRoadInfoSearchCallback() {
|
||||
@Override
|
||||
public void onSuccess(BaseData<RoadInfos> result) {
|
||||
if (result != null && result.getResult() != null) {
|
||||
Log.d(TAG, "msg = " + result.getMsg() + " --code =" + result.getCode());
|
||||
if (result.getResult().getData() != null) {
|
||||
Log.d(TAG, "NetworkActivity queryRoad size() = " + result.getResult().getData().size());
|
||||
}
|
||||
tvResult.setText(new Gson().toJson(result));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(int code) {
|
||||
Log.d(TAG, "NetworkActivity queryRoad code = " + code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Log.d(TAG, "NetworkActivity queryRoad e = " + e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void uploadRoadInfo() {
|
||||
UploadInfo info = new UploadInfo();
|
||||
// info.setFilePath("/storage/emulated/0/Movies/compress_video_20210127112035.mp4");
|
||||
// info.setFilePath("/storage/emulated/0/Movies/2222.png");
|
||||
|
||||
info.setAddr("北京市东城区小黄庄北街2号靠近中国银行");
|
||||
info.setLongitude(116.410892);
|
||||
info.setLatitude(39.968317);
|
||||
info.setPoiType("10007");
|
||||
info.setDirection(0);
|
||||
info.setAreaCode("110101");
|
||||
info.setCityCode("010");
|
||||
info.setSn("F803EB2046PZD00228");
|
||||
info.setType(0); //0为图片, 1为视频
|
||||
|
||||
MogoUploadManager.getInstance(NetworkActivity.this).uploadInfo(info, new ITanluUploadCallback() {
|
||||
@Override
|
||||
public void onSuccess(BaseData<UploadResult> result) {
|
||||
if (result != null && result.getResult() != null) {
|
||||
Log.d(TAG, "NetworkActivity uploadRoadInfo result.id = " + result.getResult().id);
|
||||
tvResult.setText(result.getResult().id + "");
|
||||
} else {
|
||||
Log.e(TAG, "NetworkActivity uploadRoadInfo result == null");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure(int code) {
|
||||
Log.d(TAG, "NetworkActivity uploadRoadInfo code = " + code);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Log.d(TAG, "NetworkActivity uploadRoadInfo onError e = " + e);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -144,8 +67,8 @@ public class NetworkActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
public void onNext(BaseData<V2XRoadDataRes> value) {
|
||||
tvResult.setText(new Gson().toJson(value));
|
||||
System.out.println(new Gson().toJson(value));
|
||||
tvResult.setText(formatJson(new Gson().toJson(value)));
|
||||
System.out.println(formatJson(new Gson().toJson(value)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -163,7 +86,7 @@ public class NetworkActivity extends AppCompatActivity {
|
||||
}
|
||||
|
||||
public void queryHelpSignal(String sn) {
|
||||
apiService = RetrofitFactory.INSTANCE.getInstance("http://dzt-realtimeLocation.zhidaozhixing.com")
|
||||
apiService = RetrofitFactory.INSTANCE.getInstance(REALTIME_LOCATION_HOST)
|
||||
.create(ApiService.class);
|
||||
if (apiService != null) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
@@ -179,8 +102,8 @@ public class NetworkActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
||||
public void onNext(BaseData<V2XSeekHelpRes> value) {
|
||||
tvResult.setText(new Gson().toJson(value));
|
||||
System.out.println(new Gson().toJson(value));
|
||||
tvResult.setText(formatJson(new Gson().toJson(value)));
|
||||
System.out.println(formatJson(new Gson().toJson(value)));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -196,4 +119,62 @@ public class NetworkActivity extends AppCompatActivity {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static String formatJson(String jsonStr) {
|
||||
if (null == jsonStr || "".equals(jsonStr))
|
||||
return "";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
char last = '\0';
|
||||
char current = '\0';
|
||||
int indent = 0;
|
||||
boolean isInQuotationMarks = false;
|
||||
for (int i = 0; i < jsonStr.length(); i++) {
|
||||
last = current;
|
||||
current = jsonStr.charAt(i);
|
||||
switch (current) {
|
||||
case '"':
|
||||
if (last != '\\') {
|
||||
isInQuotationMarks = !isInQuotationMarks;
|
||||
}
|
||||
sb.append(current);
|
||||
break;
|
||||
case '{':
|
||||
case '[':
|
||||
sb.append(current);
|
||||
if (!isInQuotationMarks) {
|
||||
sb.append('\n');
|
||||
indent++;
|
||||
addIndentBlank(sb, indent);
|
||||
}
|
||||
break;
|
||||
case '}':
|
||||
case ']':
|
||||
if (!isInQuotationMarks) {
|
||||
sb.append('\n');
|
||||
indent--;
|
||||
addIndentBlank(sb, indent);
|
||||
}
|
||||
sb.append(current);
|
||||
break;
|
||||
case ',':
|
||||
sb.append(current);
|
||||
if (last != '\\' && !isInQuotationMarks) {
|
||||
sb.append('\n');
|
||||
addIndentBlank(sb, indent);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
sb.append(current);
|
||||
}
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
private static void addIndentBlank(StringBuilder sb, int indent) {
|
||||
for (int i = 0; i < indent; i++) {
|
||||
sb.append('\t');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user