跳到主要內容

發表文章

目前顯示的是 11月, 2020的文章

Android Studio 多國語系設定-解決「Hardcoded string "XXX", should use @string resource」警訊

開發程式時,在設計按鈕或文字方塊等時,為了快速,通常都會直接設定該物件的顯示名稱,如此的做法並不會有任何的問題,但並非好的做法,在 Android Studio 若直接設定物件顯示的名稱或字串,會出現「Hardcoded string "XXX", should use @string resource」的警訊,出現該警訊並不會造成任何問題,它只是在告訴你正確的方式應是將顯示字串,設定於 @string resource 中 。 Android Studio 有針對字串的管理,因此在設計時,最好的方式是使用字串資源。使用字串資源最大的好處,就是統一命名及多國語系,當某個字串要變更時,只要將該字串所對應的ID的字串值改掉,整支程式有對應到該 ID 的字串,就會一併變更,而最大的缺點就是程式設計上稍微麻煩些,以及當字串 ID 管理不當時,可能會造成多個字串 ID 對應同一字串值。 新增語系 若設計成多國語言,先要增加 Strings.xml 的語系: 一、首先在「res→values」上按下滑鼠右鍵,並選擇「New→Values resource file」 二、先在「File name:」內輸入【strings】,接著點選左方的「Locale」,再按下中間的「>>」按鈕 三、選擇所要設定的語系 完成以上三個步驟,在 strings 中會出現剛剛所設定的語系了 設定字串值 設定字串值的方式有兩種,分別是「自行輸入」和透過「Pick a Resource」視窗 自行輸入 只需在所對應的 strings 內增加如下的語法即可:<string name="String ID">String Name</string> 透過「Pick a Resource」視窗 一、使用滑鼠並點選物件屬性「text」右方的「Pick a Resource」按鈕,如下圖所示。 二、此時會出現「Pick a Resource」視窗,接著點選左上方的「+」,再選擇「string Value...」 三、輸入「Resource name:」及「Resource value:」的名稱及字串值,並在下方選擇所要設定的語系,雖然 Android Studio 支援

Oracle常用的數學函數

Oracle常用的數學函數有: CEIL、FLOOR、ROUND、TRUNC、ABS、MOD、POWER 以下針對上述的數學函數做介紹: CEIL(n):傳回數字的最大整數 EX1:SQL> SELECT CEIL(5.52) FROM DUAL; CEIL(5.52) ---------- 6 EX2:SQL> SELECT CEIL(-2.01) FROM DUAL; CEIL(-2.01) ----------- -2 FLOOR(n):傳回數字的最小整數 EX1:SQL> SELECT FLOOR(5.52) FROM DUAL; FLOOR(5.52) ----------- 5 EX2:SQL> SELECT FLOOR(-5.52) FROM DUAL; FLOOR(-5.52) ------------ -6 ROUND(n [,m]):對n值做四捨五入,如有輸入m值,則表示由n值小數點前、後第m位做四捨五入,m需為整數,預設值為0 EX1:SQL> SELECT ROUND(5.52) FROM DUAL; ROUND(5.52) ----------- 6 EX2:SQL> SELECT ROUND(5.52, 1) FROM DUAL; ROUND(5.52,1) ------------- 5.5 EX3:SQL> SELECT ROUND(25.52, -1) FROM DUAL; ROUND(25.52,-1) --------------- 30 TRUNC(n [,m]):對n值做無條件捨去,如有輸入m值,則表示由n值小數點前、後第m位做無條件捨去,m需為整數,預設值為0 EX1:SQL> SELECT TRUNC(5.52) FROM DUAL; TRUNC(5.52) ----------- 5 EX2:SQL> SELECT TRUNC(5.52, 1) FROM DUAL; TRUNC(5.52,1) ------------- 5.5 EX3:SQL> SELECT TRUNC(25.52, -1) FROM DUAL; TRUNC(25.52,-1) --------------- 20 ABS(n):對n值取絕對值

Oracle常用的數字格式介紹

Oracle的數字格式可以使用「TO_CHAR」或是「TO_DATE」來顯示。 Oracle常用的數字格式如下:   格式 描述 範例 . 顯示小數點 select to_char(123.68,'99999.9') from dual; -->   123.7 , 顯示分隔符號「,」,如使用「,」做為分隔符號,則小數點必須用「.」 select to_char(123123.68,'999,999.99') from dual; --> 123,123.68 D 顯示預設的小數點符號【預設為「.」】 select to_char(123.68,'99999D99') from dual; -->   123.68 G 顯示預設的分隔符號【預設為「,」】,如使用「G」做為分隔符號,則小數點必須用「D」 select to_char(123123.68,'999G999D99') from dual; --> 123,123.68 9 數字格式完全以設定的格式來顯示,多餘的部份以「空白」顯示 select to_char(123.68, '9999999.99') from dual; -->     123.68 0 數字格式完全以設定的格式來顯示,多餘的部份以「0」顯示 select to_char(123.68, '0999999.99') from dual; --> 0000123.68 FM 以所設定的格式來顯示,多餘的部直接隱藏 select to_char(123.68, 'FM9999999.99') from dual; -->123.68

Firefox 57 up 設定調整

Firefox 57 版後擴充功能已由原本的legacy變更為類似Chrome和Edge的「WebExtentions」,如此的改變讓tab mix plus、tab utilities等已無法使用。幸好Firefox可透過【about:config】頁面修改偏好設定,讓Firefox更能符合自己的使用習慣。 修改偏好設定方法很簡單,只要以下的步驟即可: 在網址列輸入「about:config」即可進入參數設定頁面 點選「我發誓,我一定會小心的!」按鈕。 直接在「搜尋」欄輸入所要修改的「偏好設定名稱」,變更「值」,即可完成設定。 偏好說明 偏好設定名稱 值 關掉最後分頁不關閉瀏覽器 browser.tabs.closeWindowWithLastTab false 分頁中打開連結但不切換 browser.tabs.loadInBackground browser.tabs.loadDivertedInBackground true 使用右鍵搜尋但不切換 browser.search.context.loadInBackground true 新分頁打開書籤 browser.tabs.loadBookmarksInTabs true 背景打開書籤 browser.tabs.loadBookmarksInBackground true 強制用新分頁取代新視窗 browser.link.open_newwindow.restriction 0 新分頁打啟搜尋結果 browser.search.openintab true 關閉分頁不切回開啟的分頁 browser.tabs.selectOwnerOnClose false 設定分頁最大寬度 browser.tabs.tabClipWidth

Oracle Forms 系統變量(system)

系統變量名 變量說明 system.block_status 目前區塊(Block)的狀態,共有三個值: CHANGED:表明區塊(Block)中至少有一個記錄被修改過; NEW:表明區塊(Block)中僅有未被修改過的記錄; QUERY:表明區塊(Block)處於查詢模式中。 system.coordination_operation 用於區塊(Block)的同步過程,它與system.master_block合用。在區塊(Block)同步的過程中,變量system.master_block包含了主區塊(Block)的名字,變量system.coordination_operation包含了使觸發器on_clear_details啟動的主區塊(Block)中所發生的事件名稱。 system.current_block 輸入點的位置,當它出現在區塊(Block)、記錄(Record)、項目(Item)中時,它的值是區塊名。但當Trigger為「pre_」,「post_form」等時,它的值為空值(null)。 system.current_datetime 系統日期和時間,默認格式為DD_MON_YYYY HH24:MI:SS。 system.current_form 目前form的名稱。 system.current_item 目前項目(Item)的名字,當指標從一項目(Item)移動到另一項目(Item)時,這個值為空。 system.current_value system.current_item變數所代表項目(Item)的值。 system.cursor_block 目前前指標所停留的區塊(Block)的名字。 system.cursor_item 目前前指標所停留的區塊(Block)和項目(Item)的名字。 system.cursor_recor

Android Studio 解決 ImageView / ImageButton 圖片大小問題

第一步: 設定 layout_width 與 layout_height 在 xml 文件中設置的 ImageView / ImageButton 的寬和高。 比如: android:layout_width="100dp" android:layout_height="100dp" 第二步:設置屬性android:scaletype android:scaletype 是控製圖片如何 resized/moved,是匹對圖片的 size。android:scaletype 的值個別為: 值 說明 centerInside 圖片只可按比例縮小,或以原圖大小顯示。圖片居中顯示 fitStart 圖片按比例擴大或縮小,以 View 的左上角為原點顯示 fitEnd 圖片按比例擴大或縮小,以 View 的右下角為原點顯示 center 以圖片原來的大小居中顯示,當圖片超過 View 的大小時,則只顯示 View 大小的部分 matrix 以左上角為定點,並以圖片原來的大小顯示,當圖片超過 View 的大小時,只顯示 View 大小的部分 fitxy 以左上角為定點,圖片不按原本比例,擴大或縮小到 View 的大小顯示 fitCenter 圖片按比例擴大或縮小到 View 的最小高度或寬度,圖片居中顯示 centerCrop 圖片只可按比例擴大,當圖片超過 View 的大小時,則只顯示 View 大小的部分,圖片居中顯示

Android Studio - Kotlin:N秒後自動切換到其他的 Activity

  Kotlin 和 Java,在處理 Delay 都是使用 Handler 來實現: class MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {       super.onCreate(savedInstanceState)       setContentView(R.layout.activity_main)       Handler().postDelayed({goAct()}, 2500) <-- 已廢棄       Handler(Looper.getMainLooper()).postDelayed({ goAct() }, 2500)     }    fun goAct() {       startActivity(Intent(MainActivity@this, OtherActivity::class.java))       finish()    } }