【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中怎么利用正則匹配圖片_第1頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中怎么利用正則匹配圖片_第2頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中怎么利用正則匹配圖片_第3頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中怎么利用正則匹配圖片_第4頁(yè)
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中怎么利用正則匹配圖片_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】Android中怎么利用正則匹配圖片

這期內(nèi)容當(dāng)中在下將會(huì)給大家?guī)?lái)有關(guān)Android中怎么利用正則匹配圖片,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。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控件中,我放入的是手機(jī)內(nèi)存中的所有圖片,所有必須先獲取讀取的權(quán)限在AndroidManifest.xml文件中獲取權(quán)限

<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);

//判斷內(nèi)存卡,是否可用

if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){

//取到內(nèi)存卡的絕對(duì)路徑

String

abspath=Environment.getExternalStorageDirectory().getAbsolutePath();

//建立文件對(duì)象

File

file=new

File(abspath);

//取到內(nèi)存卡內(nèi)的所有文件、文件夾

File

[]

filetwo=file.listFiles();

for

(File

file1

:

filetwo)

{

try

{

//調(diào)用文件的遞歸方法

TraversalSearch(file1);

}

catch

(IOException

e)

{

e.printStackTrace();

}

}

}

//集合中的圖片是,內(nèi)存卡內(nèi)的所有圖片

for

(ImageView

imageView

:

list)

{

//把集合中的所有圖片加入到(ViewFlipper)控件中

viewFlipper.addView(imageView);

}

//建立手勢(shì)檢測(cè)器,參數(shù)一:上下文

參數(shù)二

檢測(cè)器的檢測(cè)事件

jc

=

new

GestureDetector(this,new

GestureDetector.OnGestureListener(){

@Override

public

boolean

onDown(MotionEvent

e)

{

//按下觸發(fā)

return

false;

}

@Override

public

void

onShowPress(MotionEvent

e)

{

}

@Override

public

boolean

onSingleTapUp(MotionEvent

e)

{

//輕按觸發(fā)

return

false;

}

@Override

public

boolean

onScroll(MotionEvent

e1,

MotionEvent

e2,

float

distanceX,

float

distanceY)

{

//移動(dòng)觸發(fā)

return

false;

}

@Override

public

void

onLongPress(MotionEvent

e)

{

//常按

觸發(fā)

}

@Override

//滑動(dòng)完后,觸發(fā)

public

boolean

onFling(MotionEvent

e1,

MotionEvent

e2,

float

velocityX,

float

velocityY)

{

//本方法,參數(shù)一:起始位置

參數(shù)二:結(jié)束位置

,參數(shù)三四: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

//重寫(xiě)

觸摸

回調(diào)函數(shù)

public

boolean

onTouchEvent(MotionEvent

event)

{

//給手勢(shì)檢測(cè)器設(shè)定觸摸函數(shù),必寫(xiě)!

return

jc.onTouchEvent(event);

}

//

查詢(xún)所有文件的遞歸方法

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]";

//把正則

匹配的格式放入

類(lèi)中

Pattern

pattern

=

Ppile(regStr);

//把需要匹配的,放入

Matcher

matcher

=

pattern.matcher(name);

//匹配結(jié)果,符合為true

反之false

if(matcher.find()){

ImageView

image=new

ImageView(this);

//通過(guò)繪圖工廠(chǎng),利用文件路徑取到,文件

Bitmap

bitmap=

Bitm

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論