原创 java中“==”、equals和hashCode的區別

1.“==”運算符是用來比較兩個變量的值是否相等。也就是比較變量對應的內存中所存儲的數值是否相同,要比較兩個基本類型的數據或兩個引用類型變量是否相等只能使用“”來比較。 如果變量是基本數據類型,那麼可直接用“”比較。 例: Str

原创 String和StringBuffer的區別

簡單講就是一個是常量,一個是變量。 String是不可變類,String對象一旦創建,其值就不能被改變,重新賦值其實是兩個對象。 比如說: String str = “aaaa”; 相當於str是一個常量, 當對str進行操作

原创 如何分清JSON解析什麼時候該用JSONObject,什麼時候該用JSONArray。

前一段時間學習Android解析JSON數據,發現不知道什麼時候該用JSONObject,什麼時候該用JSONArray。所以通過上網查詢了資料,然後整理寫下這篇博客。 JSONObject: 可以看作是一個json對象,其包含一

原创 手把手教你搭建Android項目組件化架構

文章目錄1.概述2.基礎配置3.設置Module 1.概述 項目地址:ComponentizationDemo 組件化:將app按照業務、功能、等進行劃分一個個Module,然後在具體的Module中可以用MVC、MVP、MVVM

原创 關於Java垃圾回收機制

文章目錄1.概述2.判斷對象是否存活的方法2.1.引用計數法2.2.可達性分析算法2.3.什麼樣的對象纔是真正死亡3.垃圾回收算法3.1.標記-清除(Mark-Sweep)算法3.2.複製(Copying)算法3.3.標記-整理(

原创 如何利用無UI的Fragment實現動態權限申請

文章目錄1.關於危險權限2.權限申請2.1. ContextCompat.checkSelfPermission()2.2. shouldShowRequestPermissionRationale()2.3. requestPe

原创 一款可以一鍵SmallestWidth適配的插件

目錄一、什麼是SmallestWidth適配二、怎麼計算SmallestWidth的值三、怎麼確定dimens.xml文件內的值四、一鍵生成`values-swdp`文件夾插件 一、什麼是SmallestWidth適配 Smalles

原创 View的事件分發機制

學習《Android開發藝術探索》-View事件分發機制總結 點擊事件的分發過程由三個很重要的方法來共同完成:dispatchTouchEvent、onInterceptTouchEven和onTouchEvent; * ViewGrou

原创 Android開發之實現百度地圖定位功能

之前寫了一篇高德地圖定位的,現在寫一篇百度的。 關於百度開放平臺的註冊、SDK的下載和申請APK就不說了,和高德的差不多。那就進入正題,看看如何使用百度地圖SDK實現定位功能吧。 1. 配置環境 導入需要的jar包和so庫文件 百度

原创 Activity四種啓動模式詳解

最近在學習《Android開發藝術探索》,所以對所學習到的知識做個總結,就算是做筆記吧。 Activity的啓動模式目前有四種,分別是standard、singleTop、singleTask和singleInstance。 怎麼給Ac

原创 android調用系統照相機拍照,並壓縮保存在本地

1.首先拍照和保存文件肯定就需要申請權限 <!-- 往SDCard寫入數據權限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_ST

原创 如何使用百度天氣預報API接口

前些天知道了如何獲取數字簽名SHA1,那它用來幹嘛的呢?今天就來學習一下它的用處。 比如說我們要開發一款基於位置的服務,如地圖、天氣預報等。我們要用到API Key。 百度API Key申請地址:http://lbsyun.baidu.

原创 Android開發實現高德地圖定位詳解

一、 要實現高德地圖定位呢,首先需要做好以下幾步準備: 1. 在高德開放平臺註冊帳號 註冊地址:http://lbs.amap.com 2. 在開發中下載Android平臺下的地圖SDK和定位SDK文件 進

原创 Android中的序列化Serializable和Parcelable

一簡介 二Serializable接口 三Parcelable接口 一、簡介 IPC是Inter-Process Communication的縮寫,含義爲進程間通信或跨進程通信,是指兩個進程之間進行數據交換的過程;

原创 BAT大廠面試題

答案只寫了Java基礎的部分,有空會接着寫。答案並不是標準答案,有錯的地方還請指正 面試題目來中鴻洋大神的微信公衆號分享:BAT大廠面試題 (一)java面試題 (1)java基礎面試知識點 (2) java深入源碼級的面試題(有難度