跳到主要內容

文章

Flutter: Future delay, async + await

第一種: future 當delay用" code 1: Future<String> future = Future.delayed(     Duration(seconds: 5),     () => "Latest News",   );   future.then((news) {     print(news);   }); result: (after 5 sec) Latest News   -----    Future<void> asyncAwait() async{     print('Started');     try{       await Future.delayed(Duration(seconds: 5));       print('Completed first');       await Future.delayed(Duration(seconds: 1));       print('Completed second');     }catch(e){       print('failed: ${e.toString()}');     }   }    asyncAwait();     Result: Started (after 5 sec)  Completed first (after 1 sec)  Completed second       ----- 簡單講, dart 的 future 就有點像是android中的handler post delay. void _do_something1 () { /// 買披薩 Future < void > getPizza () { return Future . delayed ( Duration ( seconds: 5 ) , () => print ( 'Bacon Pizza' )) ; } getPizza () ; print ( 'Baking~' ) ; }  向上圖程式碼: output Baking~ (after

Flutter: infinite list example

這是一個flutter infinite list example:  https://github.com/flutter/samples/tree/master/infinite_list 看不太懂,目前還在研究中... void main () { runApp ( MyApp ()) ; } class MyApp extends StatelessWidget { @override Widget build ( BuildContext context ) { return ChangeNotifierProvider < Catalog >( create: ( context ) => Catalog () , child: MaterialApp ( title: 'Infinite List Sample' , home: MyHomePage () , ) , ) ; } } class MyHomePage extends StatelessWidget { @override Widget build ( BuildContext context ) { return Scaffold ( appBar: AppBar ( title: Text ( 'Infinite List Sample' ) , ) , body: Selector < Catalog, int? >( // Selector is a widget from package:provider. It allows us to listen // to only one aspect of a provided value. In this case, we are only // listening to the catalog's `itemCount`, because that's all we need // at this level.

安東青創基地空蕩蕩,鄭文燦的青年創業創業基地出問題

安東青創基地空蕩蕩,在青創空間的無奈.. 上班時間大廳卻空蕩蕩....   桃園市政府安東創業基地的問題 問題原因: 管理單位失職,服務單位態度不佳 政府單位:青年局,桃園市政府 標案廠商:中原大學 安東青創基地會員: 市民 以上三者關係:目前標案廠商(中原大學)只聽青年局的話,卻對安東青創基地之會員視如地上之小草,任意欺辱踐踏,但我們市民朋友是市政府的老闆,鄭文燦市長是我們選出來的.所以標案廠商應該尊重的是我們市民會員才對,而不是整天只對青年局唯唯諾諾,但轉頭就欺負市民會員朋友.   以下為目前安東青創基地管理中心問題: 1.不尊重會員,欺負市民:完全忽視個人會員意見,欺負在此創業之創業家,以最近之2021/4/1共同空間調整事件為例.中原大學營運單位把我們會員像乞丐般趕來趕去,毫不尊重會員,引起眾多會員抗議,標案廠商卻不聞不問.(標案廠商手段粗暴,就跟緬甸軍政府鎮壓百姓一樣)   2.輕視市民:整體而言,服務品質低落。   3.錯誤的KPI目標: 管理中心團隊失職,把團隊會員與個人會員分類,歧視個人會員,對於個人會員的創業項目不予理會,以我為例,中原大學營運團隊完全沒幫助到我創業.青年局若是對安東基地個人會員作滿意度調查,會得到極多負評,這乃是因為管理中心不把個人會員當他們的KPI,導致輕視個人會員,建議青年局未來能把個人會員創業成功項目當作KPI,以解決被忽視與不尊重之問題. 4.任意更改營業時間:2020年之前週日也有開放,有幫助到許多還在上班的創業朋友,週日可以來這基地,但管理中心說變就變,導致目前週日不開館,完全沒徵詢會員意見.   5.為何中原大學團隊可以一次得標兩年,為何青年局都沒有做問卷調查全體會員滿意度.為何在多數會員都不滿意下該廠商還可得標????政府標案的流程是不是有錯,導致接下來的基地服務品質差,給他們的預算經費都不知花到那裡?是否都被廠商當作獲利去了,真正用在基地上只剩不多. 建議鄭文燦市長是否能重視安東基地問題。  ---- 事件1: 2021/4/1共同工作空間事件 安東基地管理團隊,因為自己作業疏失,未預估計算座位之數量,在招募時還增額錄取3組團隊, (位置都不夠了還一直招人,也未提醒評審跟青年局這問題,這事本就是管理中心應要提前預防的) 安東基地管理團隊還認為 我們這些個人創業家等級比團隊創業家低,次等公民... 對我們態度不

SOHO寫程式~那種自由的感覺

之前,因為整天在職場上遇到一些沒水準的人,惡同事,惡老闆.. 常被這些惡人欺負,所以產生恐懼害怕...職場霸凌... 現在...自由!  自由! 自由了!....這就是我內心的感覺...就好像一匹狼,被關在動物園久了...找到機會逃出來一樣...  好快樂~無拘無束的自由開發app.  不用因為公司政策,受限要開發的產品跟軟體app. 不用care 主管或老闆的想法,可以做自己喜歡做的專案. 想設計什麼就設計甚麼....   沒有惡老闆惡同事的騷擾...背黑鍋或被陷害. 同事間不和導致的謾罵跟吵架都不會發生. 不用weekly report,不用code review. 不用開晨會,不用怕遲到.可以早下班....可以熬夜工作來趕進度但隔天睡一整天. 有寫code的feel不斷的寫,一直到累. 這就是自由的感覺啊!!~~ 寫app就跟設計盆栽一樣 ,種植一盆盆的植物,除了需要技術跟知識外,還特別需要細心,跟責任感. 我非常能瞭解這種感覺.   打開上班族十大職場壓力表: 真的自己回家做app就沒了耶~~ 但大家不要高興太早,當SOHO後還有新的更多煩惱接湧而來... 錢的壓力,業務的壓力...時間管理,進度落後等等... 新創基地的惡人騷擾,管理基地的失敗...等等 想自己創業,...事情沒有那麼簡單... 目前即便是在創業基地,自己是自己的老闆,但還是會有一些惡人來找麻煩...   單打獨鬥成不了氣候: 這也是我的遺憾,我不像郭董有媽媽贊助30萬元來創業,也不像郭董當時有那麼好的好時機. 大家都知道,我曾經進過郭董的戰情室,跟他一起開會瞭解他的想法,好幾個月. 我只能說:郭董是個超級推銷員,他教了我很多事. 他可以一開會從早開到晚,一點都不會累,所有經理人都要在旁邊看跟學習,他如果有問題經理人要馬上回答,所以每個人都戰戰競競. 在鴻海工作然後又在他身邊的經理人,基本上都是一天當兩天用的.壓力非常大.講求效率,沒有藉口. 離開那工作之後, 我想自己創業看看. 郭董就是一面鏡子,讓我們看看自己,再想想為何我沒辦法做到跟郭董一樣???要如何做才能跟郭董一樣有效率?!!! 為何別人能成功,而你不行??!!! 這一切都是有原因的.  .... 然後才發覺一切都得靠自己.而技術人才也不會想跟我組團打怪,很多高手不會想要跟一個沒資金,未來看不到的人一起創業的. 就變成空有夢想,卻

Flutter: win10下 cmd 內 flutter doctor 環境設定問題與必須要知道的開發資源

  https://github.com/flutter/flutter 對,我最近在學Flutter...因為開發android 後又要開發ios... 然後這過程實在累死人了...我花了一個月開發一個android app,又要花兩個月開發ios,然後ios的設計又需要重新設計...  人力不足,開發兩個平台後又累,產出的app效果又不好,通常android app強的人, ios app就會弱.... 我真的受夠了,一次要開發兩種平台app.在一般公司不大的情況下,花兩倍人力的資源在開發app上實在不划算。 google最近發佈了flutter 2.0 所以我決定花點時間開發看看flutter...他用dart. 跟java有點像.然後也是用android studio ide. 為何不用同一套code與邏輯開發一次程式就好了??? 一套code然後7個平台都可run... 這才是聰明人的做法吧. (試想如果各個平台都要單獨開發,要七組人,研發費用是七倍啊~) -安裝flutter sdk: 但按照google指示安裝flutter sdk後 , 遇到一連串環境設定問題.... C:\Windows\System32>flutter doctor --android-licenses Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156) at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81) at com.android.sdklib.tool.sdkmanag

admob 違規: Valuable inventory: Scraped content, Valuable Inventory: No content

 今早又收到兩個admob違規, 而且還是複合式違規: Valuable inventory: Scraped content , Valuable Inventory: No content 讓我們來看看: 嚇傻app開發者違規警告! 全英文~~~ 要看完可累了. 還是一樣老樣子,admob不告訴你app何處違規,只叫你檢查app所有地方. 幾年了還是一樣不改作風.這可是會把新手開發者嚇傻了, 還好我經歷過很多次,習慣了.....不怕不怕... 因為我這app是用youtube api 做的tv app. 其實也就是拿別人的內容,的確是不合規矩. 只好把app內所有admob都移除了.再更新app,重新上架.過了幾天後...申訴... 但是...問題來了...ads都移除了...但admob還是給我判違規. Valuable inventory: Scraped content: As stated in our Program policies, we may not show Google ads on pages or apps with little or no value and/or excessive advertising to the user. This includes pages or apps that are scraping or rewriting of content from other sources without adding value. Please see Google's Webmaster quality guidelines for thin content with little or no added value for more information.   這個就...讓我狐疑了很久... 哈哈哈,真是admob有夠爛~~~ 我都因為不知那裡有問題,所以把廣告欄位全都移除了.都決定以後不加廣告了!!! 他們到底是怎麼樣阿??? 現在完全不知道怎麼辦????!! ----- 更新TV app紀實: 沒辦法,要增加功能阿! 不然admob審核不會過的.  至於要增加甚麼功能呢? 我也在努力想....(其實目前功能是夠了,但Admob找麻煩,一定要增加功能與更新app我才能再送審核..)

Java ArrayList 中文字的排序問題

這幾天在用郵遞區號3+3 app. 因為郵局寄給了我最新的3+3列表. 寫程式時我遇到了地址的中文字排序問題. 英文字在arraylist中排序很簡單.用Collections.sort排序.. 但是遇到中文後就失效了,沒有按照字的筆畫多寡排序.只好想其他辦法.... 排序前: 排序後:(中文字的排序還是錯的.可看到大字在中字的後面) 只好查google...最後發現這篇文章有解: https://blog.csdn.net/weixin_44246836/article/details/107250479?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-7.baidujs&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-7.baidujs    最後改用: Collections. sort ( arr_filter_town , new Comparator < String >() { @Override public int compare ( String o1, String o2 ) { return Collator. getInstance ( Locale. TRADITIONAL_CHINESE) .compare ( o1.charAt ( 0 ) , o2.charAt ( 0 )) ; } }) ;   問題二:  java.lang.ClassCastException: java.lang.Character cannot be cast to java.lang.String         at java.text.Collator.compare(Collator.java:279)         at com.mark.taiwanpostmailbox.zip33.datasave_zip33$1.compare(datasave_zip33.java:161)         at com.mark.taiwanpostmailbox.zip33.datasave_zip33$