原创 【輪子介紹】android圖片加載庫:Glide的簡單介紹

什麼是Glide 快速的圖片加載工具,可以解決複雜的網絡狀況,緩存和圖片處理,類似工具有Picasso,Universal Image Loader等 開發者是bumptech,好像被google買了 如何使用Glide

原创 使用Firebase介紹,附帶聊天實現的功能code地址

什麼是Firebase? firebase提供實時數據後端,可以只用JavaScript就能建立動態網站 特點 雲服務,隨時擴展,高性能,無需部署管理自己的服務器,數據庫,大大減少工作量 api簡單,使用起來非常的方便,可大大減

原创 android的token

Token是服務端生成的一串字符串, 以作客戶端進行請求的一個令牌, 當第一次登錄後,服務器生成一個Token便將此Token返回給客戶端,以後客戶端只需帶上這個Token前來請求數據即可,無需再次帶上用戶名和密碼。 用設備號/

原创 使用volley進行post操作

什麼是volley Volley 是一個 HTTP 庫,它能夠幫助 Android app 更方便地執行網絡操作,最重要的是,它更快速高效,支持高併發網絡連接。 使用volley 在manifest中添加android.perm

原创 Java的線程池機制

JDK5開始使用java.lang.Thread,可以不用new也可以新建thread executor這個class有以下3個方法 newSingleThreadExecutor 生成單一進程  new ThreadPoolExe

原创 ORM, ormlite和sqlite

背景知識 ORM 它的英文全稱是Object Relational Mapping,意思是對象關係映射;如果接觸過Java EE開發的,一定知道Java Web開發就有一個類似的數據庫映射框架——Hibernate。簡單來說,就是我們定義

原创 SQL的鎖

一. 爲什麼要引入鎖 1. 併發操作 多個用戶同時對數據庫的併發操作時會帶來以下數據不一致的問題: 2. 丟失更新 A,B兩個用戶讀同一數據並進行修改,其中一個用戶的修改結果破壞了另一個修改的結果,比如訂票系統 3. 髒讀 A用戶修改了

原创 使用apache實現負載平衡

一,看有沒有安裝過mod_proxy之類的東西 [zhangy@BlackGhost ~]$ /usr/local/apache2/bin/httpd -l 如果沒有發現mod_proxy,我們就到apache安裝目錄下的modules

原创 android的動畫

Android中的動畫大致分爲三種:逐幀動畫,視圖動畫,屬性動畫。 1.逐幀動畫 這個動畫效果是最簡單的,也是非常容易實現的,原理就是,在一個ImageView上不斷的切換顯示的圖片(當然也不一定是圖片),來達到動畫的效果,很明顯,這樣的

原创 AsyncTask和Handler的區別

AsyncTask 是android提供的輕量級的異步類,可以直接繼承AsyncTask,在類中實現異步操作,並提供接口反饋當前異步執行的程度(可以通過接口實現UI進度更新),最後反饋執行的結果給UI主線程。 使用的優點: 簡單、快捷

原创 參觀slush asia(創業大會)的筆記

2016年5月13,14日在東京召開了slush Asia 技術發展方向 new interface facebook viv amazon echo on demand manufacturing service /work o

原创 知乎上的48條神回覆,句句都是人生哲理

1、交朋友的標準是什麼? 答:出世的智者,入世的強者,或者正常而陽光的普通人。 2、男性更看重女性的身材、臉蛋,還是思想? 答:臉蛋和身材決定了我是否想去了解她的思想,思想決定了我是否會一票否決掉她的臉蛋和身材。 3、“別讓孩

原创 MongoDB介紹

MongoDB簡介 MongoDB是10gen開發出來的的NoSQL資料庫,而NoSQL是Not Only SQL的縮寫。 MongoDB是用來處理大數據級的資料庫,以文本的方式儲存 Mongo的資料體結構是以Key,Value組合的

原创 Redis和MongoDB的關係

MongoDB 是一個基於文檔的數據庫,所有數據是從磁盤上進行讀寫的。MongoDB善長的是對無模式JSON數據的查詢。 Redis 是一個基於內存的鍵值數據庫 它由C語言實現的,與Nginx/ NodeJS工作原理近似,同樣以單線程異

原创 Activity的view繪製流程

performTraversals 整個View樹的繪圖流程是在ViewRootImpl類的performTraversals()方法開始的 private void performTraversals() { ...