Time of Update: 2018-12-07
最近有個需求,需要在jni層擷取android裝置的mac地址,google了一圈,沒看到現成的實現方法,所以就只好自己寫一個了。基本思路是,通過jni調用android java層的api,擷取wifi的mac地址。理論上,所有的java代碼都可以翻譯成jni代碼,所以應該可以實現。 首先來看看mac地址擷取的java實現代碼:public String getLocalMacAddress(Context context) { WifiManager wifi =
Time of Update: 2018-12-07
android中服務是運行在背景東西,層級與activity差不多。既然說service是運行在背景服務,那麼它就是不可見的,沒有介面的東西。你可以啟動一個服務Service來播放音樂,或者記錄你地理資訊位置的改變,或者啟動一個服務來運行並一直監聽某種動作。Service和其他組件一樣,都是運行在主線程中,因此不能用它來做耗時的請求或者動作。你可以在服務中開一一個線程,線上程中做耗時動作。那麼究竟Service怎麼使用呢?老規矩,先來點基礎知識。一.基礎知識服務一般分為兩種:1:本地服務,
Time of Update: 2018-12-07
上一節中我們講解了本地Service,這一節主要是講解遠程Service,這裡涉及到了AIDL。好吧,老規矩,先來點基礎知識:一.基礎知識AIDL的作用 在Android平台,每個應用程式App都運行在自己的進程空間。通常一 個進程不能訪問另一個進程的記憶體空間(一個應用不能訪問另一個應用),如果想溝通,需要將對象分解成作業系統可以理解的基本單元,Android提供了AIDL來處理。 AIDL (Android Interface Definition Language)
Time of Update: 2018-12-07
這一節我們主要講述google map在android手機中的使用,我們一般是用google map API+Location API,就是地圖API+地位API,如果加上一些服務端以及網路方面的知識,我們可以製作出很有創意的應用,而這些正是現在流行的LBS,主要涉及技術有地圖API+地位API+javaee
Time of Update: 2018-12-07
android的布局分兩個階段,先measure()後requestLayout(), 一個MeasureSpec封裝了父布局傳給子布局的布局要求。每個MeasureSpec代表了一個寬度或高度的要求。一個MeasureSpec包含一個尺寸和模式。MeasureSpec的三種模式: UNSPECIFIED:父布局沒有給子布局任何限制,子布局可以任意大小。EXACTLY:父布局決定子布局的確切大小。不論子布局多大,它都必須限制在這個界限裡。AT_MOST:子布局可以根據自己的大小選擇任意大小。@O
Time of Update: 2018-12-07
AsyncTask解決Android UI堵塞問題平時我們在開發Android程式時遇 到較耗時任務的處理,如I/O訪問的資料庫操作、網 絡訪問等情況時造成UI假死等問題,通過AsyncTask可以很好的解決這個問題,就今天以在Android中執行 Downloader.downloadFile(url),可能會堵塞整個介面。顯然這會影響使用者體驗,我們如何解決這個問題呢? 方 法一、 建立一個新的線程執行我們的任務,使用Thread類,在 run(){}中寫入任務代碼,比如:查 看打
Time of Update: 2018-12-07
http://cnbeta.com/articles/118428.htm 很多初學Android遊戲開發的朋友,往往會顯得有些無所適從,他們常常不知道該從何處入手,每當遇到自己無法解決的難題時,又往往會一邊羨慕於 iPhone下有諸如Cocos2d-iphone之類的免費遊戲引擎可供使用,一邊自暴自棄的抱怨Android平台遊戲開發難度太高,又連個像樣的遊 戲引擎也沒有,甚至誤以為使用Java語言開發遊戲是一件費力不討好且沒有出路的事情。
Time of Update: 2018-12-07
1. jPCT-AE介紹:jPCT支援Android版本。網址:http://www.jpct.net/jpct-ae/ 2. kwwaak3介紹:Quake 3移植到Android平台的手機特性:聲音、網路、OpenGL 3D渲染網址:http://code.google.com/p/kwaak3/3. Gamine介紹:個人開發的開源3D遊戲引擎特性:情境建立、光照、紋理、物理的rigid
Time of Update: 2018-12-07
由於項目需要在NDK中使用網路開發,對於c語言網路開發來說,libcurl庫是個很不錯的選擇,但android系統中並沒有內建該庫,所以就得自己移植了。下面是移植步驟:1. 下載curl源碼 我這裡下載的是curl-7.22.0,源碼為:http://curl.haxx.se/download.html2. 準備android源碼編譯環境,android源碼應已全部編譯過,具體細節這裡不詳述,我這裡使用的是android2.2 froyo源碼樹。 3.
Time of Update: 2018-12-07
1. 使能javascript: webView.getSettings().setJavaScriptEnabled(true);2. 編寫本地介面final class InJavaScriptLocalObj { public void showSource(String html) { Log.d("HTML", html); }} 3. 向網頁暴露本地介面webView.addJavascriptInterface(new
Time of Update: 2018-12-07
有了 Service 類我們如何啟動他呢,有兩種方法:Context.startService()Context.bindService()在同一個應用任何地方調用 startService() 方法就能啟動 Service 了,然後系統會回調 Service 類的 onCreate() 以及 onStart() 方法。這樣啟動的 Service 會一直運行在後台,直到 Context.stopService() 或者 selfStop() 方法被調用。另外如果一個 Service 已經被啟動,
Time of Update: 2018-12-07
首先下載cygwin,cygwin是一個類linux平台。即在windows環境下類比linux終端。比起運行linux虛擬機器,是一個輕量的解決辦法。除了本文用來下載android源碼,你當然可以用它來學習linux。cygwin的中文網是http://www.cygwin.cn/,建議從這下載cygwin,這是國內最快的鏡像網站。嚴格按網站的說明安裝:http://www.cygwin.cn/site/install/,最後注意的是在安裝說明的下一步操作是選擇需要下載的工具庫,預設是是def
Time of Update: 2018-12-07
android中可以通過設定寫一個繼承自BroadcastReceiver的Receiver來重寫接收到簡訊之後的邏輯處理:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
1 selector 代碼Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
Android 技術專題系列Android 技術專題系列之一 -- Android 是什麼 http://blog.sina.com.cn/s/blog_5e71b14f0100bkho.htmlAndroid 技術專題系列之二 -- telephony http://blog.sina.com.cn/s/blog_5e71b14f0100bpsx.htmlAndroid 技術專題系列之三 -- 編譯(build) 流程 http://blog.sina.com.cn/s/blog_5e7
Time of Update: 2018-12-07
android構建自訂的視圖組件android提供了精巧和有力的組件化模型構建使用者的UI部分。主要是基於布局類:View和ViewGroup。在此基礎上,android平台提供了大量的預製的View和ViewGroup子類,即布局(layout)和視窗小組件(widget)。可以用它們構建自己的UI。如果沒有符合你需求的預製視窗小組件,你可以建立自己的視圖子類。如果只是對已存在的視窗小組件或者布局做小的調整,只需繼承該類,覆蓋相關的方法。建立你自己的View子類可以更精確控制視圖元素的外觀和功
Time of Update: 2018-12-07
Android 命令列手動編譯打包過程圖【詳細步驟】: 1使用aapt產生R.java類檔案: 例: E:\androidDev\android-sdk-windows2.2\tools>E:\androidDev\android-sdk-windows2.2\platforms\android-3\tools\aapt.exe package -f -m -J E:\androidDev\AndroidByread\gen -S res -I
Time of Update: 2018-12-07
Layout對於迅速的搭建介面和提高介面在不同解析度的螢幕上的適應性具有很大的作用。這裡簡要介紹Android的Layout和研究一下它的實現。Android有4種Layout:FrameLayout,LinearLayout,TableLayout,RelativeLayout。放入Layout中進行排布的View的XML屬性:4種Layout中Item所共有的XML屬性:(1)layout_width(2)layout_height(3)layout_marginLeft(4)layout_
Time of Update: 2018-12-07
http://dev.10086.cn/cmdn/wiki/index.php?doc-view-2089.html1.讓一個圖片透明:複製到剪貼簿 Java代碼Bitmap buffer = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_4444);buffer.eraseColor(Color.TRANSPARENT); 2. 直接發送郵件:複 制到剪貼簿 Java代碼Intent intent = new Intent(
Time of Update: 2018-12-07
public static final String BROADCAST_PACKAGE_REMOVED允許應用程式發出一個應用程式被刪除的通知。常量值: "android.permission.BROADCAST_PACKAGE_REMOVED"public static final String CALL_PHONE允許應用程式發起一個撥打電話而不需要經撥號器使用者介面確認。常量值: "android.permission.CALL_PHONE"public static final