跳到主要內容

發表文章

Flutter: JSON Parser example

Flutter的Json處理真是有夠難... 看了老半天還是看不太懂, 挫折感重重. 他有兩套方法一個是dart內建的 dart:convert ,另一個是套件,其號稱較容易處理複雜的JSON結構. === 一個外國網友說:  I have to admit, I was missing the gson world of Android after working with JSON in Flutter/Dart. When I started working with APIs in Flutter, JSON parsing really had me struggle a lot. And I’m certain, it confuses a lot of you beginners. by Pooja Bhaumik 大家可以去讀這篇json parse in flutter文章 ps:額外閱讀: 30天Flutter手滑系列 - JSON與序列化(JSON and serialization)  --- Is there a GSON/ Jackson/ Moshi equivalent in Flutter? The simple answer is no.  似乎是因為 程式庫 反射(run-time reflection)的關係,使得Flutter 無法對其做檔案最小化.  ---- 在android我們用gson太久,太方便,所以被寵壞了. 一換到flutter後,沒有gson,我們就不會用了. 寫程式這種技能,就跟啃饅頭一樣,很簡單,但你還得一口一口慢慢啃完. 對,沒有自己寫出一段json parser範例code,你就是算不會他. 一定要自己寫出來,結果有跑出來才算,然後在熟習其用法.等到真實專案遇到了就不會害怕. --- Flutter有內建 d art:convert library可用來parse JSON. "為較小的項目使用手動序列化數據",但這是一個很基本的library. Basic JSON serialization in Flutter is very simple. Flutter has a built-in dart:convert library that includes

Flutter Web renderer: doesn't show Image on the chrome browser but works on android.

Flutter可以跑在chrome瀏覽器上,但一執行卻出現無法顯示圖片的錯誤訊息. 這到底是怎麼了? 太奇怪了吧,花了半天檢查程式碼是否有寫錯. Image . network ( "https://flutter.cn/assets/flutter-lockup-1caf6476beed76adec3c477586da54de6b552b2f42108ec5bc68dc63bae2df75.png" ), 語法是對的,但跑在瀏覽器上就是會出現大叉叉. When the exception was thrown, this was the stack: Image provider: CachedNetworkImageProvider("https://via.placeholder.com/150/a46a91", scale: 1) Image key: CachedNetworkImageProvider("https://via.placeholder.com/150/a46a91", scale: 1) ===== Exception caught by image resource service == The following ImageCodecException was thrown resolving an image codec: Failed to load network image. Image URL: https://via.placeholder.com/150/323599 Trying to load an image from another domain? ---- 然後我才發現,同樣的flutter code,但在android 平台上可以跑(右圖). 但放在電腦chrome 卻不能正常執行,顯示的圖片上出現驚嘆號(左圖). 原來不是程式寫錯. 原因似乎在這: flutter web has upgraded default rendered(HTML) -> CanvasKit and it has better performance. https://flutter.dev/docs/development/platform-integra

Admob set test devices with your Advertising ID

  想買電腦卻沒錢: 開發android app的電腦已經用了5年,很想換.但沒錢,很可憐. 但信用卡已經刷爆,不能再刷了. 寫app程式真的好累且好花錢阿. . 另外,我發現...原來寫程式/app環境需要安靜,這是必要條件,另外還需要環境溫度保持26度c,太冷或太熱都不可以,當環境溫度到達29.8度c時,因為太熱,心情就會開始煩躁,就無法安心坐下寫程式.更何況燒腦的研發更不可能. 因此可知道,寫app根本跟養雞是一樣的情況,環境溫度濕度需要保持舒適,也不能太擠,這樣母雞才能安心下蛋.所以這一切都是飼主的責任啊. 很多老闆會認為寫程式的工程師,為什麼有時候做沒多久就離職,或是發現其工作效率不佳.以為老闆有付了薪水就沒事了.但真實原因工程師也不願說, 老闆們似乎都沒有思考過,這可能是工程師開發環境的問題.不顧這而只會一昧責怪工程師. 當工程師受不了,當然會另覓出路. . 好啦,來講講正題,沒有錢是無法開發app的,一切都需要燒錢,要買開發設備, 工程師也要吃飯,還要付電費,冷氣費.app上架註冊費,apple的開發者帳號也要年費. 伺服器也要錢.internet網路費也要,測試手機裝置也要錢.尤其app開發時沒有實機,都在模擬器上測試,常常會發生許多上架後才發生的未知的問題.所以對開發者而言,iphone/ipad/android tablet 都不能少的. 因此,常常有人為了要賺錢,於是不擇手段,會自己或是去要求朋友幫忙點擊自己app的廣告. 然而Admob是嚴格禁止app開發者或其有關係的人自己點自己的廣告, admob可以偵測得出來,所以不要跟admob鬥智. 比如說雖然我沒有點自己的廣告,但有時admob還是會偵測出有誤點自己設計的app上的廣告的情況.但我沒有點自己的廣告阿,其實原因是app使用者誤點也算. 在每個月收益都會自動扣除.如下所示:   May 1 – 31, 2021   Invalid Traffic - AdMob Applications - AdWords Ads     −$17.15 大家可以知道,誤點的或自己點的,或是user誤按的,都會被admob 偵測出來. 但是,有時候我們在測試app時,有時候會不小心誤按到廣告. 這就危險了.這有時是app廣告位置的問題,若是一直發生誤按,admob會判斷你違規. 很恐怖的. 所以我們要

Flutter: TextButton and build fail issue

為了達成寫一套code就能在兩個平台跑的目標,一直不斷練習寫flutter. 然而寫flutter前一定要有android 或ios 開發的基礎, 不然會遇到很多困難. 例如我就遇到android studio內的build.gradle設定問題,跟android X有關. 編譯時一直出現紅字, Caused by: java.lang.ClassNotFoundException: Didn't find class “xxxx.xxx.xxx” on path: DexPathList error  查看 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="$APP_DOMAIN">  <application android:name="io.flutter.app.FlutterApplication" android:label="$APP_NAME" android:icon="@mipmap/ic_launcher"> <activity android:name= ".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize"> <meta-data android:name="io.flutter.app.android.SplashScreenUntil

google對android app開發者的app內購與付費app只收15%手續費優惠之設定的方法(Create an account group for 15% off android app service fee)

 最近收到這通知: It's time to enroll for the 15% service fee Jun 9, 2021 18:25 In March 2021, we announced that starting July 1, 2021, the service fee will be 15% instead of 30% for the first $1M (USD) you earn each year when you sell digital goods or services. Starting today, you can enroll for the 15% service fee in Google Play Console. To enroll, you will need to: Create an account group and let us know if you have any associated developer accounts Accept the service fee terms and conditions Because we're launching the program halfway through the year, the threshold will be prorated so the service fee will be 15% instead of 30% for the first $500,000 (USD). If enrollment is completed after July 1st, earnings are counted from the day you enroll. For more details, select Learn more.   但是怎麼建立 account group 呢? 如下圖步驟: 雖然很簡單,但google 說明沒有寫得很詳細,很多人不知道在哪裡. 建立之後的樣子如下圖: s   建立account group才能享有15%手續費優惠. 這樣google對android app的內購或販售付費app的手續費就從扣30%變只扣15%. 好棒啊. 但別高興太早,要收到這錢也需要你的app是

煩煩煩: admob issue, 投廣告被拒, 警廣app違規問題

今天早上準備 build code時, 遇到android studio - admob error: Could not find com.google.firebase:firebase-ads Required by:     project :app 這到底是怎樣的情況??? 難道android sdk 升級30後,慢慢有些元件要更新: change to: implementation 'com.google.android.gms:play-services-ads:+'   

疫情大爆發.在家學英文

疫情大爆發.在家學英文... 對寫app的人,英文是很重要的事,沒有多益990都是不及格的. 英文補習班也停課. 而且雲課程看一小時,你就要坐在電腦前一小時,可說是會非常累. 導致學習英文的壓力變得很大. 所以... 最近就發現一個學英文沒壓力的方法. MyMusic 一天1塊錢而已... 他有英文歌詞,還有字幕.. 學英文變得沒有壓力. 比如說這單字hypnotized是啥意??? 一開始看到也不會念.. 但透過聽歌她會教你如何發音...

202105 win10更新導致系統無法開機: 修復Windows 10出現的0xc000021a錯誤

今天早上一起床,準備要寫app. 但win10無法開機, 發現可能是昨天windows update 自動更新,導致錯誤...   其實寫app常常有這種情況,當你準備好要寫app時,突然電腦就壞了? 不然就突然停電(今天2021/5/13高雄興達電廠突然跳電出問題), 無奈只好停下來修電腦... 錯誤情況: win10 無法開機,錯誤代碼: 修復Windows 10出現的0xc000021a錯誤   原因: 安裝失敗: Windows 無法安裝下列更新,錯誤 0x800F0845: 2021-05 適用於 x64 系統 Windows 10 Version 20H2 的累積更新 (KB5003173)。 解決方法1: (我用這方法是失敗的)  - 停用驅動程式強制簽署: bcdedit.exe /set nointegritychecks on -每次開機出現選單:(不用每次都等失敗畫面出現,修復好後要再自行關閉此選項off.) bcdedit /set advancedoptions on     解決方法2.: (還是失敗) 選擇-進階選項.   重開機後選擇: 7.停用驅動程式強制簽署.   然後出現這畫面後... 成功取消之前windows更新, win10重新開機復活. step2: 進去之後下次開機還是會出現這問題 照這文章去做: https://windows101tricks.com/windows-10-update-failed-to-install/   但一點都沒效 發現的根本原因: --------------------------- 最近安裝的驅動程式更新可能導致 Windows 無法啟動。 修復動作: 解除安裝新安裝的驅動程式更新 結果: 順利完成。錯誤碼 =  0x0 花費時間 = 10546 ms     比較慘的是不知道是哪個驅動程式所引起的.. 這就是舊電腦所導致的問題,遇上新的windows update 常常會導致驅動程式更新就出錯了. 解決方法3: (成功!) 最後沒有辦法,只好重設windows,也就是說要重新設定app開發環境.. 又要浪費時間做沒生產力的事了. android studio要重裝, onedrive, google drive , putty ....git ....好多軟體都要重裝. 搞了一天終

寫APP,然後感到心累...

三件煩事:   1.因為在學習Flutter導致整個研發速度停滯 最近寫APP改用Flutter. 寫了一個多月了,還是在基礎的元件的使用,拖累了我整個研發速度. 而且flutter在一開始app在載入時會有0.5秒到1秒的效能delay, 跟原先使用native android or ios swift速度比起來可以隨意發揮的速度比起來,對目前狀況感到很灰心. 2.創業基地內人際關係的壓力 陌生人的談話的影響.今天中午時來到這,空間內遇到兩個人,一個是天蠍座的,一個是剛進來的陌生人. 他們正聊得正開心,他們看我一進來,就馬上停止了對話,還馬上離開這. 獨留下我一人. 這情境給我感覺很不好,好像我是有毒的人一樣,見到我就趨之若鶩逃走. 其實這位天蠍座的創業家也不是第一次這樣對我, 常有人當我面跟我說,這天蠍座的人常常背後說我壞話. 並提醒我要小心他. 然後這件事就搞得我心好累,其實我跟那人根本沒講過幾句話,為何要這樣對我呢?  也許有旁人在他們不方便說,所以這樣做,馬上結束對話然後離開,但他們的態度轉變實在太大.... 心情就這樣被陌生人影響...真是不值得. 嘆氣~其實寫app才是我最急迫要做的事,心累... 各位程式設計師朋友們, 其實我們不用害怕,這種事在職場上常常發生, 這些路人甲乙丙不是我們的老闆,也沒付我們一毛錢,實在沒必要因為他們的一舉一動就影響了我們的心情. 深呼吸一下,好好繼續寫程式吧.... 3.Android 11 中onedrive的「清理空間」功能無法工作   問題: 使用 Android 11 版 OneDrive App 的客戶無法使用「清理您裝置上的空間」功能。 已上傳的檔案不會從行動裝置中移除。 因應措施  檔案上傳至 OneDrive 後,就可以從裝置手動刪除。 檢查 您的 OneDrive 相片 或其他檔案資料夾,以確保已上傳最新的圖片或檔案。 從行動裝置中刪除它們。   OneDrive 實在很好用,比 google

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.

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

桃園市政府設立地的安東青創基地超爛, 負責營運的中原大學管理團隊超惡劣.領到政府標案的錢後,就整天在欺負市民,惡行不勝枚舉. 本來我只是去那創業的,但這中原大學這管理中心不斷找大家碴,根本就沒有幫助到創業家.還讓人感受到一直被這管理團隊霸凌,用行政措施不斷騷擾.汙辱人, 我深感安東基地管理的團隊就是領錢不做事啦.跟桃園市政府反映後,市政府還不聞不問,繼續讓他們經營.不知道那個局長都在幹甚麼?包闢這種惡劣廠商持續霸凌市民.  ----- 自從2020中原大學得標後,安東青創基地就變得空蕩蕩了, 讓我深感一個人在青創空間創業的無奈更加強烈.. 這個中原大學經營團隊如何爛? 聽我道來. 一個地方有人的地方就會有爭吵,這是很難避免的事. 但這管理單位對於人與人之間的爭吵,謾罵與人身攻擊不聞不問. 導致創業家之間的霸凌,不斷發生. 給我感覺是這管理單位整天只是來這裡打卡,其他都不管的. 發生很多事,但管理單位失職,都嫌煩不願意處理. 比如說冷氣,開燈與關燈,漏水處理,等等日常,當發生糾紛時,這管理單位被動,甚至有時還要會員自己解決. 而且只要你去看這安東基地大廳,常常上班時間內,大廳卻空蕩蕩.... 讓人感覺到中原大學的這管理團隊只是來這裡打卡上下班,時間大都躲在2F辦公室做自己的事.至於他們在做什麼事?是不是在做自己的私事,你也不知道. 但領政府的錢,卻沒有做好,就是不對. ----   桃園市政府-安東創業基地的問題 中原大學這管理單位,服務單位態度不佳,自視甚高.瞧不起一個人單打獨鬥的創業家(在此進駐的青創基地會員/市民). 而政府單位青年局,桃園市政府這邊,也不管他們標案廠商中原大學,讓他們持續擺爛. 目前廠商(中原大學)只聽青年局的話,對安東青創基地之會員視如地上草介,任意欺辱踐踏,但市民朋友是市政府的老闆,鄭文燦市長是我們選出來的.所以標案廠商應該尊重的是我們市民才對,而不是整天只對青年局唯唯諾諾,但轉頭就欺負創業家.這裡應當要改名 "安東服務青年局基地 "才對.   1.常常不尊重會員,欺負市民:完全忽視會員意見,欺負在此創業之創業家,尤其單打獨鬥的市民,以最近之2021/4~5月間共同空間調整事件為例.中原大學營運單位把我們像乞丐般趕來趕去,毫不尊重會員,引起眾多會員抗議,快10多位市民跑去面對面他們抗議,但中原大學這邊卻不聞不問完全不理會

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

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