原创 帶你入門Android中的SQLite

SQLite的基本介紹 SQLite是一款輕型的數據庫,是遵守ACID的關聯式數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠

原创 LeetCode:438. Find All Anagrams in a String

最近又開始刷LeetCode了,很多之前做過的題目這次很快地做出來了。但是,今天遇到了Find All Anagrams in a String這題,又琢磨了好久,可能是沒理解題目的精髓所在。 problem Given a st

原创 Fragment全面解析

生命週期 圖1: 圖2: Fragment必須是依存於Activity而存在的,因此Activity的生命週期會直接影響到Fragment的生命週期,並且Fragment的生命週期和Activity的生命週期很相似。 onAt

原创 通過CMake在AndroidStudio項目中引入JNI編程

早期的Android工程(Eclipse時代)以及Gradle2.2之前,Android只能通過ndk-build命令結合.mk文件來編譯本地庫。 從Gradle2.2開始,我們可以使用CMake方式來引入JNI編程,下面就開始介

原创 Android內存泄漏及分析

內存泄漏的定義 大家都知道,Java是有垃圾回收機制的,這使得Java程序員比C++程序員輕鬆了許多,存儲申請了,不用心心念念要加一句釋放,Java虛擬機會派出一些回收線程兢兢業業不定時地回收那些不再被需要的內存空間(注意回收的不

原创 LeetCode:405. Convert a Number to Hexadecimal

Description Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s compleme

原创 全面理解Android中的Px,DPI,DIP,Density,Sp等概念

Px Pixel,像素。不同設備顯示效果相同,這裏的“相同”是指像素數不會變,比如指定UI長度是100px,那不管分辨率是多少UI長度都是100px。也正是因爲如此才造成了UI在小分辨率設備上被放大而失真,在大分辨率上被縮小。 S

原创 ViewPager中Fragment的生命週期

切換ViewPager時Fragment的生命週期變化 這裏有一個MainActivity,MainActivity中有一個ViewPager,使用的適配器是FragmentPagerAdapter,ViewPager中有三個Fr

原创 Java transient關鍵字使用小記

哎,雖然自己最熟的是Java,但很多Java基礎知識都不知道,比如transient關鍵字以前都沒用到過,所以不知道它的作用是什麼,今天做筆試題時發現有一題是關於這個的,於是花個時間整理下transient關鍵字的使用,漲下姿勢~

原创 Android四大組件之ContentProvider總結

ContentProvider ContentProvider,顧名思義,內容提供者,爲存儲和獲取數據提供統一的接口,可以在不同的應用程序之間共享數據。 ContentProvider爲應用間的數據交互提供了一個安全的環境。它准許

原创 String,StringBuffer和StringBuilder

類的繼承關係 String、StringBuffer、StringBuilder 都實現了 CharSequence 接口。下面是類關係圖: 數據結構 它們內部都是用一個char類型的數組實現,雖然它們都與字符串相關,但是其處理

原创 Java修飾符

Java語言提供了很多修飾符,主要分爲以下兩類: 訪問修飾符 非訪問修飾符 修飾符用來定義類、方法或者變量,通常放在語句的最前端。 訪問修飾符 類 名稱 說明 備註 public 可以被所有類訪問(使用) publ

原创 Android屏幕適配總結

Px,DPI,DIP,Density,Sp等概念 Px Pixel,像素。不同設備顯示效果相同,這裏的“相同”是指像素數不會變,比如指定UI長度是100px,那不管分辨率是多少UI長度都是100px。也正是因爲如此才造成了UI在小

原创 Android UI 優化工具--Hierarchy Viewer

什麼是HierarchyViewer Hierarchy Viewer是隨Android SDK發佈的工具,位置在SDK目錄下的tools文件夾下,名爲hierarchyviewer.bat。它是Android自帶的非常有用而且使

原创 Android JNI編程入門

JNI概述 JNI的全稱是Java Native Interface,它提供了若干的API實現了Java和其他語言的通信(主要是C&C++)。 使用Java與本地已編譯的代碼交互,通常會喪失平臺可移植性。但是,有些情況下這樣做是可