開啟檔案選取器複製代碼 代碼如下:private void showFileChooser() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.addCategory(Intent.CATEGORY_OPENABLE);
大家都知道 Android 的 Activity 是存著曆史棧的,比如從 A -> B -> C,C 完成 finish 後回到 B,把所有的Activity 都 finish了,程式就自然退出了。 當然在 finish 的同時也需要是否自己程式的其他資源。所以需要想個辦法把 Activity 給存起來。然後在程式退出的地方調用它們的 finish()方法。使用全域變數。對了,第一個想到的就是繼承 Application,代碼入下:複製代碼 代碼如下:public class
Android開發中,大部分控制項都有visibility這個屬性,其屬性有3個分別為“visible ”、“invisible”、“gone”。主要用來設定控制控制項的顯示和隱藏。1) 可見(visible)XML檔案:android:visibility="visible"Java代碼:view.setVisibility(View.VISIBLE);2)
複製代碼 代碼如下:/** * 擷取和儲存當前螢幕的截圖 */ private void GetandSaveCurrentImage() { //1.構建Bitmap &
前言最近公司要把百度地圖整合的項目中,於是我就研究了一天百度地圖的SDK,當前的版本:Android SDK v3.0.0 。 雖然百度地圖網上相關代碼比較多,大多可能都是比較舊的版本,且百度地圖API的改動感覺也比較大,所以再此跟大家分享一下實現的流程的和注意事項一、申請密鑰重痛點:擷取Android簽署憑證的sha1值方法一、使用keytool進入命令提示字元擷取debug的sha1值:定位到.android檔案夾下,輸入keytool -list -v -keystore
先看看效果圖其實,要實現這一效果很簡單,只要分drawable和drawablev21兩個檔案夾就好了。普通情況下的selector:<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/menu_selected"
概述 Android.mk檔案用來向編譯系統描述如何編譯你的原始碼。更確切地說,該檔案其實就是一個小型的Makefile。由於該檔案會被NDK的編譯工具解析多次,因此應該盡量減少源碼中聲明變數,因為這些變數可能會被多次定義從而影響到後面的解析。這個檔案的文法允許把原始碼組織成模組,每個模組屬於下列類型之一: APK程式:一般的Android程式,編譯打包產生apk檔案。
本文執行個體為大家分享了Android通過HTTP協議實現上傳檔案資料的具體代碼,供大家參考,具體內容如下SocketHttpRequester.javapackage cn.itcast.utils;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.InputStream;import
Service既不是進程也不是線程,它們之間的關係如下:可以看到,它們的線程id完全是一樣的,由此證實了Service確實是運行在主線程裡的,也就是說如果你在Service裡編寫了非常耗時的代碼,程式必定會出現ANR的。你可能會驚呼,這不是坑爹麼!?那我要Service又有何用呢?其實大家不要把後台和子線程聯絡在一起就行了,這是兩個完全不同的概念。Android的後台就是指,它的運行是完全不依賴UI的。即使Activity被銷毀,或者程式被關閉,只要進程還在,Service就可以繼續運行。比如說
MainActivity.javapackage com.example.mars_2500_ratingbar;import android.support.v7.app.ActionBarActivity;import android.support.v7.app.ActionBar;import android.support.v4.app.Fragment;import android.app.Activity;import android.os.Bundle;import
使用PopupWindow來實現彈出框,並且帶有動畫效果首先自訂PopupWindowpublic class LostPopupWindow extends PopupWindow {public Lost lost;public void onLost(Lost lost){this.lost = lost;}private View conentView;public View getConentView() {return conentView;}public
對於觸控螢幕,其原生的訊息無非按下、抬起、移動這幾種,我們只需要簡單重載onTouch或者設定觸摸接聽程式setOnTouchListener即可進行處理。不過,為了提高我們的APP的使用者體驗,有時候我們需要識別使用者的手勢,Android給我們提供的手勢識別工具GestureDetector就可以幫上大忙了。基礎GestureDetector的工作原理是,當我們接收到使用者觸摸訊息時,將這個訊息交給GestureDetector去加工,我們通過設定接聽程式獲得GestureDetector處
最近的一些學習心得:功能實現:點擊圓形頭像之後可以實現相簿上傳或者開啟相機,然後把得到的圖片經過剪裁,把剪裁過的圖片設定為頭像的背景圖步驟:第一步:自訂一個類,繼承ImageView,重寫draw方法,實現外觀為圓形第二步:在xml檔案中引用該控制項第三步:實現圓形頭像的點擊事件,點擊後顯示對話方塊介面,詢問你是開啟相簿還是相機(自動省略顯示對話方塊的代碼)第四步:根據使用者選擇情況,開啟相簿或者相機第五步:將拍攝的圖片或者相簿選中的圖片進行剪裁,將結果儲存在指定記憶體地區第六步:更新頭像圖片具
效果圖思路:就是先設定Gridlayout的行列數,然後往裡面放置一定數目的自訂日曆按鈕控制項,最後實現日曆邏輯就可以了。步驟:第一步:自訂日曆控制項(初步)第二步:實現自訂單個日期按鈕控制項第三步:將第二步得到的控制項動態添加到第一步的布局中,並實現日期邏輯第四步:編寫單個日期點擊監聽器介面第一步:自訂日曆控制項(初步)<?xml version="1.0" encoding="utf-8"?><LinearLayout
前言之前說過了在Android中,動畫Animation的實現有兩種方式:Tween Animation(漸層動畫)和Frame Animation(幀動畫)。漸層動畫是通過對情境裡的對象不斷做映像變換(平移、縮放、旋轉等)產生動畫效果。幀動畫則是通過順序播放事先準備好的映像來產生動畫效果,和電影類似。小編也和大家分享了逐幀動畫的基礎知識,下面我們就來學習下Android中逐幀動畫的基礎知識。原理 : 給出開始和結束兩個主要畫面格,兩個主要畫面格之間的插補幀是由電腦自動運算而得到的。分類 :
前言在Android中,動畫Animation的實現有兩種方式:Tween Animation(補間動畫)和Frame Animation(幀動畫)。漸層動畫是通過對情境裡的對象不斷做映像變換(平移、縮放、旋轉等)產生動畫效果。幀動畫則是通過順序播放事先準備好的映像來產生動畫效果,和電影類似。下面我們就來學習下Android中逐幀動畫的基礎知識。原理 : 人眼的"視覺暫留"方式 : 1.在java代碼中 ( new
在Android Studio中對一個自己庫進行產生操作時將會同時產生*.jar與*.aar檔案。分別儲存位置: *.jar:庫 /build/intermediates/bundles/debug(release)/classes.jar *.aar:庫 /build/outputs/aar/libraryname.aar.jar 與 .aar的區別從名稱上來講,一個是java
實現方式實現的方式有很多種 這裡總結最常見的幾種方式,以後再添加其他的。viewPager + RadioGroupviewPager + FragmentTabHostviewpager +TabLayoutviewPager+RadioGroup感覺這是最簡單的一個了,我也就不貼代碼 說說我理解的思路吧 通過給pager 和RadioGroup 添加監聽,監聽兩個控制項的變化 實現聯動 當viewPager的顯示pager改變就會觸發監聽
什麼是沈浸式狀態列?沈浸式狀態列意思指狀態列的顏色隨著軟體顏色而改變,使狀態列和軟體顏色保持一致,沉浸其中!當我們開啟應用程式時,不會再因為看到應用程式和狀態列的黑邊相隔開而感到十分難看。沈浸式狀態列由於其能給使用者群體帶來極佳的使用者體驗,已經在越來越多的應用上得到了體現。實現原理
做開發的時候,我們常常把listview放中間,然後底部放置一個edittext控制項,這樣導致editext控制項獲得焦點的時候,IME彈出,Edittext控制項上移,擋住了listview的部分資料,這樣不太美觀。所以,我們需要讓listview也跟著上移,所以需要:方法一:在xml檔案中,設定listview屬性時候加上這句就ok了android:transcriptMode="normal";方法二:在程式中加入語句:listView.setTranscriptMode(ListVie