Android中如何利用正则匹配图片
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容介绍了"Android中如何利用正则匹配图片"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!x
千家信息网最后更新 2025年11月07日Android中如何利用正则匹配图片
本篇内容介绍了"Android中如何利用正则匹配图片"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
xml
Activity
控件中,我放入的是手机内存中的所有图片,所有必须先获取读取的权限
在 AndroidManifest.xml 文件中获取权限
package com.example.mygesture;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Environment;import android.os.PatternMatcher;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.GestureDetector;import android.view.MotionEvent;import android.widget.ImageView;import android.widget.Toast;import android.widget.ViewFlipper;import java.io.InputStream;import java.util.LinkedList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class MainActivity extends AppCompatActivity { private ViewFlipper viewFlipper; private List list=new LinkedList<>(); private GestureDetector jc; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);//取到控件viewFlipper = (ViewFlipper)findViewById(R.id.vf_main_one); //判断内存卡,是否可用 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //取到内存卡的绝对路径 String abspath=Environment.getExternalStorageDirectory().getAbsolutePath(); //建立文件对象 File file=new File(abspath); //取到内存卡内的所有文件、文件夹 File [] filetwo=file.listFiles(); for (File file1 : filetwo) { try { //调用文件的递归方法 TraversalSearch(file1); } catch (IOException e) { e.printStackTrace(); } } } //集合中的图片是,内存卡内的所有图片 for (ImageView imageView : list) { //把集合中的所有图片加入到(ViewFlipper)控件中 viewFlipper.addView(imageView); } //建立手势检测器,参数一:上下文 参数二 检测器的检测事件 jc = new GestureDetector(this,new GestureDetector.OnGestureListener(){ @Override public boolean onDown(MotionEvent e) { //按下触发 return false; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { //轻按触发 return false; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { //移动触发 return false; } @Override public void onLongPress(MotionEvent e) { //常按 触发 } @Override //滑动完后,触发 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {//本方法,参数一:起始位置 参数二:结束位置 ,参数三四:x轴 y轴 if(e2.getX()-e1.getX()>200){ //显示上一张 viewFlipper.showPrevious(); Toast.makeText(MainActivity.this, " 001", Toast.LENGTH_SHORT).show(); } if(e1.getX()-e2.getX()>200){ //显示下一张 viewFlipper.showNext(); Toast.makeText(MainActivity.this, " 004", Toast.LENGTH_SHORT).show(); } return false; } }); } @Override //重写 触摸 回调函数 public boolean onTouchEvent(MotionEvent event) { //给手势检测器设定触摸函数,必写! return jc.onTouchEvent(event); }// 查询所有文件的递归方法 public void TraversalSearch(File file) throws IOException { if(file.isDirectory()){ File [] filetwo=file.listFiles(); for (File file1 : filetwo) { TraversalSearch(file1); } }else{ String name=file.getName(); //图片格式 String regStr = "[Gg][Ii][Ff]|[Jj][Pp][Gg]|[Bb][Mm][Pp]|[Jj][Pp][Ee][Gg]"; //把正则 匹配的格式放入 类中 Pattern pattern = Pattern.compile(regStr); //把需要匹配的,放入 Matcher matcher = pattern.matcher(name); //匹配结果,符合为true 反之false if(matcher.find()){ ImageView image=new ImageView(this);//通过绘图工厂,利用文件路径取到,文件 Bitmap bitmap= BitmapFactory.decodeFile(file.getAbsolutePath().trim()); //把图片文件设置入图片控件内 image.setImageBitmap(bitmap); if(list.size()<20){ //我只加入二十个图片,过多,内存溢出 list.add(image); } } } }}
"Android中如何利用正则匹配图片"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
图片
文件
内存
参数
内存卡
控件
检测
正则
检测器
位置
内容
函数
手势
方法
更多
权限
格式
知识
路径
递归
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器域名与ip地址
数据库 实验8安全性定义
工商银行服务器连接不上
护苗网络安全课视频之四
网络安全大赛蓝屏怎么回事
想考计算机网络技术的原因
饥荒服务器怎么给管理
生物信息学三大数据库ppt
怎么在手机上找服务器和端口号
网络技术与管理入门
互联网保险第三方平台灵犀科技
pg软件开发
服务器能过地铁安检吗
服务器注册指令
lync2010怎么连接服务器
山东有实力的浪潮存储服务器测评
服务器耗电么
宿迁市网络技术公司
电脑的数据库及版本查询
碧蓝档案服务器哪个好
服装特点数据库
网络安全专业人才库
襄阳哪里有软件开发
公司服务器架构图
榆次触控拍照软件开发公司
国外网络安全审查
农产品库存数据库
ai网络安全创业公司
上海戴尔服务器生产商
做数据开发和软件开发