原创 設計模式學習-3 代理模式,裝飾模式

代理模式: 由於某些原因需要給某對象提供一個代理以控制對該對象的訪問。這時,訪問對象不適合或者不能直接引用目標對象,代理對象作爲訪問對象和目標對象之間的中介。 (可以在那個類方法的前後加方法) 代理模式的主要角色如下: 抽象主題

原创 設計模式學習-1 七種設計原則

開閉原則: 對擴展開放,對修改關閉。 當應用的需求改變時,在不修改軟件實體的源代碼或者二進制代碼的前提下,可以擴展模塊的功能,使其滿足新的需求。 里氏替換原則: 子類可以擴展父類的功能,但不能改變父類原有的功能。 依賴倒置原則:

原创 Three.js更換版本後模型消失

1、camera.lookAt(0,0,0); 2、renderer[type].setClearColor(0x212121, 1.0); //原來是new THREE.Color(0x0x212121, 1.0)

原创 Android Error : Execution failed for task ':app:processDebugManifest'.

今天導入別人的項目時遇到了這個問題。 1、打開Termianl ,輸入命令 gradlew compileDebug --stacktrace這個之後,會顯示一些具體出錯的信息。 2、我遇到的錯誤信息是 Error occurre

原创 android學習-11 oom產生的原因及解決方案(handler的內存泄漏問題)

oom:https://www.jianshu.com/p/b0451684b4d5 靜態變量生命週期:https://blog.csdn.net/ctcwri/article/details/8858414 單例模式的內存泄漏問

原创 android學習-10 單例模式

單例模式分爲大致兩種,餓漢模式和懶漢模式。 一、餓漢模式 系統一運行就創建對象,不考慮太多的問題,所以可能會被創建多次,存在多個對象。但是明顯會有浪費內存。線程安全 public class Singleton{ //類加

原创 AR嘗試(1)---js調用攝像頭爲底

最近在做一個用網頁端的人體姿態識別的demo,遇到一些坑,記錄一下。 首先遇到的問題是用js調用攝像頭爲底。這裏我參考了EASY-AR的demo 分爲2個文件 main.js 和 ClassAR.js main.js: funct

原创 設計模式學習-5 工廠模式

普通工廠模式: 抽象工廠(Abstract Factory):提供了創建產品的接口,調用者通過它訪問具體工廠的工廠方法 newProduct() 來創建產品。 具體工廠(ConcreteFactory):主要是實現抽象工廠中的抽

原创 JS 將 中國標準時間 轉化成 yyyy-mm-dd

中國標準時間:Sat Dec 21 2019 18:03:39 GMT+0800 (中國標準時間) 一開始的方法是 var date = new Date(timestamp); var Y = date.getFullYear(

原创 JAVA學習-2 多線程的三種實現方式

package duoxiancheng; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import

原创 android-12 okhttp面試

一句話概括: OKHttp3通過攔截鏈的設計,讓請求分成5個攔截器去處理,攔截器各司其職,擴展性非常高。攔截鏈是從自定義的攔截器開始,然後再到默認的5個攔截器。一般情況下我們想打印網絡請求日誌,所以可以自定義Log攔截器,如果要

原创 https原理解析

最近公司分享會講了這塊的內容,於是就學習了一下。 在客戶端和服務器中作怪的中間人無非做三件事: 竊聽、假冒、篡改 https的出現就是爲了防止中間人作怪的。 這裏要引入兩個概念: 對稱加密: 對稱加密又叫做私鑰加密,即信息的發送

原创 【flutter】封裝自定義單選框

flutter裏有自帶的radioListTile,但是需求對ui對要求不一樣,導致只能直接封裝一個。 大概是這樣的效果,爲了避免不必要的麻煩,我把文字隱藏了。 我的json是以下格式的 List list =[ {

原创 list查詢object某屬性值是否等於某參數

一開始想用contains方法,需要重新equals,太麻煩 另闢蹊徑用firstwhere 示例代碼: Object a = list.firstwhere((e)=>e.phone == phone,orElse:()=>nu

原创 【flutter】動態控制按鈕是否可點擊

需求是:在添加信息之前先判斷textfiled裏面有沒有輸入信息,否則按鈕就變灰且不能點擊。 監聽:textfiled裏面設置onchange屬性,並setstate進行刷新 TextField(