使用kso​​ap发送数据集

时间:2013-03-26 17:12:44

标签: android android-ksoap2

在我的应用程序中,我必须将一个大数据集发送回我们的服务器进行处理。我正在使用ksoap我的所有请求从服务器中提取正常的xml属性和属性,但在一次调用中我必须使用数据集来发送信息。

android的ksoap库中是否有任何内容可以使整个过程更容易?

基本上现在我只是用所有这些标题,标签和一个shcema构建这个巨大的字符串

示例:

String header = "<mmAps diffgr:id=\"mmApps"+String.valueOf(count)+"\" msdata:rowOrder=\"0\" diffgr:hasChanges=\"inserted\">\n";
String ecmmaID = "<ECMMAID>"+c.getString(c.getColumnIndex(Apparatus.APP_ECMMAID))+"</ECMMAID>\n";
etc..

String datasetToSend = header+ecmmaID+....;

然后我会将请求传递给大字符串

请告诉我有一些更容易的方法来做到这一点。

也不可能改变数据集,因为它不受我的控制

1 个答案:

答案 0 :(得分:2)

JSON是您可以轻松使用KSOAP的最佳选择。这将是结构化的,远比你生成的字符串更好。

<强> 1。在android和你的服务器(C#.Net,Java等)中制作相同的Model类

// In Android
class MyData {
    String someThing;
    public getSomeThing() {}
    //...
}

<强> 2。使用模型类

将该数据集编码到android中的JSONArray
// Create JSON Objects in loop for entire dataset
JsonObject jo = new JsonObject();
jo.add(myData.getSomthing());
// Add all JSON Objects in JSONArray
JSONArray jArray = new JSONArray();
jArray.add(jo);

第3。使用KSOAP

将此JSON作为字符串发送
String toSendViaKsoap = jArray.toString();

<强> 4。将该字符串从json解码为服务器上的模型类列表。

根据您的服务器语言,解码该字符串并在此处以本机语言创建类似步骤1的对象,并执行您想要的任何操作。 如果你有.NET服务器应用程序,那么有很多免费的库可以用来代码json支持构建json支持。但我更喜欢this一个。

希望这会有所帮助.. :)