zoukankan      html  css  js  c++  java
  • 2021 5 21

    利用java线程显示所有图片,给给个图片添加线程;

     public void update(final String photoid, final ImageView imageView)      //下载照片
        {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    Bitmap b = null;
                    OSSCredentialProvider credentialProvider = new OSSPlainTextAKSKCredentialProvider(ACCESS_ID, ACCESS_KEY);
                    ClientConfiguration conf = new ClientConfiguration();
                    conf.setConnectionTimeout(15 * 1000); // 连接超时,默认15秒
                    conf.setSocketTimeout(15 * 1000); // socket超时,默认15秒
                    conf.setMaxConcurrentRequest(8); // 最大并发请求数,默认5个
                    conf.setMaxErrorRetry(2); // 失败后最大重试次数,默认2次
                    // oss为全局变量,OSS_ENDPOINT是一个OSS区域地址
                    oss = new OSSClient(getContext(), OSS_ENDPOINT, credentialProvider, conf);
                    //构造下载文件请求
                    //objectKey等同于objectName,表示从OSS下载文件时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg
                        GetObjectRequest get = new GetObjectRequest("sean1246", photoid);
                        //设置下载进度回调
                        get.setProgressListener(new OSSProgressCallback<GetObjectRequest>() {
                            @Override
                            public void onProgress(GetObjectRequest request, long currentSize, long totalSize) {
                                OSSLog.logDebug("getobj_progress:" + currentSize + "total_size:" + totalSize, false);
                            }
                        });
                        try {
                            // 同步执行下载请求,返回结果
                            GetObjectResult getResult = oss.getObject(get);
                            Log.d("Content-Length是", "" + getResult.getContentLength());
                            // 获取文件输入流
                            InputStream inputStream = getResult.getObjectContent();
                            b = BitmapFactory.decodeStream(inputStream);
                            final Bitmap finalB1 =b;
                            final Bitmap finalB2 = zoomImg(cropBitmap(b),230);
                            getActivity().runOnUiThread(new Runnable() {   //必须在主线程显示照片
                                public void run() {
                                    final phototheard p=new phototheard();
                                    imageView.setImageBitmap(finalB2);
                                    imageView.setOnClickListener(new View.OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                            progressBar.setVisibility(View.VISIBLE);
                                            Log.d("长度", String.valueOf(finalB2.getByteCount()/1024/1024)+"兆"+ ",M宽度为" + finalB2.getWidth() + "高度为" + finalB2.getHeight());
                                            LayoutInflater factory = LayoutInflater.from(getActivity());
                                            vi = factory.inflate(R.layout.showinfo, null);
                                            LinearLayout l=vi.findViewById(R.id.linear1);
                                            ImageView imageView1=new ImageView(getContext());
                                            imageView1.setImageBitmap(zoomImg(finalB1,1000));
                                            l.addView(imageView1);
                                            advancedGeneral(finalB2,photoid);
                                        }
                                    });
                                }
                            });
                            ObjectMetadata metadata = getResult.getMetadata();
                            Log.d("ContentType", metadata.getContentType());
                        } catch (ClientException e) {
                            // 本地异常如网络异常等
                            e.printStackTrace();
                        } catch (ServiceException e) {
                            // 服务异常
                            Log.e("RequestId", e.getRequestId());
                            Log.e("ErrorCode", e.getErrorCode());
                            Log.e("HostId", e.getHostId());
                            Log.e("RawMessage", e.getRawMessage());
                        }
                    }
            }).start();
        }
  • 相关阅读:
    2017秋-软件工程第三次作业(3)
    第二周例行总结
    2017秋-软件工程第二次作业
    2017秋-软件工程第一次作业
    ORA-01502: 索引或这类索引的分区处于不可用状态
    Merge into使用详解
    SQL2008中Merge的用法
    system表空间用满解决
    Oracle:ORA-00604: 递归 SQL 级别 1 出现错误
    AIX系统上压缩与解压文件
  • 原文地址:https://www.cnblogs.com/fuxw4971/p/14910568.html
Copyright © 2011-2022 走看看