Android 刪除聯系人特定電話號碼:使用 ContentProviderOperation 批量操作精確刪除
直接 delete(RawContacts.CONTENT_URI, ...) 會刪除整個聯系人。需針對 Data 表特定行(MIMETYPE=Phone.CO
Android 線程間數據傳遞:使用 Handler 機制或 AsyncTask 替代阻塞 join()
子線程執行耗時任務後需通知 UI 線程更新,用 t.join() 會阻塞 UI 線程,違背多線程初衷。正確方式:Handler 發送消息、runOnUiThre
Android 非 Activity 類獲取 Resources:構造函數或方法參數傳遞 Context
工具類 ArabicUtilities 中調用 getResources() 報錯,因非 Activity/Context 子類無此方法。解決:通過構造函數或方
iOS ISGL3D 手勢識別互斥:實現 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer 返回 NO
需求:同一時間只識別一種手勢(如捏合或平移,二擇一)。實現 UIGestureRecognizerDelegate 方法,根據視圖判斷是否允許同時識別。 代碼
Android ContentResolver 查詢聯系人:CONTACT_ID 是列(字段)而非行,WHERE 條件用於篩選行
ContactsContract.Contacts._ID(即 CONTACT_ID)是數據表中的列(字段),存儲聯系人唯一標識。查詢時第三個參數 select
iOS 將 C 結構體存入 NSDictionary:用 NSValue 封裝非對象類型
NSDictionary 只能存儲 Objective-C 對象(id 類型),C 結構體(如 MKCoordinateRegion)需用 NSValue 封裝
Android MediaPlayer 播放 YouTube 視頻失敗:無法直接播放網頁 URL,需提取真實流媒體地址或用 Intent 唤起 App
直接用 MediaPlayer.setDataSource(https://www.youtube.com/watch?v=...) 會失敗,因 YouTube
iOS 動態字符串替換:stringByReplacingOccurrencesOfString 實現關鍵字插入
需在字符串中每個 Mac 後插入 Hello,使用 stringByReplacingOccurrencesOfString 全局替換。 代碼示例 NSStr
Android 撥號 Intent 傳遞 # 號碼:Uri.encode 編碼特殊字符
直接在 tel: URI 中包含 # 會導致解析失敗,需用 Uri.encode() 對號碼字符串編碼。 錯誤代碼 Intent intent = new I
iOS NSPredicate 過濾字典數組中嵌套數組字段:使用 ANY 關鍵字匹配任意元素
數據結構:字典數組,每個字典含 data 字段為字符串數組。需過濾包含特定字符串的字典。 數據示例 NSArray *array = @[ @{@id
Android 讓兩個 ImageView 尺寸同步:XML 屬性 layout_alignRight/Bottom 實現無代碼綁定
需讓第二個 ImageView 尺寸跟隨第一個,純 XML 即可實現,無需代碼監聽尺寸變化。 XML 佈局 <RelativeLayout ...>
Android NETWORK_PROVIDER 定位不穩定:需結合 GPS 與網絡定位雙重保障
單用 NETWORK_PROVIDER 定位時有時獲取不到坐標,因網絡定位依賴基站/WiFi,信號弱或無網絡時失效。最佳實踐:並行請求 GPS 與網絡定位,優先
iOS UITableViewCell 重用導致視圖重疊:正確的 cellForRowAtIndexPath 寫法
問題現象 表格滾動時單元格內容重疊、重複。代碼中創建子視圖(UIImageView、UILabel、UIButton 等)並直接 addSubview: 到 c
Android 通過 PID 獲取應用包名:遍歷 RunningAppProcessInfo 匹配 pid
根據 Binder.getCallingPid() 獲取調用者 PID,需遍歷系統進程列表匹配得到包名。注意:一個 PID 可能對應多個包名(共享進程)。 實
Android AlertDialog 返回鍵取消監聽:設置 OnCancelListener 捕獲取消事件
需在用戶按返回鍵取消 AlertDialog 時執行邏輯,設置 setOnCancelListener 即可。 代碼示例 { // 用戶按返回鍵或點
Android RelativeLayout 圖片上下添加黑條:佈局引用順序錯誤導致無法定位
在 RelativeLayout 中想給圖片上下添加黑條,但 layout_above=@id/left_strip 引用的 ID 尚未定義(XML 解析是順序
iOS 檢測具體設備型號(iPhone 4/5/6...):sysctlbyname 獲取硬件標識映射表
[[UIDevice currentDevice] systemVersion] 只能獲取系統版本,無法區分具體機型。需用 sysctlbyname(hw.ma
Xcode 調試窗口變量不顯示:使用控制台 po/p 命令手動查看對象
Xcode 調試時變量視圖未顯示某些對象,可使用控制台命令直接打印任意對象值。 操作步驟 調試運行時,點擊調試區右上角中間按鈕(或 Activate Co