iOS UIActivityViewController 完成回調判斷分享是否成功
需在用戶通過 UIActivityViewController 發送郵件/分享成功後執行業務邏輯(如記錄數據庫)。 使用 completionHandler U
iOS NSDateFormatter 解析 12 小時制時間錯誤:HH vs hh 與時區陷阱
字符串 01/20/2015 11:00 PM 解析後時間變為 07:00 GMT(早 4 小時)。 錯誤原因 格式字符錯誤:12 小時制必須用 hh,HH
iOS 以特定分隔符拆分字符串並轉換為鍵值字典
字符串 5?8?519223cef9cee4df999436c5e8f3e96a?EVAL_TIME?60?2013-03-21 按 ? 分割,生成鍵 some
Android 多次 bindService 只有首次生效:Service 生命周期導致
Activity 中多次調用 bindService,但 onBind 只有第一次被調用。 原因 Service 單例模式:首次 bindService 觸發
iOS 兩個子視圖水平居中並緊鄰排列的手動 Frame 計算方法
UILabel 和 UIImageView 需水平居中顯示並緊鄰,中間有固定間距。 計算邏輯 CGFloat space = 10; CGFloat total
BlackBerry 10 上 Toast 被鍵盤遮擋:設置 Gravity 置頂顯示
BB10 設備上鍵盤彈出時 Toast 顯示在鍵盤後方,用戶不可見。 解決方法 Toast t = Toast.makeText(MainActivity.th
iOS 解析巢狀 JSON 後修改數組中首個字典特定鍵值的方法
JSON 解析後的字典結構中,data 鍵對應數組,需修改首個元素字典的 category、title、id。 代碼實現 0) { NSMutable
Objective-C @property(retain) 直接賦值不會 Retain:必須通過 Setter
聲明 @property (retain) NSDate *lastCurrentDate;,直接賦值 lastCurrentDate = [NSDate da
實時公交到站信息 App 開發:數據來源、技術架構與合作模式全解析
核心結論 **個人開發者極難獨立實現**。實時公交數據屬城市公共交通企業核心資產,涉及車輛 GPS、調度系統、站點幾何信息,均無公開開放接口。 必要條件 官方
Android 將 assets 目錄下音頻文件複製到 SD 卡:流式讀寫避免 OOM
核心邏輯 使用 AssetManager.open() 獲取 InputStream,分塊讀取寫入 FileOutputStream,**不可**一次性 rea
Android MediaPlayer 連續播放音頻:用 Service 替代 OnCompletionListener 實現後台無縫播放
痛點 OnCompletionListener 在 Activity 中易受生命周期影響(旋屏、鎖屏、內存回收導致播放中斷),且邏輯分散難維護。 方案:前台 S
Android 解析 JSON 數組:JSONArray 遍歷獲取字段值
數據樣本 [{result:false}] 標準解析代碼 String response = [{\result\:\false\}]; try { J
Android 全局自定義字體:自定義 TextView + 屬性替代逐個 setTypeface
痛點 每個 TextView 手動 setTypeface 代碼冗余、難維護、易漏改。 方案:自定義 TextViewPlus 支持 XML 直接指定字體 1.
Android 開機自啟動 Activity:BroadcastReceiver 接收 BOOT_COMPLETED 後需主動 startActivity
缺失環節 Manifest 正確聲明 RECEIVE_BOOT_COMPLETED 權限與 BOOT_COMPLETED 接收器,但 onReceive 中**
Android WebView 加載本地字體文件:@font-face CSS 正確寫法
問題現象 HTML 中 font-family: MyriadProRegular + src: url(file:///android_asset/Myria
iOS UITableView 滾動到底部/頂部檢測:基於 UIScrollViewDelegate 實現
原理 UITableView 繼承 UIScrollView,其 delegate 遵循 UIScrollViewDelegate,可直接使用 scrollVi
Android Activity 非 ListActivity 無法使用 setListAdapter 的解決方法
MainActivity 繼承 Activity 而非 ListActivity,調用 setListAdapter 報錯 undefined for the
iOS KIF 測試框架:自定義測試執行順序擺脫字母序限制
痛點 KIF 默認按 Scenario 類名字母序執行,導致依賴順序的測試(如登錄→進入首頁→操作)無法按業務流程運行。 解決方案:自定義 TestContro