Time of Update: 2017-01-19
接下來講一種完美的方案。因為第一個介面是歡迎介面,所以捷徑啟動的介面也是歡迎介面,剛開始就懷疑捷徑建立的代碼有問題,但不知道問題出在哪兒。猜測可能會是捷徑的錯誤導致系統建立兩個應用,就也是同一個應用會有兩個PID,結果在控制台查看列印的LOG,不同方式啟動的LOG如下:複製代碼 代碼如下:09-22 09:39:11.929: INFO/ActivityManager(61): Starting: Intent { act=android.intent.action.MAIN
Time of Update: 2017-01-19
複製代碼 代碼如下: StringBuilder phoneInfo = new StringBuilder(); phoneInfo.append("Product: " + android.os.Build.PRODUCT + System.getProperty("line.separator")); phoneInfo.append( "CPU_ABI: " + android.os.Build.CPU_ABI + System.getProperty("line.separator")
Time of Update: 2017-01-19
今天碰到一個非常奇怪的問題: 在Android中ImageView無法顯示載入的本地SDCard圖片。 具體過程是:先調用本地照相機程式攝像,然後將拍攝的圖片載入在ImageView中顯示。 複製代碼 代碼如下: public class ActiEnvi extends Activity { static final String TAG = "ActiEnvi"; private static final int REQ_CODE_CAMERA = 0x1; private String
Time of Update: 2017-01-19
在Android中使用ImageView顯示圖片的時候發現圖片顯示不正,方向偏了或者倒過來了。 解決這個問題很自然想到的分兩步走: 1、自動識別映像方向,計算旋轉角度; 2、對映像進行旋轉並顯示。一、識別映像方向 首先在這裡提一個概念EXIF(Exchangeable Image File Format,可交換影像檔),具體解釋參見Wiki。 簡而言之,Exif是一個標準,用於電子照相機(也包括手機、掃描器等)上,用來規範圖片、聲音、視屏以及它們的一些輔助標記格式。 Exif支援的格式如下:
Time of Update: 2017-01-19
對於從事Android開發的人來說,遇到ANR(Application Not Responding)是比較常見的問題。一般情況下,如果有ANR發生,系統都會在/data/anr/目錄下產生trace檔案,通過分析trace檔案,可以定位產生ANR的原因。產生ANR的原因有很多,比如CPU使用過高、事件沒有得到及時的響應、死結等,下面將通過一次因為死結導致的ANR問題,來說明如何通過trace檔案分析ANR問題。 對應的部分trace檔案內容如下: "PowerManagerService"
Time of Update: 2017-01-19
在使用LinearLayout的時候,子控制項可以設定layout_weight。layout_weight的作用是設定子空間在LinearLayout的重要度(控制項的大小比重)。layout_weight的值越低,則控制項越重要。若不設定layout_weight則預設比重為0。如果在一個LinearLayout裡面放置兩個Button,Button1和Button2,Button1的layout_weight設定為1,Button2的layout_weight設定為2,且兩個Button的
Time of Update: 2017-01-19
在Android系統中,長按Power鍵預設會彈出對話方塊讓你選擇“飛航模式”,“靜音”,“關機”等功能。這些功能對於手機非常適用,但是對於機頂盒產品就沒有什麼必要了。本文簡單介紹一下怎樣定製關機介面。我的目標是長按Power鍵,將會關機,彈出“裝置將要關機”選擇對話方塊。如果可以選擇“是”關機,和“否”返回系統。彈出對話方塊的代碼位於:frameworks\policies\base\phone\com\android\internal\policy\impl\PhoneWindowManag
Time of Update: 2017-01-19
在使用UC-WebBrowser時,你會發現它的快顯功能表跟系統內建的菜單不一樣。它實現更多菜單選項的顯示和分欄。其實,它的本身是PopupWindow或者是AlertDialog對話方塊,在裡面添加兩個GridView控制項,一個是功能表標題欄,一個是菜單選項。菜單選項視圖的切換可以通過適配器的變換,輕鬆地實現。點擊下載該執行個體:一、運行截圖: 二、實現要點:(1)屏蔽系統彈出的菜單:
Time of Update: 2017-01-19
預設情況下,Android系統在超過N分鐘沒操作,會自動關屏並進入休眠狀態。 實際上,有些項目要求逾時不休眠,如果只是針對單個應用程式,我們可以通過電源管理設定狀態來實現,而如果要設定所有應用的逾時時間,則可以參考以下方法:方法一、調整代碼:Settings.System.putInt(getContentResolver(),android.provider.Settings.System.SCREEN_OFF_TIMEOUT,-1);許可權:<uses-permission
Time of Update: 2017-01-19
Android NDK中使用socket的整個過程分為以下幾部分:第一部分: 建立socket並綁定IP和連接埠複製代碼 代碼如下:#include <sys/select.h>#include <sys/socket.h>#include <arpa/inet.h>#define MAX_DATA_BUF_LEN 10240int sd = INVALID_SOCKET;sockaddr_in addr_org; // 發送端地址sd =
Time of Update: 2017-01-19
由於項目需要在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: 2017-01-19
前言:略!擷取源碼的原因千千萬~~~ 1.安裝GIT工具。GIT是林納斯·托瓦茲大神為了管理器Linux核心開發而創立的分布式版本控制軟體。下載地址:http://code.google.com/p/msysgit/一路next將安裝進行到底。2.在磁碟剩餘空間較大的磁碟下建立一個檔案夾,用於存放源碼。我在F盤下:建立了androidsourcecode檔案夾。3.訪問Android源碼網站,擷取你所需要的源碼“下載連結”。網站地址:http://android.git.kernel.
Time of Update: 2017-01-19
curl是一個著名的開源檔案傳輸通訊協定實現軟體,其中包括了HTTP、HTTPS、FTP等多種常用不常用協議的實現。在curl最新版本的官方原始碼中其實已經包括了android的編譯檔案(Android.mk),不過要想編譯通過還需要做一些工作。我所使用的curl版本是7.20.0,android原始碼版本是eclair 2.1。首先將curl解壓到external目錄下,將目錄名稱改為curl(不改也可以,不過android的習慣是不帶版本號碼,入鄉隨俗吧)。(1)
Time of Update: 2017-01-19
this template depends on the android support library,which is either not installed,or the template depends on a more recent version thanthe one you have installed。Required version :8安裝提示我點 install 了,但安裝後console裡面顯示的是 Installed Android Support
Time of Update: 2017-01-19
最近在做一個平板的應用,底部的BACK HOME 還有電池WIFI的那一條STATUS_BAR設定全屏後怎麼也去不掉,尋找資料後,發現一個比較好的方法,在此分享 第一種方式(程式碼): 在OnCreate裡添加一行語句 複製代碼 代碼如下:getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 在setContentView之前哦。 過時的一個方法: 複製代碼
Time of Update: 2017-01-19
系統原來用的是BOSCH_BMA222的gsensor, 現在要求換成使用MMA7660,我們來看一下怎樣增加驅動和調試過程。 1. 修改Makefie首先,修改放置驅動的目錄裡的Makefile(kernel/driver/misc),添置如下語句:複製代碼 代碼如下:obj-$(CONFIG_SENSORS_MMA7660) += mma7660.o 2. 增加驅動檔案 把驅動檔案mma7660.c添加到kernel/driver/misc下。3. 修改.
Time of Update: 2017-01-19
1. 安裝所有的套件sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 g++-multilib mingw32 openjdk-6-jdk tofrodos
Time of Update: 2017-01-19
雖然Android從2.3開始已經支援50種以上的語言,但是不是每種語言都有字型可以顯示。遇到一個新需求,有客戶要求對hindi語言的支援。於是上網找了一些資料,發現網上介紹的大部分是如何替換預設字型,就是替換./frameworks/base/data/fonts/DroidSansFallback.ttf,但是替換完之後,中文就無法正常顯示。其實只要有下面幾個步驟,就可以實現新曾加一種語言的顯示支援:1. 需要有可以顯示hindi語言的字型,我在網上下載了一個:DroidHindi.ttf2
Time of Update: 2017-01-19
Arabic, Egypt (ar_EG) -----------------------------阿拉伯語,埃及Arabic, Israel (ar_IL) -------------------------------阿拉伯語,以色列Bulgarian, Bulgaria (bg_BG) ---------------------保加利亞語,保加利亞Catalan, Spain (ca_ES) ---------------------------加泰隆語,西班牙Czech, Czech
Time of Update: 2017-01-19
有時候我們想在標準的Framework中添加自己的新的資源怎麼辦呢?辦法就是我們來嘗試下。通過Eclipse的聯絡,我們可以聯想到是否就是簡單的把字串放在res的各個檔案夾裡面。先來試試看,編譯,系統立即報錯。為什麼呢?它提示你利用make update-api這個命令來更新public.xml檔案或者把這個聲明稱hide類型。這個肯定不是我們想要的。所以方法有二:方法1:正常添加完資源後,執行make