Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在imageview应用程序上显示图像_Android - Fatal编程技术网

Android 在imageview应用程序上显示图像

Android 在imageview应用程序上显示图像,android,Android,我使用glide显示url中的图像。当我使用调试器时,url包含图像。但问题是当应用程序运行时,它会关闭。imageview的代码中有什么要做的吗?请帮助我恢复此问题。如果我问错了,请原谅。提前感谢。我的代码如下所示 public class ProductImages extends AsyncTask<Void , Void, Void> { int status;StringBuilder sb; String strJson, post

我使用glide显示url中的图像。当我使用调试器时,url包含图像。但问题是当应用程序运行时,它会关闭。imageview的代码中有什么要做的吗?请帮助我恢复此问题。如果我问错了,请原谅。提前感谢。我的代码如下所示

    public class ProductImages extends AsyncTask<Void , Void, Void> {
        int status;StringBuilder sb;
        String strJson, postData;
        JSONArray jsonArray;
        String msg;
        boolean pass=false;
        ArrayList<String> imgurls=new ArrayList<>();
        @Override
        protected void onPreExecute() {
            super.onPreExecute();

        }

        @Override
        protected Void doInBackground(Void... arg0) {
            String url =getResources().getString(R.string.url) + "WebServices/WebService.asmx/ProductImages";
            HttpURLConnection c = null;
            try {
                postData = "{\"productID\":\"" + productID + "\",\"TID\":\"" + constants.TID + "\"}";
                String response=db.GetResponses(url,postData);
                if(!response.equals("")){
                    strJson=response;
                }
                else {
                    URL u = new URL(url);
                    c = (HttpURLConnection) u.openConnection();
                    c.setRequestMethod("POST");
                    c.setRequestProperty("Content-type", "application/json; charset=utf-16");
                    c.setRequestProperty("Content-length", Integer.toString(postData.length()));
                    c.setDoInput(true);
                    c.setDoOutput(true);
                    c.setUseCaches(false);
                    c.setConnectTimeout(10000);
                    c.setReadTimeout(10000);
                    DataOutputStream wr = new DataOutputStream(c.getOutputStream());
                    wr.writeBytes(postData);
                    wr.flush();
                    wr.close();
                    status = c.getResponseCode();
                    switch (status) {
                        case 200:
                        case 201: BufferedReader br = new BufferedReader(new InputStreamReader(c.getInputStream()));
                            sb = new StringBuilder();
                            String line;
                            while ((line = br.readLine()) != null) {
                                sb.append(line).append("\n");
                            }
                            br.close();
                            int a=sb.indexOf("[");
                            int b=sb.lastIndexOf("]");
                            strJson=sb.substring(a, b + 1);
                            //   strJson=cryptography.Decrypt(strJson);
                            strJson="{\"JSON\":" + strJson.replace("\\\"","\"").replace("\\\\","\\") + "}";
                    }
                }
            } catch (Exception ex) {
                Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
                msg=ex.getMessage();
            } finally {
                if (c != null) {
                    try {
                        c.disconnect();
                    } catch (Exception ex) {
                        Logger.getLogger(getClass().getName()).log(Level.SEVERE, null, ex);
                        msg=ex.getMessage();
                    }
                }
            }
            if(strJson!=null)
            {try {
                JSONObject jsonRootObject = new JSONObject(strJson);
                jsonArray = jsonRootObject.optJSONArray("JSON");
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                    msg=jsonObject.optString("Message");
                    pass=jsonObject.optBoolean("Flag",true);
                    imgurls.add(getResources().getString(R.string.url) + jsonObject.optString("Image").substring((jsonObject.optString("Image")).indexOf("Media")));
                    if(jsonObject.optBoolean("IsMain")){
                        productImage=getResources().getString(R.string.url) + jsonObject.optString("Image").substring((jsonObject.optString("Image")).indexOf("Media"));

                    }
                }
                if(pass){
                    if(c!=null)
                        db.ResponsesSaving(url,postData,strJson,"null");

                }
            } catch (Exception ex) {
                msg=ex.getMessage();
            }}
            return null;
        }
        @Override
        protected void onPostExecute(Void result) {
            super.onPostExecute(result);
            if(!pass) {
                new AlertDialog.Builder(EnquiryItem.this).setIcon(android.R.drawable.ic_dialog_alert)//.setTitle("")
                        .setMessage(msg)
                        .setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {

                            }
                        }).setCancelable(false).show();
            }
            else {

                for (int i=0;i<imgurls.size();i++) {
                    final int fi=i;

                    ImageView imageView = (ImageView) findViewById(R.id.image);

                    Glide.with(EnquiryItem.this).load(imgurls).into(imageView);



                }
            }
        }


**My image view**

  <ImageView
        android:id="@+id/image"
        android:layout_width="170dp"
        android:layout_height="170dp"
        android:layout_above="@+id/textView22"
        android:layout_alignLeft="@+id/textView22"
        android:layout_alignStart="@+id/textView22"
        android:layout_gravity="center"
        android:layout_marginBottom="16dp"
        android:background="@drawable/back"

Glide不需要在
AndroidMinifest.xml
中声明GlideModule。您只需执行以下步骤:

  • YourGlideModule扩展了AppGlideModule,您可以重写YourGlideModule类中的函数applyOptions

  • 你应该在androidstudio->build->makeproject中创建项目,它将生成GlideApp类

  • 使用GlideApp,例如

    GlideApp.with(this)
            .load(imagegUrl)
            .into(imageview)
    

  • 共享崩溃日志发布崩溃日志。将日志消息复制到致命异常错误所在的位置,并将其粘贴到此处以供查看us@TRIENTRAN是的brohey bro,ProductImages类是放在单独的java类中还是放在InquiryItem类中?@Dhansri我通过“make project”创建了项目。但是GlideApp并没有被创建,请尝试使用占位符而不是加载,它可以正常工作。使用(inquiryItem.this).load(“”).placeholder.imageView)中的(“”;
    GlideApp.with(this)
            .load(imagegUrl)
            .into(imageview)