2022年12月31日 星期六

[投資] 2022 年投資回顧與未來展望

Photo by Engin Akyurt

2022 年使用了定期定額+再平衡的操作,已實現投報 1.87%,未實現投報 -20%,從台股大盤 -22%、NASDAQ -33% 看來,表現雖是有比大盤好,但這可能也代表大盤投報好的時候我的投報可能會落後。一個月操作一次的期望都有做到,花的時間也比以前再更少,過程跟績效都符合預期,就這麼繼續做下去吧。

2023 年的策略:定期定額 + 再平衡

定期定額:每個月操作一次,投入月 KD 較低的標的
再平衡:每月若有投報超過 20% 的標的以及每半年做整體再平衡

標的(與去年相同)

0050、00878、5880 合庫金、2412 中華電、QQQ、ARKW、AAPL、TSLA

最後附上 2022 年市值變化圖,資產還能往上的原因是,每個月都有持續投錢進來,只能說金額不多的時候,每個月的存錢會佔較高比例 XD,數字比例上比較好看





2022年12月26日 星期一

[Xcode] 升級 Xcode  後打不開專案 Could not open workspace file at xxx

舊版 Xcode 升級後,打開 Xcode 按下既有 project,遇到上面問題,莫名其秒

解法也不難,從 Finder 裡找到 project 位置,直接執行 <你的 project>.xcodeproj 就能打開了

2022年12月11日 星期日

[Android][App] 傳說小工具進版 targetSDKVersion 31 後遇到的問題

Photo by Malte Luk

這次進版問題特別多,就把這些過程都記錄下來,希望也幫助到遇到類似問題的人

這邊也帶出個問題,就是平常用的測試手機 HTC UU 是 Android 8 的版本實在太舊了,測不出問題 XD,話說現在還有人在用 Android 8 的手機嗎?

我的開發環境:Android Studio 3.6.1, Java

問題:
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.

有趣了,我的 source code 裡沒有用到 PendingIntenet,居然要我加 FLAG,後來才發現,原來是使用的 library 裡有用到...

處理方式:
發現 app 已經非常久沒使用,之前用的 library 都太舊了或無法使用,先改用 AndroidX 並將舊的 library 換掉

使用 AndroidX,參考 https://developer.android.com/jetpack/androidx?hl=zh-tw
gradle.properties
+android.useAndroidX=true
+android.enableJetifier=true

若有 library 因此找不到,可參考 https://developer.android.com/jetpack/androidx/migrate/class-mappings?hl=zh-tw 來替換

app\build.gradle
defaultConfig {
    -minSdkVersion 16
    +minSdkVersion 21
    +multiDexEnabled true
}
dependencies {
    +implementation 'androidx.work:work-runtime-ktx:2.7.0'
    +implementation 'androidx.work:work-runtime:2.7.1'
}

build.gradle
dependencies {
    -classpath 'com.android.tools.build:gradle:3.2.1'
    -classpath 'com.google.gms:google-services:3.2.0'
    +classpath 'com.android.tools.build:gradle:3.6.4'
    +classpath 'com.google.gms:google-services:4.3.14'
}

升級 gradle(利用 Android Studio 在 build 的時候的提示做的)

問題:
java.lang.NoSuchMethodError: No static method metafactory

處理方式:
build.gradle
android{
   compileOptions {
      sourceCompatibility JavaVersion.VERSION_1_8
      targetCompatibility JavaVersion.VERSION_1_8
   }
}

問題:
Error inflating class com.google.android.gms.ads.AdView

處理方式:
build.gradle
dependencies {
    -api 'com.google.android.gms:play-services-ads:11.8.0'
    +api 'com.google.android.gms:play-services-ads:21.3.0'
}
加入以下在 AndroidManifest.xml 裡
<meta-data
    android:name="com.google.android.gms.ads.APPLICATION_ID"
    android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>

問題:
error: incompatible types: String cannot be converted to OnInitializationCompleteListener        MobileAds.initialize(this, "xxxx");

處理方式:
使用下面方式替換原有寫法
AdView mAdView = (AdView) findViewById(R.id.adView);        mAdView.setAdUnitId(getString(R.string.banner_ad_unit_id));


Reference
Firebase For Flutter Execution failed for task ':app:transformClassesWithDexForDebug'
feedbackGet started with Google Analytics




2022年12月3日 星期六

[生活] RHINOSHIELD 犀牛盾 固架的優缺




不斷從網頁和 YouTube 上看到 RHINOSHIELD 犀牛盾 固架的廣告,被它的便利性給吸引,不用黏在手機殼上,只要有 MagSafe,就可以在要用時吸上去就行,而且吸力超強,很適合我常遇到的一個情境,就是在吃飯時,手機只能平放在桌上,很不適合邊吃邊看,所以就買回來試試了

優點:
1. 吸力確實超強不怕掉
2. 手機直立使用時確實能讓你在吃飯時看手機有個好角度,手機跟桌面的角度大概在 111 度

缺點:
1. 手機平放使用時,手機跟桌面的角度大概在 98 度左右,這樣的角度使用起來有點太小,還是能使用但若角度再大一點會更好
2. 搭配 iPhone 12 Pro Max 直立使用時,站立時不太穩定,手機很容易會晃動

上面的角度是我使用 Angle Meter 這個 app 量測出來的,可能沒到很精確,但可以參考一下。