下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】Android中怎么利用正则匹配图片
这期内容当中在下将会给大家带来有关Android中怎么利用正则匹配图片,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。xml<?xml
version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
xmlns:app="/apk/res-auto"
xmlns:tools="/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.mygesture.MainActivity">
<ViewFlipper
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/vf_main_one"
></ViewFlipper>
</LinearLayout>Activity控件中,我放入的是手机内存中的所有图片,所有必须先获取读取的权限在AndroidManifest.xml文件中获取权限
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
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<ImageView>
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
=
Ppile(regStr);
//把需要匹配的,放入
Matcher
matcher
=
pattern.matcher(name);
//匹配结果,符合为true
反之false
if(matcher.find()){
ImageView
image=new
ImageView(this);
//通过绘图工厂,利用文件路径取到,文件
Bitmap
bitmap=
Bitm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《心脏康复培训》课件
- 小学一年级20以内加减法混合运算
- 小学五年级数学小数乘除法计算练习题 集
- 二年级上册21 雪孩子(教案)
- 2025年1月内蒙古自治区普通高等学校招生考试适应性测试(八省联考)历史试题
- 《新地产营销新机会》课件
- 混凝土路面施工协议书
- 口腔科护士的工作总结
- 育人为本点滴栽培班主任工作总结
- 浴室用品销售工作总结
- 用户界面测试
- 人工气道湿化的护理培训课件
- 电网适用的法律法规标准规范清单
- 读书分享-给教师的一百条建议
- GB/T 4269.3-2000农林拖拉机和机械、草坪和园艺动力机械操作者操纵机构和其他显示装置用符号第3部分:草坪和园艺动力机械用符号
- GB/T 11618.1-2008铜管接头第1部分:钎焊式管件
- 开工复工第一课
- 安徽省淮南市凤台县基层诊所医疗机构卫生院社区卫生服务中心村卫生室地址信息
- 旅游服务礼仪说课市公开课金奖市赛课一等奖课件
- 【线性代数自考练习题】滇西应用技术大学专升本真题汇总(附答案解析)
- 英语北京版四年级(上册)单词汇总
评论
0/150
提交评论