android如何避免的 null 值 bitmap 图像

标签: Android Bitmap
发布时间: 2016/10/10 21:07:37
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我已上传图片的程序,它有两个按钮之一来选择图像 fom 画廊和另一种是将它上传到我的数据库,但如果我单击上载 button 而不选择图像 i 脸 null 值,怎样可以避免它? 任何人帮我。

这里是我上传的代码︰

    public void InsertImage() {
    class UpdateEmployee extends AsyncTask<Void, Void, String> {
         String image = getStringImage(bitmap);


        ProgressDialog loading;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            loading = ProgressDialog.show(Settings.this, "Updating...", "Wait...", false, false);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            loading.dismiss();
            Toast.makeText(Settings.this, s, Toast.LENGTH_LONG).show();
        }

        @Override
        protected String doInBackground(Void... params) {
            HashMap<String, String> hashMap = new HashMap<>();
            hashMap.put(Config.KEY_JOB_USER_ID, UserDetails.user_id);
            hashMap.put(Config.TAG_IMAGE, image);

            RequestHandler rh = new RequestHandler();
            String s = rh.sendPostRequest(Config.URL_UPDATE_EMP, hashMap);
            return s;
        }
    }
    UpdateEmployee ue = new UpdateEmployee();
    ue.execute();
}

这里是 getStingImage 的方法︰

  public String getStringImage(Bitmap bmp) {

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bmp.compress(Bitmap.CompressFormat.JPEG, 30, baos);
    byte[] imageBytes = baos.toByteArray();
    return Base64.encodeToString(imageBytes, Base64.DEFAULT);
}

解决方法 1:

只需更改︰

UpdateEmployee ue = new UpdateEmployee();
ue.execute();

自:

if (bitmap != null) {

UpdateEmployee ue = new UpdateEmployee();
ue.execute();

}

不是吗?

赞助商