Flutter代碼錦囊---淘口令復(fù)制彈窗

對(duì)于淘系電商APP或其他類似的APP而言椅寺,獲取剪貼板上的淘口令施籍,再解析出具體的商品詳情濒析,是整個(gè)APP的核心業(yè)務(wù)操作,就像下面圖片展示的這樣蝌焚。

IMG_B955B557304E-1.jpeg

下面我們就用Flutter實(shí)現(xiàn)這個(gè)功能裹唆,首先是前面一部分導(dǎo)入相關(guān)引用和常規(guī)頁面布局代碼,直接復(fù)制就好了只洒。

import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

接下來就是主要代碼品腹,我們需要實(shí)現(xiàn)組件綁定觀察者(WidgetsBindingObserver)抽象類,使用組件(Widgets)圖層綁定注冊(cè)的類的接口红碑,我們會(huì)覆蓋它的App生命周期狀態(tài)發(fā)生改變(didChangeAppLifecycleState)方法舞吭,其返回值類型是應(yīng)用生命周期狀態(tài)(AppLifecycleState)類。

應(yīng)用生命周期狀態(tài)(AppLifecycleState)類有幾個(gè)常量析珊,分別是:等待(AppLifecycleState.inactive)羡鸥、暫停(AppLifecycleState. paused)和恢復(fù)(AppLifecycleState. resumed)。

class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {
  @override
  void initState() {
    // 在當(dāng)前頁面放一個(gè)觀察者忠寻。
    WidgetsBinding.instance.addObserver(this);
    super.initState();
  }

  @override
  void dispose() {
    // 移除當(dāng)前頁面的觀察者惧浴。
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    // 當(dāng)App生命周期狀態(tài)為恢復(fù)時(shí)。
    if (state == AppLifecycleState.resumed) {
      getClipboardContents();
    }
  }

  /// 使用異步調(diào)用獲取系統(tǒng)剪貼板的返回值奕剃。
  getClipboardContents() async {
    // 訪問剪貼板的內(nèi)容衷旅。
    ClipboardData clipboardData = await Clipboard.getData(Clipboard.kTextPlain);
    // 剪貼板不為空時(shí)捐腿。
    if (clipboardData != null && clipboardData.text.trim() != '') {
      String _name = clipboardData.text.trim();
      // 淘口令的正則表達(dá)式,能判斷類似“¥123456¥”的文本柿顶。
      if (RegExp(r'[\uffe5]+.+[\uffe5]').hasMatch(_name)) {
        // 處理淘口令的業(yè)務(wù)邏輯茄袖。
        showDialog<Null>(
          context: context,
          barrierDismissible: true,
          builder: (BuildContext context) {
            return CupertinoAlertDialog(
              title: Text('淘口令'),
              content: Text(_name),
            );
          },
        );
      }
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Demo 主頁'),
      ),
    );
  }
}

如果把上面兩段代碼合成一個(gè)文件,執(zhí)行調(diào)試嘁锯,然后把APP放在后臺(tái)宪祥,再?gòu)?fù)制一段淘口令,然后回到APP時(shí)家乘,就會(huì)像下面一樣彈出窗口寂纪。

IMG_3DEAAD8252F7-1.jpeg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寻咒,一起剝皮案震驚了整個(gè)濱河市娇豫,隨后出現(xiàn)的幾起案子此洲,更是在濱河造成了極大的恐慌,老刑警劉巖业崖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涯呻,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡腻要,警方通過查閱死者的電腦和手機(jī)复罐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雄家,“玉大人效诅,你說我怎么就攤上這事√思茫” “怎么了乱投?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)顷编。 經(jīng)常有香客問我戚炫,道長(zhǎng),這世上最難降的妖魔是什么媳纬? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任双肤,我火速辦了婚禮,結(jié)果婚禮上钮惠,老公的妹妹穿的比我還像新娘茅糜。我一直安慰自己,他們只是感情好素挽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布蔑赘。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缩赛。 梳的紋絲不亂的頭發(fā)上耙箍,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音酥馍,去河邊找鬼辩昆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛物喷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播遮斥,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼峦失,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了术吗?” 一聲冷哼從身側(cè)響起尉辑,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎较屿,沒想到半個(gè)月后隧魄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡隘蝎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年购啄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘱么。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡狮含,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出曼振,到底是詐尸還是另有隱情几迄,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布冰评,位于F島的核電站映胁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏甲雅。R本人自食惡果不足惜解孙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抛人。 院中可真熱鬧妆距,春花似錦、人聲如沸函匕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至中剩,卻和暖如春忌穿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背结啼。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工掠剑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人郊愧。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓朴译,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親属铁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子眠寿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 面試題總結(jié) 通用 安卓學(xué)習(xí)途徑, 尋找資料學(xué)習(xí)的博客網(wǎng)站 AndroidStudio使用, 插件使用 安卓和蘋果的...
    JingBeibei閱讀 1,647評(píng)論 2 21
  • 深入JSX date:20170412筆記原文其實(shí)JSX是React.createElement(componen...
    gaoer1938閱讀 8,048評(píng)論 2 35
  • 現(xiàn)在的生活,是多么的不同焦蘑,在以前的生活盯拱,跟現(xiàn)在是生活是不同的,之前的生活沒有那么好例嘱,但是個(gè)個(gè)都講人情狡逢,不像...
    499eaeeed154閱讀 285評(píng)論 1 3
  • “丹丹奢浑,何潔上熱搜了,沒想到腋腮,她最終還是和郝子銘離了婚殷费,哎,這男人真是渣男低葫!” 閨蜜Andy給我發(fā)了條微信详羡,我懵逼...
    丹心隨行閱讀 518評(píng)論 0 0