Time of Update: 2018-12-03
Android應用可以安裝在本機內建儲存,同時也可以安裝到外部儲存(SD卡)。自從API 8後也就是Android2.2後,我們能使APK安裝到外部儲存上。這是一個可選的特性,在工程的manifest檔案中可以進行配置:<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" ... >
Time of Update: 2018-12-03
在iOS開發中有大名鼎鼎的ASIHttpRequest庫,用來處理網路請求操作,今天要介紹的是一個在Android上同樣強大的網路請求庫android-async-http,目前非常火的應用Instagram和Pinterest的Android版就是用的這個網路請求庫。這個網路請求庫是基於Apache
Time of Update: 2018-12-03
加上這篇介紹Android廣播的,我的BLOG中就對Android中四大組件Activity、BroadcastReceiver、ContentProvider、Service都做了介紹,感興趣的同學可以翻閱我之前的部落格對這些內容進行瞭解。今天主要介紹Android中廣播(BroadcastReceiver)的基本使用,同時附上一個Demo,Demo覆蓋除了ContentProvider之外其他三個組件的綜合使用情境。在這篇文章中,你可以瞭解到:1.廣播是什麼、幹嘛用的、如何用;2.如何結合S
Time of Update: 2018-12-03
開發Android的朋友都知道,真機調試需要把手機與PC相連,然後把應用部署到真機上進行安裝和調試。長長的USB線顯得很麻煩,而且如果需要USB介面與其他裝置串連的話顯得很不方便。今天介紹一種不通過USB線就可以進行真機調試的方法。首先讓手機與電腦處於同一區域網路下,然後下載一款名為adbWireless的應用(到Google Play商店可以搜尋到),下載安裝後運行軟體,會顯示手機在當前區域網路的IP地址和連接埠(前提是手機需要ROOT),然後可以看到手機出現了IP地址和連接埠號碼。
Time of Update: 2018-12-03
接著上篇Android Content Providers(二)——Contacts
Time of Update: 2018-12-03
接上篇Android內容提供者——Content Providers(一)Contacts Provider是Android中一個強大並且靈活的組件,負責管理系統通訊錄的資料,對外提供提供者來對系統通訊錄進行訪問和操作。以下是Contacts Provider的組織圖:可以看出Android的系統通訊錄是三層架構,通過URI進行訪問。下面看一下每一層的類結構和官方解釋:ContactsContract.Contacts tableRows representing different
Time of Update: 2018-12-03
Content Providers是Android四大組件之一,扮演者非常重要的角色,看下官方文檔對它的解釋:Content providers manage access to a structured set of data. They encapsulate the data, and provide mechanisms for defining data security. Content providers are the standard interface that
Time of Update: 2018-12-03
今年的Google全球開發人員大會雖然沒有新的Android系統和裝置,但是還是推出了一些不錯的產品,Android Studio就是其中之一。這個基於Intellij IDEA開發的Android IDE讓很多人眼前一亮,其即時編寫布局檔案即時預覽並適配多屏的功能可以說讓苦於介面布局開發的人看到了希望。代碼自動提示、運行響應速度、都比Eclipse來的要好。但這次推出的版本畢竟是預覽版,所以改進的控制項還有很大,大家也不要吐槽不好或難用,有空間,所以才有進步。Google也是將版本號碼置為0.
Time of Update: 2018-12-03
以下是本次Google I/O大會發布的IDE Android Studio使用教程第二篇:在 Android Studio使用教程(一)中簡要介紹了Android Studio的基本使用,包括安裝、建立工程、工程結構以及主題設定。今天接著講第二篇,主要包括如下內容:從Eclipse匯入工程到Android StudioEclipse工程與Android Studio的區別真機運行以及常用快速鍵需要重申一下,我所有的操作與版本是基於Mac系統,在Windows上的同學基本類似(作為一個技術人員,
Time of Update: 2018-12-03
將近一個月沒有更新部落格了,由於這段時間以來準備畢業論文等各種事務纏身,一直沒有時間和精力沉下來繼續學習和整理一些東西。最近剛剛恢複到正軌,正好這兩天看了下Android上關於圖片非同步載入的開源項目,就順便整理記錄下來,作為這一個多月來部落格的重新開火做飯吧。從今天起我會陸續恢複部落格的更新,也希望大家繼續支援。今天要介紹的是Github上一個使用非常廣泛的圖片非同步載入庫Android-Universal-Image-Loader,該項目的功能十分強大,可以說是我見過的目前功能最全、效能最優
Time of Update: 2018-12-03
在訊息的擷取上是選擇輪詢還是推送得根據實際的業務需要來技術選型,例如對訊息即時性比較高的需求,比如微博新通知或新聞等那就最好是用推送了。但如果只是一般的訊息檢測比如更新檢查,可能是半個小時或一個小時一次,那用輪詢也是一個不錯的選擇,因為不需要額外搭建推送伺服器,不用額外配置推送服務。另外推送現在一般以維持長串連的方式實現,在手機用戶端也會耗費一定的電量。今天就介紹一個在Android上實現輪詢機制的方法——使用AlarmManagerAlarmManager在Android中主要用來定時處理一個
Time of Update: 2018-12-03
在Android應用開發中,偶爾會因為某些異常導致正在使用的應用出現異常並強制關閉,這樣導致不友好的使用者體驗。為瞭解決這個問題,我們需要捕獲出現的異常並做處理。在Java中有兩類異常,分別是Error和RuntimeException,前者是不需要我們去處理的,我們處理的往往是後者。那麼如何捕獲線程在運行時的異常呢,我們可以使用自訂類實現Thread.UncaughtExceptionHandler介面並複寫uncaughtException(Thread thread, Throwable
Time of Update: 2018-12-03
原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6723185記得我第一次接觸Android的時候,覺得Android好難用啊。其實,一個習慣的改變本身就是難事。當時我用的是windows mobile
Time of Update: 2018-12-03
原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6722784 這是我自己提煉的一句簡單說法:在非UI主控線程中,不得修改UI的顯示。 主要的意思,就是在UI主控線程中,我們的代碼可以隨意改變UI各個對象的顯示效果,包括文字、是否可見、大小等等屬性。 什麼是主控線程? 這麼簡單的說吧,進入onCreate、onResume等系統調用的函數的時候,這個時候就是主控線程。
Time of Update: 2018-12-03
原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6833067不良代碼:int[] iArray = {12,122,123,124,1,};//對iArray排序int iMin = 999999;int indexMin = 0;int iTmp = 0;for(int i = 0;i < iArray.length;i++) {//找到最小的for(int j = i; j <
Time of Update: 2018-12-03
原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6735750實驗二我們再回顧一下實驗一的結論:相同的dip,在不同解析度的螢幕上,在螢幕的相對寬度是一樣的。所謂相對寬度,可以理解為是控制項佔有螢幕的百分比。desity :160 = px : dip但是,我們仔細盤算一下這個公式,變換一下:desity / 160 =px / dip => desity / px = 160 /
Time of Update: 2018-12-03
如何讓虛擬機器和真機顯示的一樣原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6734547之前我們得出結論:相同的dip,在不同解析度的螢幕上,在螢幕的相對寬度是一樣的。所謂相對寬度,可以理解為是控制項佔有螢幕的百分比。在density = 160的時候,1dip =1px我們可以得到這麼一個公式:desity :160 = px :
Time of Update: 2018-12-03
如何讓虛擬機器和真機顯示的一樣原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6734341基本概念1. px(pixels):像素是繪圖的基本元素。我們說的螢幕解析度,就是指像素。如果手機的解析度是480*800,那麼手機寬有480個像素,長有800個像素。這個像素是固定的。如果畫一條直線,以像素為單位從0,0到240,400,那麼就是一條從左上方到螢幕中間的一條直線。 2. dpi(Dots Per
Time of Update: 2018-12-03
原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6702312線性布局。這個布局簡單的說,就是所有控制項都依次排序,誰也不會覆蓋誰。線性布局需要定義一個方向,橫向(android:orientation="horizontal")或縱向(android:orientation="vertical")。也就是說,控制項要麼就並排橫向的排列,要麼就縱向的筆直排列。橫向排列的如下:layoutpic008 筆直排列的如下:la
Time of Update: 2018-12-03
原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6702273 FrameLayout是最簡單的布局了。所有放在布局裡的控制項,都按照層次堆疊在螢幕的左上方。後加進來的控制項覆蓋前面的控制項。在FrameLayout布局裡,定義任何空間的位置相關的屬性都毫無意義。控制項自動的堆放在左上方,根本不聽你的控制。看以下的例子: <?xml version="1.0"