network
network 은 HSP 에서 기본으로 제공하는 API로 별도의 설정 없이 사용 가능하다.
network HSP 의 Operation 또는 Hub 와 통신을 쉽게 사용하기 위해서 만들어졌으며 서버와 주고 받는 데이터는 MessageContainer 을 통해 전달할 수 있다.
MessageContainer Class
public final class MessageContainer<T> implements Serializable {
private Map<String, Object> context;
private HoneMobileMessage<T> message;
}
private Map<String, Object> context;
private HoneMobileMessage<T> message;
}
HoneMobileMessage Class
public final class HoneMobileMessage<P> implements Serializable {
private Map<String, Object> header;
private P payload;
}
private Map<String, Object> header;
private P payload;
}
doPost
doPost 는 POST 형식으로 HSP 의 Operation 또는 Hub 에 데이터를 전달한다.
options
필드 | 필드 | 설명 | M/O |
---|---|---|---|
context | 서버로 데이터 전송에 필요한 정보 | M | |
targetName | 서버이름, OP가 미리 정의되어 있어야 함 | M | |
serviceCategory | 서비스 카테고리 | M | |
serviceName | 서비스 이름 | M | |
message | Header 와 Playload 로 구성되며 서버로 전송되는 실제 패킷. 개발 시에는 서버와 비즈앱 간의 합의된 규격서를 기반으로 작성된다. | O | |
header | 패킷 공통 정보 | O | |
payload | 전송 데이터 | O | |
Example
val container = MessageContainer<Map<String, Any>>().apply {
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "notice")
put("serviceName", "getNotice")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("pageNumber", 1)
put("rowsPerPage", 10)
})
})
}
DAPNetwork.doPost(this@MainActivity, container, {
// TODO
}) {
// TODO
}
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "notice")
put("serviceName", "getNotice")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("pageNumber", 1)
put("rowsPerPage", 10)
})
})
}
DAPNetwork.doPost(this@MainActivity, container, {
// TODO
}) {
// TODO
}
Map<String, Object> context = new HashMap<>();
context.put("targetName", "hub1");
context.put("serviceCategory", "notice");
context.put("serviceName", "getNotice");
Map<String, Object> payload = new HashMap<>();
payload.put("pageNumber", 1);
payload.put("rowsPerPage", 10);
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doPost(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
});
context.put("targetName", "hub1");
context.put("serviceCategory", "notice");
context.put("serviceName", "getNotice");
Map<String, Object> payload = new HashMap<>();
payload.put("pageNumber", 1);
payload.put("rowsPerPage", 10);
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doPost(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
});
doUpload
doUpload 는 HSP 의 Hub 에 파일 업로드를 요청 한다.
options
필드 | 필드 | 설명 | M/O |
---|---|---|---|
context | 서버로 데이터 전송에 필요한 정보 | M | |
targetName | 서버이름, OP가 미리 정의되어 있어야 함 | M | |
serviceCategory | 서비스 카테고리 | M | |
serviceName | 서비스 이름 | M | |
message | Header 와 Playload 로 구성되며 서버로 전송되는 실제 패킷. 개발 시에는 서버와 비즈앱 간의 합의된 규격서를 기반으로 작성된다. | M | |
header | 패킷 공통 정보 | O | |
payload | 전송 데이터 | M | |
Example
val path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png"
val container = MessageContainer<Map<String, Any>>().apply {
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "util")
put("serviceName", "fileUpload")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("files", arrayListOf(path))
})
})
}
DAPNetwork.doUpload(this@MainActivity, container, {
// TODO
}) {
// TODO
}
val container = MessageContainer<Map<String, Any>>().apply {
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "util")
put("serviceName", "fileUpload")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("files", arrayListOf(path))
})
})
}
DAPNetwork.doUpload(this@MainActivity, container, {
// TODO
}) {
// TODO
}
Map<String, Object> context = new HashMap<>();
context.put("targetName", "hub1");
context.put("serviceCategory", "util");
context.put("serviceName", "fileUpload");
String path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png";
ArrayList<String> pathes = new ArrayList<>();
pathes.add(path);
Map<String, Object> payload = new HashMap<>();
payload.put("files", pathes);
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doUpload(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
});
context.put("targetName", "hub1");
context.put("serviceCategory", "util");
context.put("serviceName", "fileUpload");
String path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png";
ArrayList<String> pathes = new ArrayList<>();
pathes.add(path);
Map<String, Object> payload = new HashMap<>();
payload.put("files", pathes);
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doUpload(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
});
doDownload
doDownload 는 HSP 의 Hub 에 파일 다운로드를 요청 한다.
options
필드 | 필드 | 설명 | M/O |
---|---|---|---|
context | 서버로 데이터 전송에 필요한 정보 | M | |
targetName | 서버이름, OP가 미리 정의되어 있어야 함 | M | |
serviceCategory | 서비스 카테고리 | M | |
serviceName | 서비스 이름 | M | |
message | Header 와 Playload 로 구성되며 서버로 전송되는 실제 패킷. 개발 시에는 서버와 비즈앱 간의 합의된 규격서를 기반으로 작성된다. | M | |
header | 패킷 공통 정보 | O | |
payload | 전송 데이터 | M | |
Example
val container = MessageContainer<Map<String, Any>>().apply {
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "util")
put("serviceName", "fileDownload")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("userId", "user")
put("key2", "value")
put("files", arrayListOf("/test.png"))
})
})
}
DAPNetwork.doDownload(this@MainActivity, container, {
// TODO
}) {
// TODO
}
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "util")
put("serviceName", "fileDownload")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("userId", "user")
put("key2", "value")
put("files", arrayListOf("/test.png"))
})
})
}
DAPNetwork.doDownload(this@MainActivity, container, {
// TODO
}) {
// TODO
}
Map<String, Object> context = new HashMap<>();
context.put("targetName", "hub1");
context.put("serviceCategory", "util");
context.put("serviceName", "fileDownload");
ArrayList<String> files = new ArrayList<>();
files.add("/test.png");
Map<String, Object> payload = new HashMap<>();
payload.put("userId", "user");
payload.put("files", files);
payload.put("key2", "value");
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doDownload(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
});
context.put("targetName", "hub1");
context.put("serviceCategory", "util");
context.put("serviceName", "fileDownload");
ArrayList<String> files = new ArrayList<>();
files.add("/test.png");
Map<String, Object> payload = new HashMap<>();
payload.put("userId", "user");
payload.put("files", files);
payload.put("key2", "value");
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doDownload(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
});
doUploadWithProgress
doUploadWithProgress 는 HSP 의 Hub 에 파일 업로드를 요청하면서 진행 상황을 전달 받는다.
options
필드 | 필드 | 설명 | M/O |
---|---|---|---|
context | 서버로 데이터 전송에 필요한 정보 | M | |
targetName | 서버이름, OP가 미리 정의되어 있어야 함 | M | |
serviceCategory | 서비스 카테고리 | M | |
serviceName | 서비스 이름 | M | |
message | Header 와 Playload 로 구성되며 서버로 전송되는 실제 패킷. 개발 시에는 서버와 비즈앱 간의 합의된 규격서를 기반으로 작성된다. | M | |
header | 패킷 공통 정보 | O | |
payload | 전송 데이터 | M | |
Example
val path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png"
val container = MessageContainer<Map<String, Any>>().apply {
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "util")
put("serviceName", "fileUpload")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("files", arrayListOf(path))
})
})
}
DAPNetwork.doUploadWithProgress(this@MainActivity, container, {
// TODO
}, {
// TODO
}, object: OnUpdateListener() {
override fun onProgress(currentByte: Long, totalByte: Long, percent: Int) {
// TODO
}
})
val container = MessageContainer<Map<String, Any>>().apply {
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "util")
put("serviceName", "fileUpload")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("files", arrayListOf(path))
})
})
}
DAPNetwork.doUploadWithProgress(this@MainActivity, container, {
// TODO
}, {
// TODO
}, object: OnUpdateListener() {
override fun onProgress(currentByte: Long, totalByte: Long, percent: Int) {
// TODO
}
})
Map<String, Object> context = new HashMap<>();
context.put("targetName", "hub1");
context.put("serviceCategory", "util");
context.put("serviceName", "fileUpload");
String path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png";
ArrayList<String> pathes = new ArrayList<>();
pathes.add(path);
Map<String, Object> payload = new HashMap<>();
payload.put("files", pathes);
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doUploadWithProgress(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
}, new OnUpdateListener() {
@Override
public void onProgress(long currentByte, long totalByte, int percent) {
// TODO
}
});
context.put("targetName", "hub1");
context.put("serviceCategory", "util");
context.put("serviceName", "fileUpload");
String path = "/data/user/0/com.hanwha.testhonemobile/files/hone_repository/bizAppId/test.png";
ArrayList<String> pathes = new ArrayList<>();
pathes.add(path);
Map<String, Object> payload = new HashMap<>();
payload.put("files", pathes);
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doUploadWithProgress(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
}, new OnUpdateListener() {
@Override
public void onProgress(long currentByte, long totalByte, int percent) {
// TODO
}
});
doDownloadWithProgress
doDownloadWithProgress 는 HSP 의 Hub 에 파일 다운로드를 요청 하면서 진행 상황을 전달 받는다.
options
필드 | 필드 | 설명 | M/O |
---|---|---|---|
context | 서버로 데이터 전송에 필요한 정보 | M | |
targetName | 서버이름, OP가 미리 정의되어 있어야 함 | M | |
serviceCategory | 서비스 카테고리 | M | |
serviceName | 서비스 이름 | M | |
message | Header 와 Playload 로 구성되며 서버로 전송되는 실제 패킷. 개발 시에는 서버와 비즈앱 간의 합의된 규격서를 기반으로 작성된다. | M | |
header | 패킷 공통 정보 | O | |
payload | 전송 데이터 | M | |
Example
val container = MessageContainer<Map<String, Any>>().apply {
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "util")
put("serviceName", "fileDownload")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("userId", "user")
put("key2", "value")
put("files", arrayListOf("/test.png"))
})
})
}
DAPNetwork.doDownloadWithProgress(this@MainActivity, container, {
// TODO
}, {
// TODO
}, object: OnUpdateListener() {
override fun onProgress(currentByte: Long, totalByte: Long, percent: Int) {
// TODO
}
})
setContext(hashMapOf<String, Any>().apply {
put("targetName", "hub1")
put("serviceCategory", "util")
put("serviceName", "fileDownload")
})
setMessage(HoneMobileMessage<Map<String, Any>>().apply {
setPayload(hashMapOf<String, Any>().apply {
put("userId", "user")
put("key2", "value")
put("files", arrayListOf("/test.png"))
})
})
}
DAPNetwork.doDownloadWithProgress(this@MainActivity, container, {
// TODO
}, {
// TODO
}, object: OnUpdateListener() {
override fun onProgress(currentByte: Long, totalByte: Long, percent: Int) {
// TODO
}
})
Map<String, Object> context = new HashMap<>();
context.put("targetName", "hub1");
context.put("serviceCategory", "util");
context.put("serviceName", "fileDownload");
ArrayList<String> files = new ArrayList<>();
files.add("/test.png");
Map<String, Object> payload = new HashMap<>();
payload.put("userId", "user");
payload.put("files", files);
payload.put("key2", "value");
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doDownloadWithProgress(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
}, new OnUpdateListener() {
@Override
public void onProgress(long currentByte, long totalByte, int percent) {
// TODO
}
});
context.put("targetName", "hub1");
context.put("serviceCategory", "util");
context.put("serviceName", "fileDownload");
ArrayList<String> files = new ArrayList<>();
files.add("/test.png");
Map<String, Object> payload = new HashMap<>();
payload.put("userId", "user");
payload.put("files", files);
payload.put("key2", "value");
HoneMobileMessage<Map<String, Object>> message = new HoneMobileMessage<>();
message.setPayload(payload);
MessageContainer<Map<String, Object>> container = new MessageContainer<>();
container.setContext(context);
container.setMessage(message);
DAPNetwork.doDownloadWithProgress(MainActivity.this, container, result -> {
// TODO
}, e -> {
// TODO
}, new OnUpdateListener() {
@Override
public void onProgress(long currentByte, long totalByte, int percent) {
// TODO
}
});
Error Code
Code | Cause | Comment |
---|---|---|
E10600 | 파라메터 값이 잘못되어 있을 경우 | |
E10601 | 전달된 액션 값이 알 수 없는 액션일 경우 | |
E10602 | 서버로 데이터 전송에 필요한 정보가 잘못되어 있을 경우 | |
E10603 | 서버로 전송되는 실제 패킷 정보가 잘못되어 있을 경우 | |
E10604 | 서버 이름이 잘못되어 있을 경우 | |
E10605 | 서비스 카테고리가 잘못되어 있을 경우 | |
E10606 | 서비스 이름이 잘못되어 있을 경우 | |
E10607 | 전송 데이터가 잘못되어 있을 경우 | |
E10608 | 업로드할 파일 정보가 잘못되어 있을 경우 | |
E10650 | 실행 중 오류가 발생 되었을 경우 | |
E10651 | 실행 중 업로드할 파일이 존재하지 않을 경우 | |
E10652 | 서버로 부터 전달받은 응답 메시지가 없는 경우 | |
E10653 | 서버로 부터 전달받은 응답 메시지가 잘못되어 있는 경우 | |
E10699 | 알 수 없는 오류가 발생 되었을 경우 | |