AsyncTask不在onCreate()中执行

1 android android-imageview android-asynctask

我希望如果我的应用程序第一次启动它应该从网上下载图像并存储该图像Device/Emulator,从中Device/Emulator应该显示ImageView.我试过这样的方式:

ImageView myImgView;

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

    myImgView = (ImageView) findViewById(R.id.imageView1);      

    new MyAsnyc();
     Log.d(MY_TAGT, "AsyncTask Executed.....");

}
private class MyAsnyc extends AsyncTask<Void, Void,Void>{
    public File file ;
    InputStream is;
    private Bitmap bitmap;
    protected void doInBackground() throws IOException{

        File path = Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_PICTURES);
        file = new File(path, "DemoPicture.jpg");
        try{
            // Make sure the Pictures directory exists.
            path.mkdirs();

            URL url = new      URL(BASE_URL);
            /* Open a connection to that URL. */
            URLConnection ucon = url.openConnection();

            /*
             * Define InputStreams to read from the URLConnection.
             */
            is = ucon.getInputStream();

            OutputStream os = new FileOutputStream(file);
            byte[] data = new byte[is.available()];
            is.read(data);
            Log.i(MY_TAGT, "Picture is readable........");
            os.write(data);
            Log.i(MY_TAGT, "Picture is Saved........");
            is.close();
            os.close();

        }
        catch (IOException e) {
            Log.d("ImageManager", "Error: " + e);
        }
    }
    @Override
    protected Void doInBackground(Void... params) {
        // TODO Auto-generated method stub

        try {
            doInBackground();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return null;
    }
    protected void onPostExecute(){

        try{
            // Tell the media scanner about the new file so that it is
            // immediately available to the user.

            MediaScannerConnection.scanFile(null,
                    new String[] { file.toString() }, null,
                    new MediaScannerConnection.OnScanCompletedListener() {
                public void onScanCompleted(String path, Uri uri) {
                    Log.i("ExternalStorage", "Scanned " + path + ":");
                    Log.i("ExternalStorage", "-> uri=" + uri);
                }
            });
        }
        catch (Exception e) {
            // TODO: handle exception

        }

        /*Here I want to set this image in ImageView*/

        bitmap = BitmapFactory.decodeFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString()+"/DemoPicture.jpg");
        myImgView.setImageBitmap(bitmap);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这样MyAsync就没有执行类,请告诉我该如何做.

EDIT 这是我的日志

在此输入图像描述

Chi*_*rag 6

使用execute来调用它.

new MyAsnyc().execute();
Run Code Online (Sandbox Code Playgroud)