Android WebView 載入本地 HTML 檔案:放入 assets 目錄並使用 file:///android_asset/ 路徑
res/ 目錄無法直接以檔案路徑讀取。將 HTML 放入 assets/ 目錄,使用 file:///android_asset/ 協定載入。 專案結構 app
Android ImageView 禁止圖片縮放:設定 scaleType="center" 保持原始尺寸
預設 ImageView 會縮放圖片填滿視圖。若需保持原始像素尺寸(超出部份裁切),設定 android:scaleType=center。 XML 設定 &l
Android ViewPager 載入大量 Fragment:改用 FragmentStatePagerAdapter 並以列表管理
FragmentPagerAdapter 會保留所有 Fragment 實例,導致記憶體壓力大。改用 FragmentStatePagerAdapter 自動銷
iOS 導航欄右鍵自訂 Edit/Done 大寫切換:使用 UIBarButtonItem 動態修改標題
系統 editButtonItem 標題為「Edit」/「Done」(首字大寫)。若需全大寫「EDIT」/「DONE」,需自建 UIBarButtonItem
Android 攔截 Home 鍵長按:在 onPause 中銷毀並重建 Activity
類似鎖屏應用,在 onPause 中呼叫 finish() 並立即重新啟動自身,使系統近期任務列表彈出後瞬間消失。 核心程式碼 @Override protec
Android 關閉應用所有 Activity:啟動 Home 畫面並呼叫 System.exit(0)
Android 無直接 API 關閉所有 Activity。常見做法是啟動 Home 畫面並結束進程。 方法一:啟動 Home Intent + System.
Android 同時支援 ActionBar Tab 與 ViewPager 的 Fragment 適配器設計
讓 FragmentPagerAdapter 同時實作 ActionBar.TabListener 與 ViewPager.OnPageChangeListen
Android 獲取 ToggleButton 開關狀態:直接呼叫 isChecked() 方法
ToggleButton 繼承自 CompoundButton,提供 isChecked() 方法直接回傳當前開關狀態(true=開, false=關),無需額
Objective-C 陣列添加元素崩潰:誤將不可變 NSArray 指派給 NSMutableArray 變數
arrayWithObjects: 回傳不可變 NSArray,若指派給 NSMutableArray 變數再呼叫 addObject:,會因實際物件不支援該方
iOS 限制圖片僅跟隨手指水平移動:在 touchesMoved 中僅更新 center.x
在 touchesMoved:withEvent: 中,保持 center.y 不變,僅將 center.x 設為觸摸點的 x 座標,即可實現水平拖曳限制。 程
Android 資料儲存選擇:SharedPreferences 適合少量鍵值,SQLite 適合大量結構化資料
根據資料量、結構複雜度與查詢需求選擇儲存方案: SharedPreferences 適用:簡單設定、使用者偏好、少量鍵值對(<100 條)。 優點:API 簡
Android Fragment 中 ListView 空指針:變數名稱不一致導致 findViewById 失效
在 Fragment.onCreateView 中宣告成員變數 lv1,卻用區域變數 listView 接收 findViewById 結果,導致 lv1 仍為
iOS 計算某月份第 N 個星期幾的日期:使用 NSCalendar 與 NSDateComponents
透過 NSCalendar 取得該月 1 號的星期與天數,計算目標週日的偏移量,即可獲得具體日期。 完整方法 - (NSDate *)dateForWeekda
Objective-C 類別中定義 Block 屬性:使用 typedef 簡化語法與延遲初始化
在類別中宣告 Block 屬性時,建議使用 typedef 簡化型別宣告,屬性屬性設為 copy,並在 Getter 中延遲初始化。 .h 檔 typedef
Android ListView listSelector 不生效:正確將選中狀態背景設定於 Item 佈局
ListView 的 listSelector 僅在項目被選取時顯示,若需項目常態、按下、聚焦皆有不同背景,必須將 Selector 設定於 Item 根佈局的
360 隱私保險箱視頻加密原理分析:可能僅加密檔案頭部
觀察 360 隱私保險箱對大型視頻檔案「秒級加密」且加密後無法用其他播放器開啟,推測其機制為僅加密容器頭部資訊(如 MP4 的 moov、ftyp atom),
Android 取得螢幕寬高:使用 DisplayMetrics 在執行時動態獲取
在 onMeasure 或其他位置需螢幕尺寸時,透過 WindowManager 取得 DisplayMetrics 即可。 程式碼 DisplayMetric
Android 4.0 鎖屏介面電話圖標顯示未接來電數量:自訂 View 疊加與內容觀察者
在鎖屏 MultiWaveView 的電話圖標右上角顯示未接來電計數,需自訂 View 疊加於圖標上方,並用 ContentObserver 監聽通話記錄變化觸