2016-06-27 3 views
0

새 프로그래머가 안드로이드에 있습니다. 이미지 URL을 얻고 목록보기에서 이미지를 보여주는 프로그램을 작성하고, 프로그램 작업이 정확하고 나에게 이미지를 보여줄 수 있지만 이미지를 보여주고 싶습니다. 정적 URL을 사용하지만 정적 링크를 사용하여 json으로 모든 이미지 URL을 가져 와서 목록보기에 표시하고 싶습니다.listview에서 json으로 동적 URL을 얻으십시오.

이미지 URL을 얻으려면 json 클래스가 있지만 내 정적 링크에서 이미지 동적 URL을 얻으려면 private String imageUrls []를 사용하는 방법을 모릅니다.

*** 문자열 URL은 주 활동에 정적 링크이며 json으로 이미지 URL을 가져옵니다.

내 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 라이브러리 뜨거운 구문 분석 JSON 응답을 사용하는 것이 훨씬 더 편리합니다. asynctasks 대신 Retrofit 라이브러리를 사용하는 것이 더 좋습니다 (https://stackoverflow.com/a/38002999/6175778 게시

참조).
관련 문제