Time of Update: 2017-01-18
在xml布局檔案中,我們既可以設定px,也可以設定dp(或者dip)。一般情況下,我們都會選擇使用dp,這樣可以保證不同螢幕解析度的機器上布局一致。但是在代碼中,如何處理呢?很多控制項的方法中都只提供了設定px的方法,例如setPadding,並沒有提供設定dp的方法。這個時候,如果需要設定dp的話,就要將dp轉換成px了。以下是一個應用類,方便進行px和dp之間的轉換。複製代碼 代碼如下:import android.content.Context; public class
Time of Update: 2017-01-18
要不怎麼說Android特別開放呢,在Android開發中,只要發送一個廣播,就可以實現這種需求了。廢話不多說,以下是封裝好的一段代碼。複製代碼 代碼如下:public class ShortcutUtil { public static void createShortCut(Activity act, int iconResId,
Time of Update: 2017-01-18
很簡單,所以直接看代碼複製代碼 代碼如下:package xxx; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo;
Time of Update: 2017-01-18
通常我們寫程式,都是在專案計劃的壓力下完成的,此時完成的代碼可以完成具體商務邏輯,但是效能不一定是最佳化的。一般來說,優秀的程式員在寫完代碼之後都會不斷的對代碼進行重構。重構的好處有很多,其中一點,就是對代碼進行最佳化,提高軟體的效能。下面我們就從幾個方面來瞭解Android開發過程中的代碼最佳化。1)靜態變數引起記憶體泄露在代碼最佳化的過程中,我們需要對代碼中的靜態變數特別留意。靜態變數是類相關的變數,它的生命週期是從這個類被聲明,到這個類徹底被記憶體回收行程回收才會被銷毀。所以,一般情況下,
Time of Update: 2017-01-19
本文執行個體為大家分享了Android打電話功能的實現代碼,需要一個文本輸入框輸入號碼,需要一個按鈕打電話。本質:點擊按鈕,調用系統打電話功能。xml布局檔案代碼::<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
Time of Update: 2017-01-19
Chronometer是一個簡單的定時器,你可以給它一個開始時間,並以此定時,或者如果你不給它一個開始時間,它將會使用你的時間通話開始。預設情況下它會顯示在當前定時器的值的形式“分:秒”或“H:MM:SS的”,或者可以使用的Set(字串)格式的定時器值到一個任一字元串1.重要屬性android:format:定義時間的格式如:hh:mm:ss2.重要方法setBase(long base):設定倒計時定時器setFormat(String
Time of Update: 2017-01-19
Android
Time of Update: 2017-01-19
先看看電影票線上選座功能實現的效果圖: 介面比較粗糙,主要看原理。這個介面主要包括以下幾部分 1、座位 2、左邊的排數 3、左上方的縮圖 4、縮圖中的紅色地區 5、手指移動時跟隨移動 6、兩個手指縮放時跟隨縮放主要技術點 1、矩陣Matrix 2、GestureDetector與ScaleGestureDetector 3、Bitmap的一下基本用法
Time of Update: 2017-01-19
本文為大家分享了Android bitmap使用細節,供大家參考,具體內容如下1、電腦表示圖形的幾種方式1)BMP :幾乎不進行壓縮 佔用空間比較大 2)JPG : 在BMP的基礎上對相鄰的像素進行壓縮,佔用空間比BMP小 3)PNG : 在JPG的基礎上進一步壓縮 佔用空間比較小這是對三種格式進行一個簡單的介紹,知道是怎麼回事就行,在Android中一般都用png格式的圖片,因為他佔用空間小2、圖形的大小圖形的大小 = 圖片的總像素*每個像素的大小 圖片總像素 = 圖片的長*圖片的高
Time of Update: 2017-01-19
有時候我們儲存檔案總會用到檔案瀏覽器功能.那麼今天博主帶大家做一個。那麼開始,瀏覽檔案,我們就需要寫一個檔案工具類。import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.util.Log; public class FileUtils { /** *
Time of Update: 2017-01-19
我們經常會看到有一些app的banner介面可以實現迴圈播放多個廣告圖片和手動滑動迴圈的效果。看到那樣的效果,相信大家都會想到ViewPager,但是ViewPager並不支援迴圈翻頁,所以要實現迴圈還得需要自己去動手。最後還有一個問題就是翻頁到最後一頁如何平滑過渡到首頁的問題。這些都源於有人私信問我ViewPager廣告條如何平滑過渡的問題,出於這個問題,我想著親自實現並分享下吧,本篇就是為瞭解決這些問題而寫的。1.初始化布局我們先來寫一個ViewPager廣告條的布局:<Relativ
Time of Update: 2017-01-19
通常我們在Android應用中執行某個命令時會使用“Runtime.getRuntime().exec("命令路徑")”這種方式,但是當我們執行抓包操作時,使用這條命令無論如何都不行,通過下面代碼列印結果發現,該命令一定要在root許可權下才能執行。BufferedReader brW = new BufferedReader(new InputStreamReader(p.getErrorStream()));while((str = brW.readLine()) !=
Time of Update: 2017-01-19
在Android應用中,圖片裁剪也是一個經常用到的功能。Android系統中可以用隱式意圖調用系統應用進行裁剪,但是這樣做在不同的手機可能表現出不同的效果,甚至在某些奇葩手機上還會出其他更奇怪的問題,所以調用系統功能進行圖片裁剪在很多時候對我們來說並不是一個好的選擇。這時候就需要我們自己去實現這種裁剪功能了。功能分析要完成圖片裁剪的功能,我們需要Crowdsourced Security
Time of Update: 2017-01-19
實現“搖一搖”功能,其實很簡單,就是檢測手機的重力感應,具體實現代碼如下:1、在 AndroidManifest.xml 中添加操作許可權2、實現代碼 package com.xs.test; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import
Time of Update: 2017-01-19
Android開發中有時需要在應用中或進程間傳遞對象,下面詳細介紹Intent使用Bundle傳遞對象的方法。被傳遞的對象需要先實現序列化,而序列化對象有兩種方式:java.io.Serializable和android.os.ParcelableJava中使用的是Serializable,而Google在Android使用了自訂的Parcelable。兩種序列化方式的區別:1.在使用記憶體的時候,Parcelable比Serializable效能高,推薦使用Parcelable類;2.Seri
Time of Update: 2017-01-19
關於實現網易新聞用戶端的介面,以前寫過很多部落格,請參考:Android實現網易新聞用戶端效果Android實現網易新聞用戶端側滑菜單(一)Android實現網易新聞用戶端側滑菜單(二)今天用ViewPager + FragmentAdapter +
Time of Update: 2017-01-19
現在網路直播越來越火,網路主播也逐漸成為一種新興職業,對於網路直播,彈幕功能是必須要有的,如下圖:首先來分析一下,這個彈幕功能是怎麼實現的,首先在最下面肯定是一個遊戲介面View,然後遊戲介面上有彈幕View,彈幕的View必須要做成完全透明的,這樣即使覆蓋在遊戲介面的上方也不會影響到遊戲的正常觀看,只有當有人發彈幕訊息時,再將訊息繪製到彈幕的View上面就可以了,下方肯定還有有操作介面View,可以讓使用者來發彈幕和送禮物的功能,原理示意圖如下所示:參照原理圖,下面一步一步來實現這個功能。實現
Time of Update: 2017-01-19
今天和大家聊一聊Android中關於FontMetrics的幾個屬性的理解,在Android中用畫筆繪製文字時,文字最終的大小是和繪製文字的字型的類型和字型的大小是相關的。設定字型類型 Paint.setTypeface(Typeface typeface)設定字型大小 Paint.setTextSize(float textSize)Paint.FontMetrics有5個屬性,並且這5個屬性都是跟字型相關的,下面是官方API文檔的解釋:翻譯一下他的意思:1. 基準點是baseline2.
Time of Update: 2017-01-19
1. 什麼是ContentProvider也即內容提供者,是對所有資料訪問的一層抽象,為資料訪問提供了統一的介面。它有以下優點:a. 對資料的抽象,為所有的組件提供統一的訪問資料的方式,從而讓組件不必關心具體資料的呈現形式(檔案or資料庫)。資料,也可以只關心自身的管理,而不用去管使用者的訪問問題。這樣就達到了很好的封裝。b.
Time of Update: 2017-01-19
Settings是WebView提供給上層App的一個配置Webview的介面,每個WebView都有一個WebSettings,要控制WebView的行為,只能通過WebView.getSettings()擷取WebSettings對象的引用,然後再改變它的屬性。Browser有一個BrowserSettings用來管理所有的配置資訊,它是一個單鍵(Singleton)。BrowserSettings是直接管理WebSettings的,而UI部分則是由BrowserPreferencePage