下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度安全生產(chǎn)責(zé)任主體合同履行保障措施3篇
- 2025版家具行業(yè)供應(yīng)鏈合作合同示范文本3篇
- 信息技術(shù)項(xiàng)目規(guī)劃方案
- 二零二五年在線(xiàn)教育平臺(tái)合伙人退出及師資共享協(xié)議3篇
- 二零二五年度專(zhuān)業(yè)家教輔導(dǎo)合同范本6篇
- 打造繁榮旅游消費(fèi)環(huán)境的策略與行動(dòng)計(jì)劃
- 廣西來(lái)賓市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版隨堂測(cè)試(上學(xué)期)試卷及答案
- 中國(guó)海洋金融行業(yè)市場(chǎng)全景評(píng)估、發(fā)展環(huán)境透析及應(yīng)用細(xì)分市場(chǎng)分析報(bào)告
- 勞動(dòng)教育智慧樹(shù)知到期末考試答案2024年
- 大疆慧飛無(wú)人機(jī)考試題庫(kù)附有答案
- 縣公路局安全生產(chǎn)培訓(xùn)
- 初中歷史統(tǒng)編九年級(jí)材料論述題觀點(diǎn)整合(世界史)【學(xué)案】
- JTG D60-2015 公路橋涵設(shè)計(jì)通用規(guī)范
- 企業(yè)廉政教育培訓(xùn)課件
- 2023-2024學(xué)年宜賓市數(shù)學(xué)九年級(jí)上冊(cè)期末考試試題(含解析)
- 熱電廠(chǎng)檢修方案
- 2024年江蘇省高中學(xué)業(yè)水平考試合格考生物試卷試題(含答案詳解)
- 國(guó)內(nèi)民用船舶修理價(jià)格表
- 江蘇鹽城東臺(tái)市小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)期末測(cè)試卷含答案
評(píng)論
0/150
提交評(píng)論