原创 模塊化、組件化和插件化的區別

單工程模式 移動開發誕生,我們開發移動項目,我相信大多用的是單工程單任務的開發模式,二話不說,直接就開始寫起,是不是這樣呢? new Project -> 分包 -> 寫起。我相信都經歷過,也寫的比較爽,爲什麼呢? 這種模式不涉及

原创 測量listview的高度

public void setListViewHeightBasedOnChildren(ListView listView) {   // 獲取L

原创 Java面向對象之三大特性

封裝 1、概念:   將類的某些信息隱藏在類的內部,不允許外部程序訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。 2、好處: a.只能通過規定的方法訪問數據 b.隱藏類的實例細節,方便修改和實現 3、封裝的實現步驟 ①

原创 Android四大組件之一Service

Service service用於在後臺完成用戶指定的操作。service分爲兩種: (a)started(啓動):當應用程序組件(如activity)調用startService()方法啓動服務時,服務處於started狀態。

原创 View的Touch事件-隧道/冒泡原理分析

根據以下文章總結 原文出處:https://blog.csdn.net/github_26939093/article/details/51124443 文章推薦:https://blog.csdn.net/morgan_xww/ar

原创 Android 多線程-----AsyncTask詳解

Android 多線程-----AsyncTask詳解 您可以通過點擊 右下角 的按鈕 來對文章內容作出評價, 也可以通過左下方的 關注按鈕 來關注我的博客的最新動態。 如果文章內容對您有幫助, 不要忘記點擊右下角的 推

原创 android數據存儲的五種方式

Android數據存儲五種方式總結 本文介紹Android平臺進行數據存儲的五大方式,分別如下:        1 使用SharedPreferences存儲數據     2 文件存儲數據           3 

原创 Handler內存泄露的解決方法

Android之Handler內存泄漏分析及解決 字數1121 閱讀4738 評論11 喜歡32 一、介紹 首先,請瀏覽下面這段handler代碼: public class SampleActivity extends Act

原创 ThreadPoolExecutor使用介紹

背景: 【強制】 新建線程時,必須通過線程池提供(AsyncTask 或者 ThreadPoolExecutor 或者其他形式自定義的線程池),不允許在應用中自行顯式創建線程。 說明: 使用線程池的好處是減少在創建和銷燬線程上所花

原创 說下TCP/IP UDP協議 及TCP的連接與關閉

名詞定義 IP IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,並把該數據包發送到更高層---TCP或UDP層;相反,IP層也把從TCP或UDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因爲

原创 AndroidStudio導入項目一直卡在Building gradle project info最快速解決方案

AndroidStudio導入項目一直卡在Building gradle project info最快速解決方案 AndroidStudio導入項目一直卡在Building gradle project info,實際上是因爲你導入

原创 HTTP 返回狀態代碼詳解

1xx(臨時響應)表示臨時響應並需要請求者繼續執行操作的狀態代碼。 100(繼續)請求者應當繼續提出請求。 服務器返回此代碼表示已收到請求的第一部分,正在等待其餘部分;101(切換協議)請求者已要求服務器切換協議,服務器已

原创 Android IPC機制分析

《Android開發藝術探討》之 Android IPC 介紹 IPC是 Inter-Proscess Communication的縮寫,含義爲進程間的通訊或者跨進程通訊,是指兩個進程之間進行數據交換的過程。按操作系統的中的描述,線程是C

原创 String、StringBuffer、StringBuilder的區別

  提高你的Java代碼質量吧:你能正確使用String、StringBuffer、StringBuilder嗎 標籤: JavaStringStringBufferStringBuilder  分類: Java提高(37

原创 多個fragment切換,而不重新加載數據的實現

多個fragment切換,而不重新加載數據的實現1、在xml中添加一個framlayout<FrameLayout android:id="@+id/framelayout" android:layout