




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)容豐富且以專業(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);
}
//
查詢所有文件的遞歸方法
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);
//匹配結(jié)果,符合為true
反之false
if(matcher.find()){
ImageView
image=new
ImageView(this);
//通過(guò)繪圖工廠,利用文件路徑取到,文件
Bitmap
bitmap=
Bitm
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)平紋網(wǎng)數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)仿石桌面數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年消防設(shè)施操作員之消防設(shè)備高級(jí)技能題庫(kù)練習(xí)試卷B卷附答案
- 質(zhì)檢員基礎(chǔ)知識(shí)培訓(xùn)課件
- 2025年大學(xué)生防詐騙知識(shí)競(jìng)賽題庫(kù)試題及答案(共60題)
- 企業(yè)人力資源管理系統(tǒng)開(kāi)發(fā)維護(hù)合同書(shū)
- 如何提升英語(yǔ)聽(tīng)力水平:聽(tīng)力技巧與素材選擇教學(xué)教案
- 年度金融科技行業(yè)投資研究報(bào)告表
- 水暖安裝勞務(wù)合同
- 戶外廣告位租賃經(jīng)營(yíng)協(xié)議書(shū)
- 醫(yī)學(xué)課件尿微量白蛋白
- (7.1.19)-日本園林-以京都龍安寺為例
- 新版GMP解讀(無(wú)菌制劑)-課件
- 傳統(tǒng)服飾專題創(chuàng)新設(shè)計(jì)-山東工藝美術(shù)學(xué)院中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 中國(guó)倫理思想史PPT完整全套教學(xué)課件
- QC成果提高結(jié)構(gòu)樓板平整度合格率
- 第四屆博德世達(dá)杯全國(guó)石油工程知識(shí)競(jìng)賽樣題及答案模板
- 宋錦的形成和興起
- 智慧街區(qū)規(guī)劃方案
- Python自動(dòng)化運(yùn)維快速入門(mén)(第2版)
- Animals有關(guān)動(dòng)物教學(xué)課件
評(píng)論
0/150
提交評(píng)論