Перед попыткой загрузить его нужно поместить dll в свой путь к библиотеке ( рекомендуется ). так что вам придется извлечь его из jar и скопировать его в путь lib.
private static void loadLib(String path, String name) {
name = System.mapLibraryName(name); // extends name with .dll, .so or .dylib
try {
InputStream in = ACWrapper.class.getResourceAsStream("/"+path + name);
File fileOut = new File("your lib path");
OutputStream out = FileUtils.openOutputStream(fileOut);
IOUtils.copy(in, out);
in.close();
out.close();
System.load(fileOut.toString());//loading goes here
} catch (Exception e) {
//handle
}
}
Примечание: ACWrapper
- класс, содержащий статический метод
Вы можете преобразовать свой параметр в строку Json, используя следующий метод
func convertToJsonString(from object: Any) -> String? {
if let objectData = try? JSONSerialization.data(withJSONObject: object, options: JSONSerialization.WritingOptions(rawValue: 0)) {
let objectString = String(data: objectData, encoding: .utf8)
return objectString
}
return nil
}
Возможно, вам следует создать строку из вашего объекта JSON. Попробуйте с этим кодом:
func jsonToString(json: AnyObject) -> String{
do {
let data1 = try JSONSerialization.data(withJSONObject: json, options: JSONSerialization.WritingOptions.prettyPrinted)
let convertedString = String(data: data1, encoding: String.Encoding.utf8)
return convertedString!
} catch let myJSONError {
print(myJSONError)
return ""
}
}
let jsonData = [
"buyerId":"ananth",
"state":"California",
"mobile_no": "5896235966",
"permissionType": "3",
"communityNoArray": "['1441','1643']",
"community_name": "abrakasdabrama",
] as [String : Any]
Затем вы можете назвать его как
let messageString = jsonToString(json: jsonData as AnyObject)
После этого вы можете отправить его как строку.