temp
来源:互联网 发布:肌研洗面奶怎么样 知乎 编辑:程序博客网 时间:2024/06/16 13:44
package com.example.administrator.mytest;import android.content.Context;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.net.Uri;import android.os.Environment;import android.os.Handler;import android.os.Message;import android.provider.MediaStore;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.ImageView;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;public class MainActivity extends AppCompatActivity { Bitmap bitmap; ImageView imageView; Handler handler; Button button; List<String> urlsFromHttp; List<String> urlsByLocal; int totals;//表示已经转化了多少次 String sf; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); totals = 0; urlsFromHttp = new ArrayList<>(); sf = "测试文字<img src='http://120.26.113.179:8089/UploadFiles/201704/05/1d15996e-4dba-4f84-9829-ac5c9771c4cc.png'>测试文字<img src='http://120.26.113.179:8089/UploadFiles/201704/05/1d15996e-4dba-4f84-9829-ac5c9771c4cc.png'>ceshiciiiiiiiiiiii" + "测试文字<img src='http://120.26.113.179:8089/UploadFiles/201704/05/1d15996e-4dba-4f84-9829-ac5c9771c4cc.png'>测试文字"; String[] listForAllSrcs = sf.split(".png'>"); Log.e("第一段", listForAllSrcs[0]); urlsByLocal = new ArrayList<>(); for (int i = 0; i < listForAllSrcs.length; i++) { String sb = listForAllSrcs[i]; if (sb.contains("<img src")) { urlsByLocal.add("temp"); int indexForStart = sb.indexOf("<img src"); String http = sb.substring(indexForStart + 10, sb.length()) + ".png"; urlsFromHttp.add(http); Log.e("段数" + i, http); } } for (int j = 0; j < urlsFromHttp.size(); j++) { final int finalJ = j; new Thread() { @Override public void run() { try { GetImageInputStream(urlsFromHttp.get(finalJ), finalJ); } catch (Exception e) { e.printStackTrace(); } } }.start(); } /** * 测试文字 <img src='http://120.26.113.179:8089/UploadFiles/201704/05/1d15996e-4dba-4f84-9829-ac5c9771c4cc.png'> 测试结束文字 */ button = (Button) findViewById(R.id.button); imageView = (ImageView) findViewById(R.id.image); handler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: int index = (int) msg.obj; imageView.setImageBitmap(bitmap); Log.e("图片加载完成", "加载挖槽"); saveImageToGallery(MainActivity.this, bitmap, index); break; case 2: if (totals == urlsFromHttp.size()) { //表示全部转化完毕 for (int i = 0; i < urlsFromHttp.size(); i++) { Log.e(urlsFromHttp.get(i), urlsByLocal.get(i)); sf = sf.replace(urlsFromHttp.get(i), urlsByLocal.get(i)); } Log.e("转化后的字符串", sf); } break; default: break; } super.handleMessage(msg); } }; button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread() { @Override public void run() { try { /// bitmap= BitmapFactory.decodeStream(getImageStream("http://120.26.113.179:8089/UploadFiles/201704/05/1d15996e-4dba-4f84-9829-ac5c9771c4cc.png")); GetImageInputStream("http://120.26.113.179:8089/UploadFiles/201704/05/1d15996e-4dba-4f84-9829-ac5c9771c4cc.png"); } catch (Exception e) { e.printStackTrace(); } } }.start(); } }); } public void saveImageToGallery(Context context, Bitmap bmp, int index) { // 首先保存图片 File appDir = new File(Environment.getExternalStorageDirectory(), "Boohee"); if (!appDir.exists()) { appDir.mkdir(); } String fileName = System.currentTimeMillis() + ".jpg"; File file = new File(appDir, fileName); try { FileOutputStream fos = new FileOutputStream(file); bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); Log.e("存储完成", "====="); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // 其次把文件插入到系统图库 try { MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null); } catch (FileNotFoundException e) { e.printStackTrace(); } // 最后通知图库更新 Log.e("文件存储的路径", file.getAbsolutePath()); urlsByLocal.set(index, file.getAbsolutePath()); context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getAbsolutePath()))); totals++; handler.sendEmptyMessage(2); } public static void saveImageToGallery(Context context, Bitmap bmp) { // 首先保存图片 File appDir = new File(Environment.getExternalStorageDirectory(), "Boohee"); if (!appDir.exists()) { appDir.mkdir(); } String fileName = System.currentTimeMillis() + ".jpg"; File file = new File(appDir, fileName); try { FileOutputStream fos = new FileOutputStream(file); bmp.compress(Bitmap.CompressFormat.JPEG, 100, fos); fos.flush(); fos.close(); Log.e("存储完成", "====="); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // 其次把文件插入到系统图库 try { MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), fileName, null); } catch (FileNotFoundException e) { e.printStackTrace(); } // 最后通知图库更新 Log.e("文件存储的路径", file.getAbsolutePath()); context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + file.getAbsolutePath()))); } /** * 获取网络图片 * * @param imageurl 图片网络地址 * @return Bitmap 返回位图 */ public Bitmap GetImageInputStream(String imageurl, int index) { URL url; HttpURLConnection connection = null; bitmap = null; try { url = new URL(imageurl); connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(6000); //超时设置 connection.setDoInput(true); connection.setUseCaches(false); //设置不使用缓存 InputStream inputStream = connection.getInputStream(); bitmap = BitmapFactory.decodeStream(inputStream); inputStream.close(); Message message = handler.obtainMessage(); message.obj = index; message.what = 1; handler.sendMessage(message); } catch (Exception e) { e.printStackTrace(); } return bitmap; } /** * 获取网络图片 * * @param imageurl 图片网络地址 * @return Bitmap 返回位图 */ public Bitmap GetImageInputStream(String imageurl) { URL url; HttpURLConnection connection = null; bitmap = null; try { url = new URL(imageurl); connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(6000); //超时设置 connection.setDoInput(true); connection.setUseCaches(false); //设置不使用缓存 InputStream inputStream = connection.getInputStream(); bitmap = BitmapFactory.decodeStream(inputStream); inputStream.close(); handler.sendEmptyMessage(1); } catch (Exception e) { e.printStackTrace(); } return bitmap; }}
0 0
- temp
- temp
- temp
- temp
- temp
- temp
- temp
- temp
- TEMP
- temp
- temp
- Temp
- temp
- Temp
- TEMP
- Temp
- temp
- temp
- 计蒜客-斐波那契数列
- android之TextWatcher的监听
- spring 的定时任务 学习备忘
- 关于java的初次认识
- RelativeLayout用java代码敲布局
- temp
- Android反编译
- Codevs 1533互斥的数-hash
- Android问题—Android中Cookie问题的处理
- BZOJ-1191 (二分图匹配)
- 表单验证 ajax异步请求实例 json传参
- OpenGL3.3+GLFW+GLEW+GLM实现小人行走动画
- 数据挖掘---分类评估指标和回归问题
- mysql注入绕过空格过滤的方法