Android получает смс разговор с именем или адресом

Я разрабатываю программу SMS, и я хочу получать разговоры.

Я написал код ниже, и он отлично работает, но мне интересно, может ли он быть более эффективным

Это для получения темы разговора

       Uri SMS_INBOX = Uri.parse("content://sms/conversations/");
    Cursor c = getContentResolver().query(SMS_INBOX, null, null, null, "date desc");

        startManagingCursor(c);
        String[] count = new String[c.getCount()];
        String[] snippet = new String[c.getCount()];
        String[] thread_id = new String[c.getCount()];

        c.moveToFirst(); 
        for (int i = 0; i < c.getCount(); i++) {
            count[i] = c.getString(c.getColumnIndexOrThrow("msg_count"))
                    .toString();
            thread_id[i] = c.getString(c.getColumnIndexOrThrow("thread_id"))
                    .toString();
            snippet[i] = c.getString(c.getColumnIndexOrThrow("snippet"))
                    .toString();
            //Toast.makeText(getApplicationContext(), count[i] + " - " + thread_id[i]+" - "+snippet[i] , Toast.LENGTH_LONG).show();
            c.moveToNext();
        }
        c.close();

для получения адресов по цепочке разговоров

    for(int ad = 0; ad < thread_id.length ; ad++)
    {
    Uri uri = Uri.parse("content://sms/inbox");
    String where = "thread_id="+thread_id[ad]; 
    Cursor mycursor= getContentResolver().query(uri, null, where ,null,null); 
    startManagingCursor(mycursor);

    String[] number = new String[mycursor.getCount()];


    if(mycursor.moveToFirst()){
            for(int i=0;i

Ответы на вопрос(2)

Ваш ответ на вопрос