如何在android中将单个字符串转换为JsonArray? [英] How to convert single string to JsonArray in android?

查看:254
本文介绍了如何在android中将单个字符串转换为JsonArray?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要将String []转换为JsonArray,我不知道如何。我是Android开发新手我想在MySQL数据库中插入调用日志详细信息。所以,从android方面我得到一个字符串,但我不知道如何将该字符串转换为Jsonarray。 plz提前感谢帮助理清这个问题

I need to convert a String[] to an JsonArray and I don't know how. I am new in android development i want to insert call log details in MySQL database. so, from android side i am getting an string and but I don't know how convert that string into Jsonarray. plz help to sort out this problem thanks in advance

这是我的java代码.......

Here is my java code.......

public class MainActivity extends Activity {
TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    textView = (TextView) findViewById(R.id.lv);
    getCallDetails();
}

private void getCallDetails()
{
    StringBuffer sb = new StringBuffer();
    String strOrder = android.provider.CallLog.Calls.DATE + " DESC";

    Cursor managedCursor = managedQuery(CallLog.Calls.CONTENT_URI, null,null, null, strOrder);
    int number1 = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
    int type1 = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
    int duration1 = managedCursor.getColumnIndex(CallLog.Calls.DURATION);

    sb.append("Call Log :");

    while (managedCursor.moveToNext())
    {
        final String number = managedCursor.getString(number1);
        final String type2 = managedCursor.getString(type1);
        final String date = managedCursor.getString(managedCursor.getColumnIndexOrThrow("date")).toString();
        java.util.Date date1 = new java.util.Date(Long.valueOf(date));
        final String duration = managedCursor.getString(duration1);
        String type = null;

        Log.e("abc",date.toString());
        Log.e("abc",date1.toString());

        final String fDate = date1.toString();


        int callcode = Integer.parseInt(type2);
        switch (callcode)
        {
            case CallLog.Calls.OUTGOING_TYPE:
                type = "Outgoing";
                break;
            case CallLog.Calls.INCOMING_TYPE:
                type = "Incoming";
                break;
            case CallLog.Calls.MISSED_TYPE:
                type = "Missed";
                break;
        }
        sb.append("\nPhone Number:--- " + number + "");
        sb.append(" \nCall Type:--- " + type + " ");
        sb.append("\nCall Date:--- " + date1 + "");
        sb.append ("\nCall duration in sec :--- " + duration);
        sb.append("\n----------------------------------");

        class getCallDetails extends AsyncTask<Void,Void,String>
        {
            @Override
            protected String doInBackground(Void... params)
            {
                HashMap<String,String> param = new HashMap<String, String>();
                param.put(Connect.KEY_NUMBER,number);
                param.put(Connect.KEY_TYPE,type2);
                param.put(Connect.KEY_DATE,fDate);
                param.put(Connect.KEY_DURATION,duration);

                RequestHandler rh = new RequestHandler();
                String res = rh.sendPostRequest(Connect.URL_ADD, param);
                return res;
            }

        }

        getCallDetails idata = new getCallDetails();
        idata.execute();
    }
    managedCursor.close();
    textView.setText(sb);

    }
  }


推荐答案

试试这个,

// Create JSONArray
JSONArray jArray = new JSONArray();
while (managedCursor.moveToNext())
{
    final String number = managedCursor.getString(number1);
    final String type2 = managedCursor.getString(type1);
    final String date = managedCursor.getString(managedCursor.getColumnIndexOrThrow("date")).toString();
    Date date1 = new Date(Long.valueOf(date));
    final String fDate = date1.toString();
    final String duration = managedCursor.getString(duration1);
    String type = null;

    // Create JSONObject
    JSONObject item = new JSONObject();

    // add the items to JSONObject
    item.put("number", number);
    item.put("type2", type2);
    item.put("fDate", fDate);
    item.put("duration", duration);

    // add the JSONObject to JSONArray
    jArray.put(item);
}
managedCursor.close();

System.out.println(jArray.toString());

这篇关于如何在android中将单个字符串转换为JsonArray?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆