// 只調用一次 @Overridepublic boolean onCreateOptionsMenu(Menu menu) {}// Menu每次顯示前都會調用(適用於建立動態功能表項目,如果是動態菜單記得先調用menu.clear();清空現有的功能表項目) @Overridepublic boolean onPrepareOptionsMenu(Menu menu) {}// item被點擊後調用 @Overridepublic boolean
1. dip: device independent pixels(裝置獨立像素). 不同裝置有不同的顯示效果,這個和裝置硬體有關,一般我們為了支援WVGA、HVGA和QVGA 推薦使用這 這個,不依賴像素。
有序廣播,即從優先順序別最高的廣播接收器開始接收,接收完了如果沒有丟棄,就下傳給下一個次高優先順序別的廣播接收器進行處理,依次類推,直到最後。這裡接收簡訊的廣播是有序廣播,因此可以設定你自己的廣播接收器的層級高於系統原來的層級,就可以攔截簡訊,並且不存收件匣,也不會有來信提示音。實現方法是: <receiver android:name=".SmsReceiver" ><intent-filter android:priority="100"><action
兩種方法:1.直接在圖片上寫文字 String str = "PICC要寫的文字"; ImageView image = (ImageView) this.findViewById(R.id.ImageView); Bitmap photo = BitmapFactory.decodeResource(this.getResources(), R.drawable.text); int width = photo.getWidth(),
現在大部分android應用的圖片資源,被反編譯後就可以直接拿來用,如果不想讓自己的圖片資源直接被反編譯後使用,首先想到的應該是把圖片加密。這裡筆者拋磚引玉,草草寫了一個對圖片進行簡單加密的方法,希望對各位看官有用。首先是加密部分,這裡使用的是簡單的異或來將圖片進行加密。建立一個java project或者乾脆直接用文字檔寫下下面的代碼,然後在命令列執行,代碼如下: 1 import java.io.File; 2 3 import
Android模擬器(simulator)把它自己作為了localhost,也就是說,代碼中使用localhost或者127.0.0.1來訪問,都是訪問模擬器自己!這是不行的! 如果想在模擬器simulator上面訪問你的電腦,那麼就使用android內建的IP 10.0.2.2 吧,10.0.2.2 是模擬器設定的特定ip,是你的電腦的別名alias
屬性 說明說明android:id為控制項指定相應的ID android:text指定控制項當中顯示的文字,需要注意的是,這裡盡量使用strings.xml檔案當中的字串 android:gravity指定View組件的對齊,比如說置中,居右等位置 這裡指的是控制項中的文本位置並不是控制項本身 android:layout_gravity指定Container組件的對齊.比如一個button
android軟體的資訊儲存在PackageInfo中,ApplicationInfo主要包括名字、Package標籤、版本資訊和表徵圖資訊,源碼:import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Context;import
1:查看是否有儲存卡插入 String status=Environment.getExternalStorageState(); if(status.equals(Enviroment.MEDIA_MOUNTED)) { 說明有 SD 記憶卡插入 } 2:讓某個 Activity 透明 OnCreate 中不設 Layout this.setTheme(R.style.Theme_Transparent); 以下是 Theme_Transparent 的定義(注意
Android提供Content Provider來實現應用程式之間的資料共用,provider提供了標準的介面用於儲存和檢索多種類型的資料。映像 、音頻和視頻的標準content provider就是MediaStore。1)擷取映像的URI要獲得標準的映像儲存路徑,我們需要獲得MediaStore的引用,而這是通過content resolver來實現的(因為使用Content resolver可以擷取content provider,而MediaStore就是一個content
處理系統配置變化很多裝置可以在運行時改變系統配置,比如螢幕方向,鍵盤配置以及語言等。當類似的變化發生時,系統會把啟動並執行activity重啟(調用onDestroy(),然後調用onStart(),――哦~,沒有調用onRestart()),如果你的activity能跟據這些變化做出相應的處理,那麼你的程式將更穩定可愛。那麼如何應付這些變化呢,最好的辦法就是寫好狀態儲存/恢複方法們。比如onSaveInstanceState(),onRestoreInstanceState()/onCreat
裝載器從android3.0開始引進。它使得在activity或fragment中非同步載入資料變得簡單。裝載器具有如下特性:它們對每個Activity和Fragment都有效。他們提供了非同步載入資料的能力。它們監視資料來源的一將一動並在內容改變時傳送新的結果。當由於配置改變而被重新建立後,它們自動重連到上一個載入器的遊標,所以不必重新查詢資料。裝載器API概述在使用裝載器時,會涉及很多類和介面們,我們在下表中對它們總結一下:Class/Interface說明LoaderManager一個抽像
文章目錄 概述如何建立Activity實現使用者介面在名單檔案中聲明activity使用intent過慮器啟動一個Activity啟動一個acitvity並得到結果關閉Activity 概述Activities 是一個程式的組件之一。它的主要功能是提供介面。
近期學習Android,看到文章對Context的講解比較少,所以上網查了下,還可以。Context字面意思上下文,位於framework package的android.content.Context中,其實該類為LONG型,類似Win32中的Handle控制代碼,很多方法需要通過 Context才能識別調用者的執行個體,比如說Toast的第一個參數就是Context,一般在Activity中我們直接用this代替,代表調用者的
Android應用中使用ListView實現資料列表顯示UsingListViewActivity.java源碼:package com.sinaapp.ssun.listview;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import android.app.Activity;import android.os.Bundle;import
1.用layout_weight實現自適應螢幕 一、細說layout_weight 目前最為推薦的Android多螢幕自適應解決方案。 該屬性的作用是決定控制項在其父布局中的顯示權重,一般用於線性布局中。其值越小,則對應的layout_width或layout_height的優先順序就越高,一般橫向布局中,決定的是layout_width的優先順序;縱向布局中,決定的是layout_height的優先順序。 傳統的layout_weight使用方法是將當前控制項的layout_
課題:編寫一個Android應用,訪問一個基於Http服務的資料服務系統,為了提高安全性,該資料服務系統採用了Http Digest認證體系,理由是,相比基本認證方式而言,Digest認證可以保證認證資訊(使用者名稱和密碼)的傳輸安全,同時比SSL簡單易用。在使用瀏覽器訪問時,會提示一個使用者名稱和密碼對話方塊,但如果是程式訪問,就需要在程式訪問過程中編程提供認證資訊。 要求:-- 在程式中可以設定使用者名稱和密碼-- 可以通過網路訪問基於Digest認證和Http資料服務(JSON格式)--
一、概述
之前用Android內建的臉部偵測API玩弄了一下,但那是靜態檢測的,也就是說人為先給定一張圖片然後讓它來檢測。今天想起之前看到過有一個開源的JavaCV項目,並且它內建了一些常式,剛好有一個也是關於臉部偵測的,於是想試試效果怎樣,順便記錄一下怎麼使用這些庫,下面是這個庫的使用方法。