0

I have an activity where in the values are fetched via JSON. The for loop is run. I am receiving all the values present in the fetched object from JSON. However, I want to append all the values to an ArrayList, i.e. image_urls. Could any one please help me?

public class AndroidJSONParsingActivity extends ListActivity {

    private static String url = "http://www.ttt.com/album_pro/array_to_encode";

    JSONArray folio = null;
    ArrayList<String> urlList = new ArrayList<String>();
    public static ArrayList<String> image_urls = new ArrayList<String>();

    @SuppressLint("NewApi")
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);

        JSONParser jParser = new JSONParser();
        try {
            JSONObject json = jParser.getJSONFromUrl(url);
            // Log.v("URL",json.toString());

            JSONObject seo = json.getJSONObject("SEO");
            // Log.v("seo",seo.toString());
            JSONArray folio = seo.getJSONArray("Folio");
            Log("ARRAY-FOLIO0" + folio);

            JSONArray image_urls1 = new JSONArray();
            String s1 = seo.getString("Folio");
            for (int i = 0; i < folio.length(); i++) {
                String m = folio.getString(i);
                Log.v("M" + i, m);
                image_urls.add(folio.getString(i) + ",");
                Log("JSON-ARRAY-->" + image_urls.add(folio.getString(i)));
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void Log(String string) {
        Log.v("SEO-TEST", string);

    }
}

Following is the logcat response I am getting

03-05 13:58:25.948: V/M0(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_a_grade_motor_school.html_a_poftfolio_2013_01_11.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M1(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arcticterntt_folio_portfolio_abc_tarps.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M2(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_able_scale.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M3(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_accent_aluminum_windows.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M4(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_access_health.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M5(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_acmeda__zipscreen.html_a_poftfolio_2013_01_11.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M6(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_aditya_birla_minerals.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M7(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_advanced_corporate_badges.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M8(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_aerotech_fans.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
03-05 13:58:25.948: V/M9(3241): http://www.tt.com/media/imagepath/portfolio_images/http_arctictern.tt_folio_portfolio_agriculture_victoria_services_.html_a_poftfolio_2013_01_10.png
03-05 13:58:25.948: V/SEO-TEST(3241): JSON-ARRAY-->true
4

3 に答える 3

0

メッセージを入力したため、log cat は true を出力"image_urls.add(folio.getString(i))"していました。アイテムが正常に追加された場合、この行は true を返します。次のように確認してください。

 ArrayList<String > image_urls1 = new JSONArray(); //Use arrayList here
                String s1 = seo.getString("Folio");
                for (int i = 0; i < folio.length(); i++) {
                    String m = folio.getString(i);
                    Log.v("M" + i, m);
                    image_urls1 .add(folio.getString(i) + ",");//adding here
                    Log("JSON-ARRAY-->" + image_urls1.get(i) ); // printing the current element
                }
于 2013-03-05T08:46:12.037 に答える
0
ArrayList<String> values = new ArrayList<String>();
for (int i=0; i<folio.size(); ++i) {
    values.add(folio.getString(i));
}
于 2013-03-05T08:25:53.177 に答える
0

trueは、追加が成功したことを意味します。for追加された値を取得するには、配列を介して追加のループを作成する必要があります。これも

for (int i = 0; i < folio.length(); i++) {
    String m = folio.getString(i);
    Log.v("M" + i, m);
    image_urls.add(folio.getString(i) + ",");
    Log("JSON-ARRAY-->" + image_urls.add(folio.getString(i)));
}

StringBuilder文字列の連結により、反復ごとに3 つのオブジェクトが作成されます。

于 2013-03-05T08:48:03.067 に答える