原创 Activity技巧三重奏之一:知曉當前是在哪一個活動

說明:本知識點總結自郭霖的《第一行代碼》 背景: 當程序界面衆多時,根據界面就非常不好判斷究竟是哪一個Activity,尤其是在看別人的代碼時,會非常頭痛,下面的解決方案也許會給您一些啓發. 首先,編寫一個BaseAc

原创 1.Activity正常和異常情況下的生命週期分析

一:典型情況下的生命週期分析 1.先上一個非常經典的圖: 不同於其他編程範式(程序從main()方法開始啓動),Android系統根據生命週期的不同階段喚起對應的回調函數來執行代碼。系統存在啓動與銷燬一個activity的一

原创 淺析Android Context

一:什麼是Context?     Context,sdk中的解釋如下:interface to global information about an application environment.This is an abstrac

原创 深入剖析Java中的裝箱和拆箱

  自動裝箱和拆箱問題是Java中一個老生常談的問題了,今天我們就來一些看一下裝箱和拆箱中的若干問題。本文先講述裝箱和拆箱最基本的東西,再來看一下面試筆試中經常遇到的與裝箱、拆箱相關的問題。   以下是本文的目錄大綱:   一.什

原创 淺談JAVA中包裝器類型

1. 爲什麼需要包裝器類型 首先我們先來看一個表格。 以上是java中七種的基本類型以及對應的包裝器對象類型,爲什麼java非要給七種基本類型構造出相應的包裝器類型呢,這裏有個重要的原因: 將基本類型

原创 Activity技巧三重奏之二:隨時隨地的退出程序

說明:該知識點總結自郭霖的《第一行代碼》 背景: 假設有如下場景,一個應用程序中,用戶從Activity A進入了Activity B,又從Activity B進入了Activity C,又從Activity C進入了A

原创 Java中標識接口的作用

原文地址:http://blog.sina.com.cn/s/blog_6f6a95180100q0tv.html 標識接口是沒有任何方法和屬性的接口。標識接口不對實現它的類有任何語義上的要求,它僅僅表明實現它的類屬於一個特定的類型。 標

原创 Android:ApplicationContext遠非Context

一:前言     ApplicationContext和Context完全不是一個東西,關於它們的一些介紹各位小夥伴可以先看我的一篇博文淺析Android Context,今天在寫代碼的時候,突發奇想,驗證了自己的一個想法,又發現了App

原创 一個經典例子讓你徹徹底底理解java回調機制

轉帖請註明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273),請尊重他人的辛勤勞動成果,謝謝 以前不理解什麼叫回調,天天聽人家說加一個回調方法

原创 Activity技巧三重奏之三:啓動活動的最佳寫法

說明:以下知識點總結自郭霖的《第一行代碼》 背景: 有時候你寫的A活動必須跳轉到B活動,而B活動恰恰不是你寫的,並且B活動的啓動必須依賴於你(A)傳遞過來的參數,並且這個參數在你沒有看B的源代碼時你很可能是不知道傳什麼的

原创 Java中各種修飾符與訪問修飾符的說明

    本文轉載自http://blog.csdn.net/darwin_yu/article/details/1702244。     JAVA中的類只能是public 或者package的。這是符合邏輯的:人們定義類的初衷就是爲了讓別

原创 Java中的protected,或許並不是我們想的那樣

一:背景     在查JDK時,偶然發現Object類中的clone()方法是protected的,有點感覺怪怪的,在網上搜索了半天,才豁然開朗,現總結如下。 二:我們以前所認識的“protected”     我們以前認識的protec

原创 JAVA中泛型的本質

以下的內容需要一點點JAVA反射的知識,建議各位小夥伴可以先看一下我的淺析JAVA反射機制(如果實在不想看的話看懂下面的內容應該也不會有大問題,可能會有一點理解困難)。 我們先來看一個程序: AyyayList<String>

原创 Java內部類大解析

一:什麼是內部類?     內部類,就是定義在另外一個類裏面的類。與之對應,包含內部類的類被稱作爲外部類。 二:內部類的作用     內部類主要提供了三種作用:     1.內部類提供了更好的封裝,可以把內部類隱藏在外部類之內,不允許

原创 JAVA動態加載類和靜態加載類

1.JAVA動態加載類和靜態加載類的區別     new創建對象的方式稱作爲靜態加載,而使用Class.forName("XXX")稱作爲動態加載,它們倆本質的區別在於靜態加載的類的源程序在編譯時期加載(必須存在),而動態加載的類在編譯時