2016-06-27 4 views
0

im новый программист в android, я пишу программу для получения url изображения и покажу изображение в виде списка, моя программа работает правильно и может показать мне изображения, но когда я хочу показать изображение, я должен используйте статический url, но я хочу использовать статическую ссылку, чтобы получить все URL изображения с json и показать его в виде списка.получить динамический url с json в listview

У меня есть класс json для получения url изображения, но я не знаю, как его использовать в private String imageUrls [], чтобы получить изображение динамического url из моей статической ссылки.

*** string url - статическая ссылка в mainactivity, чтобы получить URL-адрес изображения с json.

мой mainactivity класс:

public class MainActivity extends Activity { 

private final String url="http://192.168.1.4:81/upload/images.php"; 

ListView list; 
LazyAdapter adapter; 


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

    list = (ListView) findViewById(R.id.listView1); 
    adapter = new LazyAdapter(this, imageUrls); 
    list.setAdapter(adapter); 

} 

@Override 
public void onDestroy() { 
    list.setAdapter(null); 
    super.onDestroy(); 
} 

private String imageUrls[] = { 
     "http://www.technotalkative.com/wp-content/uploads/2012/09/tt_listview1-171x300.png", 
     "http://www.technotalkative.com/wp-content/uploads/2012/11/f-DayDream-Example-Landscape.png", 
}; 


} 

и JSON класс:

class get url extends AsyncTask<String,Void,String>{ 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     pd=new ProgressDialog(MainActivity.this); 
     pd.setMessage("login"); 
     pd.show(); 
    } 

    @Override 
    protected String doInBackground(String... params) { 

     List<NameValuePair> parms=new ArrayList<>(); 
     JSONObject json=jParser.makeHTTPRequest(url,"GET"); 

     try { 
      int t=json.getInt("t"); 
      if(t==1){ 
       s=json.getJSONArray("travel"); 
       for(int i=0;i<s.length();i++){ 

        String url_image=c.getString("url_image"); 

        HashMap<String,String>map=new HashMap<String,String>(); 

        map.put("url_image",url_image); 

        P.add(map); 

       } 
      }else { 
       Toast.makeText(MainActivity.this,"No Data Found",Toast.LENGTH_SHORT).show(); 
      } 


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

     return null; 
    } 

ответ

0

Это гораздо удобнее использовать Gson библиотека GOR ответ разборе JSon на Java объекты вместо извлечения полей вручную. Это также хорошая практика (более удобно) использовать библиотеку Retrofit вместо asynctasks - см. https://stackoverflow.com/a/38002999/6175778 сообщение

Смежные вопросы