Android 開發,不可避免的會用到網路技術,而多數情況下,我們都是使用 HTTP 協議來發送和接收網路資料。Android 系統主要提供兩種方式來進行 HTTP 通訊,HttpURLConnection 和 HttpClient,但是從 Android 2.3 及以後版本中,Google 推薦使用 HttpURLConnection,究其原因,就是由於 HttpClient 的 API 數量過多,使得我們很難在不破壞相容性的情況下對它進行升級和擴充,所以目前 Android
在Android中我們要如何擷取ListView選中項的值呢?我們舉個例子,假如我們已經獲得了手機中儲存的連絡人姓名和電話號碼,並把它們顯示在了一個Android ListView中,現在要實現的功能是當點擊選中項時直接撥號,那麼如何取得此時Android ListView中的號碼?要顯示連絡人姓名和電話號碼,那你現在肯定已經在listview
概覽http是現在主流應用使用的網路請求方式, 用來交換資料和內容, 有效使用HTTP可以使你的APP 變的更快和減少流量的使用OkHttp 是一個很棒HTTP用戶端(GitHub首頁:https://github.com/square/okhttp): 支援SPDY, 可以合并多個到同一個主機的請求 使用串連池技術減少請求的延遲(如果SPDY是可用的話) 使用GZIP壓縮減少傳輸的資料量 緩衝響應避免重複的網路請求當你的網路出現擁擠的時候,就是OKHttp 大顯身手的時候,
Android中實現全屏、無標題列的兩種辦法,另附Android系統內建樣式的解釋實現全屏無標題列:1.在xml檔案中進行配置 AndroidManifest.xml中,找到需要全屏或設定成無標題列的Activity,在該Activity進行如下配置即可。 實現全屏效果: android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 實現無標題列(但有系統內建的工作列):
我們要實現:當EditText的Text改變時,我們希望得到通知,但是可惜的是Android並沒有這個監聽器,也就無從得知變化了,但我們可以使用TextWatcher類可以協助我們來實現這個功能。現有一個id = edit的EditText。1、定義一個TextWatcher的執行個體。private TextWatcher watcher = new TextWatcher(){ @Override public void afterTextChanged(Editable s) { //
在Android的設計中,資源的訪問或者網路連接,要得到這些服務都需要聲明其存取權限,否則將無法正常工作。在Android中這樣的許可權有很多種,這裡將各類存取權限一一羅列出來,供大家使用時參考之用。 1.android.permission.WRITE_USER_DICTIONARY允許應用程式向使用者字典中寫入新詞 2.android.permission.WRITE_SYNC_SETTINGS寫入Google線上同步設定 3.android.permissio
示波器是在大學的時候老師教的,但是出來工作一直沒有用到過,漸漸的也就忘記了,現在重新學習一下。來看看效果圖:這裡是一個自訂的柱狀圖,然後有一個按鈕,點擊按鈕的時候,這裡柱子會不停的運動,類似於音樂播放器裡示波器的跳動。跟前面幾個自訂view的方式類似,重寫了onSizeChange()方法和onDraw()方法 先列一下我們要用到的變數: /**畫筆*/ private Paint mPaint; /**控制項的寬度*/ private float mWidth; /**單個柱子的寬度*/
一直都在看自訂View,經過一個星期的堅持,基本上能夠寫出一些比較實用的控制項效果了,今天天氣太熱,就待在家裡玩手機,然後手機沒電了,在充電的時候,看到了手機的充電動畫,覺得挺酷,然後自己我就仔細的分析了一下這裡的動畫內容,就覺得,這個我也能寫出來,所以就有了這篇部落格。純屬原創。先看看效果,因為圖片的原因,只能看到靜態。這個就是效果圖了。當然了,這麼看好像不怎麼樣,但是配上了動畫,還是挺好看的。自訂控制項的話,其實做的多了,運用的多了,就會覺得自訂View,跟在Photo shop
這個是一個以弧線為依託的進度控制項,主要包括了兩個圓弧、一個圓、一個文本。 當我們點擊開始按鈕的時候,會出現一個動畫,逐漸的出現進度,好了,下面開始我們的編碼。建立一個類,繼承自View,實現三個構造方法,接著定義變數,初始設定變數的資料。代碼如下:private Paint mArcPaint, mCirclePaint, mTextPaint, mPaint; private float length; private float mRadius; private float
最近一直都在看自訂View這一塊。差不多一個星期了吧。這個星期堅持每天更新部落格,感覺自己的技術也有點突破,對自訂View的計算也有了更深的認識。今天看到手機一個成長天數進度的控制項,覺得挺有意思的,於是想自己也寫一個。效果如下:由圖可以知道,這裡面有很多個元素,首先是背景的矩形地區,其次就是兩個環形,然後三個Text文本。其實不複雜,我們一點一點的去實現。首先呢,畫矩形背景。這裡用到一個RectF的類,這個類包含一個矩形的四個單精確度浮點座標。矩形通過上下左右4個邊的座標來表示一個矩形。這些座
應用的一個共同的特點就是當使用者歡動時自動載入更多的內容,這是通過使用者滑動觸發一定的閾值時發送資料請求實現的。 相同的是:資訊實現滑動的效果需要定義在列表中最後一個可見項,和某些類型的閾值以便於開始在最後一項到達之前開始抓取資料,實現無限的滾動。 實現無限滾動的現象的重要之處就在於在使用者滑動到最低端之前就行資料的擷取,所以需要加上一個閾值來協助實現擷取資料的預期。使用ListView和GridView實現每個AdapterView 例如ListView 和GridView
二維碼其實有很多種,但是我們常見的微信使用的是一種叫做QRCode的二維碼,像下面這樣的,可以放心的掃,這隻是我的部落客頁連結啦: 關於QR碼編碼的二維碼,我們要知道幾個特點: 1. 掃描時可以從各個角度去掃,也就是旋轉多少度都沒關係,不信嗎?下次去肯德基買單試試咯。 2.
背景:新年之際,微信微博支付寶紅包是到處飛,但是,自己的手速總是比別人慢一點最後導致紅包沒搶到,紅包助手就應運而生。需求:收到紅包的時候進行提醒,然後跳轉到紅包的介面方便使用者。思路:擷取“讀取通知資訊”許可權,然後開啟服務監控系統通知,判斷如果是微信紅包就進行提醒(聲音),然後跳轉到紅包所在的地方。 介面:介面分為兩部分,一部分是可以對App進行操作的,下面是一個可以滑動的介面,提示使用者如何是軟體正常工作,布局代碼如下:<?xml version="1.0"
在Android中,在非主線程中更新UI控制項是不安全的,app在運行時會直接Crash,所以當我們需要在非主線程中更新UI控制項,那麼就需要用到Handler和Message來實現Demo中,使用到一個按鈕和一個TextView,點擊按鈕之後改變TextView的內容,按鈕點擊時候建立一個進程,在進程中對UI控制項進行修改。public class MainActivity extends Activity implements OnClickListener { private
GridView是類似於ListView的控制項,只是GridView可以使用多個列來呈現內容,而ListView是以行為單位,所以用法上是差不多的。主布局檔案,因為要做下拉重新整理,所以加了一個ProgressBar,GridView的numColumns屬性是指每一行有多少列 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
一、通過Java代碼在setContentView之前執行:requestWindowFeature(Window.FEATURE_NO_TITLE);//隱藏標題列getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);//隱藏狀態列二、調用Android內建的Theme直接在AndroidManifest.xml中需要全螢幕顯示的Ac
本篇是接著上面三篇之後的一個對RecyclerView的介紹,這裡多說兩句,如果你還在使用ListView的話,可以放棄掉ListView了。RecyclerView自動幫我們緩衝Item視圖(ViewHolder),允許我們自訂各種動作的動畫和分割線,允許我們對Item進行一些手勢操作。另外,因為Design庫的推出大大方便我們編寫帶有Material風格的App,而ListView是不相容這個庫的,比如滑動的相互協調,只有RecyclerView能做到。先看本篇內容的效果圖: 效果
本文以案例形式分析了Android中TelephonyManager類的用法。分享給大家供大家參考。具體如下:目錄結構:main.xml布局檔案:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_
本文執行個體講述了Android中TelephonyManager類的方法。分享給大家供大家參考。具體如下:TelephonyManager類主要提供了一系列用於訪問與手機通訊相關的狀態和資訊的get方法。其中包括手機SIM的狀態和資訊、電信網路的狀態及手機使用者的資訊。在應用程式中可以使用這些get方法擷取相關資料。TelephonyManager類的對象可以通過Context.getSystemService(Context.TELEPHONY_SERVICE)方法來獲得,需要注意的是有些通