原创 Android 集成 google 登錄並獲取 性別等隱私信息

前言 公司做海外產品的,集成的是 google 賬號登錄,賬號信息、郵箱等這些不涉及隱私的按 google 的正常登錄流程可以輕鬆實現 。但是一旦需要獲取涉及隱私的信息就比較麻煩,文檔也不是十分清晰,非常難找,很多坑。 googl

原创 Java面試題基礎

Android 面試題Java 基礎部分Java基礎(不斷更新)Java 是值傳遞還是引用傳遞?有引用傳遞嗎?值傳遞和引用傳遞形參和實參JVM 內存分配 Java基礎(不斷更新) 大廠非常重視Java基礎 Java 是值傳遞還是引

原创 Sign in with Apple(object-c) 從開發者後臺到服務端驗證

Sign in with Apple前言準備工作開發工作(object-c編寫)基本流程添加依賴庫創建Apple登錄Button向Apple發起請求接收Apple的回調注意:用戶註銷 AppleId 或 停止使用 Apple ID

原创 Git追加本次提交到上次提交

Git 追加提交到上次提交命令Q&A 命令 有時候爲了減少提交日誌,並且添加的內容是與上次的內容屬於同一個提交內容的,爲了好維護,會將本次的提交追加到上次的提交中。使用git 命令如下: git add . (添加提交內容) gi

原创 Gradle自定義打jar包腳本

前言 聚合類型的手遊SDK打包涉及多渠道打包,有需求是將渠道的java代碼,根據不同的需求(規則)生成不同的jar包,而不是全部都放進一個jar包中。所以需要自己寫腳本自定義打jar包。 前提 保證module 是 library

原创 ios如何製作自己的靜態庫及遇到的問題

iOS如何製作自己的靜態庫 前言 之前一直在做的SDK,SDK的項目結構是項目工程下 有工作空間A,A工作空間又SDK靜態庫工程frameworkB,有靜態庫工程Frameworkdemo測試工程。其中使用pod管理需要引用的第三

原创 歸併排序及分治算法

分治算法: 分解:將大規模的複雜問題拆分成可自然而然解決或已解決的小規模問題,小規模問題與大規模問題形式相同 解決:遞歸解決小規模問題的 合併:將各子問題的解合併得到原問題的解。 歸併排序: 將問題一分爲2,使用遞歸進行排序

原创 插入排序、二分法查找、合併有序數組、選擇排序

插入排序 基本概念: 將未排序序列通過向有序序列從後向前掃描,找到合適的位置插入到有序序列裏。 基本步驟: 從第二個元素開始。(第一個元素默認爲是有序序列) 取出下一個元素,在已排序序列中從後向前掃描 該元素大於新元素就往後移動

原创 ios引導商店評分問題

由於項目有需求在應用內引導評分功能,新手記錄開發過程。 iOS引導評分有三種方式: 詳見以下博客地址,這位大佬總結的非常到位:https://blog.csdn.net/jiadabin/article/details/7847392

原创 Flutter的基本介紹--通過Flutter的第一個項目

前言 Flutter從2018年2月底在世界移動大會(MWC)發佈第一個bata版;5月的GoogleI/O大會上發佈 bata3;6月底GMTC宣佈了首個預覽版;9月谷歌開發者大會上發佈預覽版2;12月宣佈發佈正式版1.0版。而且5

原创 Android線程間通信-Handler消息機制

需要handler消息機制的原因 在android中由於UI線程並不是線程安全的,如果有子線程更新UI容易導致數據錯亂,如果UI線程設置爲線程安全的話導致效率低下; 而UI線程做耗時操作容易導致ANR發生。所以需要由子線程做耗時操作

原创 Android四大組件-Service

概念: android 四大組件之一,提供在後臺運行的服務,屬於計算型組件。 特點: 在後臺運行,無用戶界面,生命週期長。 啓動方式 startservice: 不與Activity綁定,啓動之後會無限期的運行下去,除非遇到內存低情況

原创 Android性能優化之內存泄漏記錄

根本原因 應該被回收的對象沒有被回收,一直佔用內存,導致內存泄漏,如果內存泄漏過多,有可能造成內存溢出(OOM)。 內存溢出 當內存泄漏過多時,應用需要的內存超過系統分配的內存限額時會導致內存溢出引發crash。 常見的內存泄漏 1、

原创 Android四大組件-ContentProvider

概念: 內容提供器,Android 四大組件之一。 作用: 可以操作非本應用程序的數據,實現跨進程數據共享。 優點: 可以在保證數據的安全性的情況下實現數據跨進程共享。因爲contentprovider規範了統一的數據訪問接口。 對底

原创 Java設計模式-裝飾者模式

定義: 裝飾者是在不改變對象的情況下動態給對象添加屬性和行爲,將責任動態的附加在對象上。 與繼承有類似功能即擴展功能。 裝飾者模式與繼承的區別: **繼承:**在子類擴展功能的時候是靜態的,並且是已知需要擴展的功能,是在編譯時實現的