相关疑难解决方法(0)

Android:使用Asynctask从Web加载图像

如何用Asynctask替换以下代码行?你如何从Asynctask"取回"位图?谢谢.

ImageView mChart = (ImageView) findViewById(R.id.Chart);
String URL = "http://www...anything ...";

mChart.setImageBitmap(download_Image(URL));

public static Bitmap download_Image(String url) {

        //---------------------------------------------------
        Bitmap bm = null;
        try {
            URL aURL = new URL(url);
            URLConnection conn = aURL.openConnection();
            conn.connect();
            InputStream is = conn.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);
            bm = BitmapFactory.decodeStream(bis);
            bis.close();
            is.close();
        } catch (IOException e) {
            Log.e("Hub","Error getting the image from server : " + e.getMessage().toString());
        } 
        return bm;
        //---------------------------------------------------

    }
Run Code Online (Sandbox Code Playgroud)

我想过这样的事情:

替换:

mChart.setImageBitmap(download_Image(graph_URL));
Run Code Online (Sandbox Code Playgroud)

通过类似的东西:

mChart.setImageBitmap(new DownloadImagesTask().execute(graph_URL));
Run Code Online (Sandbox Code Playgroud)

public class DownloadImagesTask extends …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

36
推荐指数
2
解决办法
9万
查看次数

使用AsyncTask在ListView中加载图像

我有一个可以容纳图像的ListView.这取决于SDCARD中是否存在图像.

这是我的示例代码:

public class MainActivity extends Activity  {

    ListView mListView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mListView = new ListView(this);
        setContentView(mListView);

        String[] arr = new String[] { 
                "/example/images/1.jpg", "/example/images/2.jpg",  
                "/example/images/3.jpg", "/example/images/4.jpg",  
                "/example/images/5.jpg", "/example/images/6.jpg", 
                "/example/images/7.jpg", "/example/images/8.jpg",  
                "/example/images/9.jpg", "/example/images/1.jpg", 
                "/example/images/2.jpg", "/example/images/3.jpg",  
                "/example/images/4.jpg", "/example/images/5.jpg",  
                "/example/images/6.jpg", "/example/images/7.jpg",  
                "/example/images/8.jpg", "/example/images/9.jpg", 
                "/example/images/1.jpg", "/example/images/2.jpg",  
                "/example/images/3.jpg", "/example/images/4.jpg",  
                "/example/images/5.jpg", "/example/images/6.jpg", 
                "/example/images/7.jpg", "/example/images/8.jpg",  
                "/example/images/9.jpg", "/example/images/1.jpg", 
                "/example/images/2.jpg", "/example/images/3.jpg",  
                "/example/images/4.jpg", "/example/images/5.jpg",  
                "/example/images/6.jpg", "/example/images/7.jpg",  
                "/example/images/8.jpg", "/example/images/9.jpg"}; 

        List<String> list = Arrays.asList(arr);

        MyAdapter adapter = new MyAdapter(this, R.layout.listitem_imv, list);

        mListView.setAdapter(adapter);
    }

    class MyAdapter extends …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-adapter android-asynctask

15
推荐指数
2
解决办法
5万
查看次数

android连接到json/xml api

我正在尝试与rest api进行通信以检索JSON文档,但是当我在Eclipse Android模拟器中运行应用程序时,应用程序一启动就关闭("不幸的是TestRest已经停止").由于调用了httpClient.execute方法,它似乎关闭了.

主要活动的代码如下:

public class TestRestActivity extends Activity {
    /** Called when the activity is first created. */
    TextView info;

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

        info = (TextView) findViewById(R.id.debug);

        String testUri = "http://www.entireweb.com/xmlquery?pz=MYAPIKEY&ip=IP&q=pizza&n=50&format=json";
        // print the uri to the screen - (not seen if rest of code runs)
        info.setText(testUri);

        HttpClient httpclient = new DefaultHttpClient();
        HttpContext localContext = new BasicHttpContext();
        HttpGet httpget = new HttpGet(testUri);


        HttpResponse response = null;
        try {
            // TODO fails on this line …
Run Code Online (Sandbox Code Playgroud)

api android json http

5
推荐指数
1
解决办法
2788
查看次数