用android中的上传图像替换默认图像

时间:2016-08-23 08:57:02

标签: android

如果图像存在,我想从服务器显示特定id的图像。如果没有该ID的图像,我想显示一些默认图像,然后我想从相机捕获图像,裁剪它,然后将该图像加载到服务器,我想在第一个活动中显示该加载的图像。我怎么能这样做。我已经尝试了一些代码,但如果服务器中没有图像,它将显示默认图像但是第一次没有被上传的图像替换。如果我再次登录,它将显示。如何解决这个问题?

  @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_student_details);
            {
            String IMAGE_URL = "http://xxx.xxx.xx.x/mobile_app/" + img_path + "/" + img_name;
            new DownloadImageTask((ImageView) findViewById(R.id.ProfilePicIV))
                    .execute(IMAGE_URL);
            }


    public void onResume()
        {  // After a pause OR at startup
            super.onResume();
            getIntent();
            String auid_num = auid_s.getText().toString();
            String imei_num = imei_s.getText().toString();
            String img_name = getIntent().getStringExtra("img_name");
            String img_path = getIntent().getStringExtra("img_path");
            //Refresh your stuff here
            SendDataToServer(auid_num, imei_num);
           String IMAGE_URL = "http://xxx.xxx.xx.x/mobile_app/" + img_path + "/" + img_name;
          new DownloadImageTask((ImageView) findViewById(R.id.ProfilePicIV))
                    .execute(IMAGE_URL);

        }

  private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
        ImageView bmImage;

        public DownloadImageTask(ImageView bmImage) {
            this.bmImage = bmImage;
        }

        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            Bitmap mIcon11 = null;
            try {
                InputStream in = new java.net.URL(urldisplay).openStream();
                mIcon11 = BitmapFactory.decodeStream(in);
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return mIcon11;
        }

        protected void onPostExecute(Bitmap result) {
            bmImage.setImageBitmap(result);
        }
    }

xml:
<ImageView
                android:id="@+id/ProfilePicIV"
                android:layout_width="120dp"
                android:layout_height="120dp"
                android:background="@drawable/default_image"
                android:scaleType="fitXY" />

1 个答案:

答案 0 :(得分:0)

只需使用Picasso库来显示您的图像,并使用您的代码下载它。      在build.gradle中添加它

nn.ParallelCriterion()

并使用

 compile 'com.squareup.picasso:picasso:2.5.2'