Time of Update: 2018-12-04
題目:請簡單介紹一些Activity的四種載入模式。分析:四種載入模式分別為standard, singleTop,singleTask,singleInstance,設定的位置在Androidmanifest.xml中Activity元素的Android:launchMode屬性。1.standard:執行如下代碼Intent intent = new Intent(); intent.setClass(ActA.this, ActA.class); startActivity(intent)
Time of Update: 2018-12-04
Android上的Style分為了兩個方面: 1,Theme是針對表單層級的,改變表單樣式; 2,Style是針對表單元素層級的,改變指定控制項或者Layout的樣式。
Time of Update: 2018-12-04
題目:請簡單說一下你在android開發過程中如何對記憶體進行最佳化。分析:眾所周知,Android應用程式是運行在java虛擬機器之中,記憶體回收採用的是java當中的GC機制,由系統進行整體調度,開發人員無法直接幹預,因此在開發過程中對記憶體的合理使用就顯得尤其重要。1.對Bitmap的最佳化:在Android應用中,最消耗記憶體的就是Bitmap的圖片資源。而在adnroid系統中,讀取Bitmap時,分配給虛擬機器中堆棧的大小隻有8M,如果超出了,就會OOM(Out Of Memory)
Time of Update: 2018-12-04
修改project.properties檔案[html] view plaincopyprint?#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 去掉之前的#,即取消注釋修改proguard-project.txt檔案(忽略第三方jar)引入第三方庫:-libraryjars /libs/umeng_sdk.jar忽略類:-keep class com.umeng.** {
Time of Update: 2018-12-04
題目1:請說出Http位於TCP/IP模型中的第幾層?為什麼說Http是可靠的資料轉送協議?分析:首先我們來看一下TCP/IP模型的五層模型。題目中所說的Http協議就是處於模型中的應用程式層。由於Http是在傳輸層基於TCP協議的,而TCP又是連線導向的可靠協議,所以Http是可靠的傳輸協議。題目2:請簡單的說一下GET和POST的區別。分析:Get和Post都是Http提供的方法,主要區別如下:1.Get通常用於從伺服器獲得資源;Post是用來向伺服器發送資料的。2.Get提交請求時將參數放
Time of Update: 2018-12-04
Android開發中為什麼不能標記重寫(@override)抽象方法(abstract)當你使用java開發Android應用時,很多時候要通過使用匿名類來完成諸如按鈕點擊這種事件處理方法。例如: Button btnBack = (Button)findViewById(R.id.btnBack); btnBack.setOnClickListener(new View.OnClickListener() { @override public void o
Time of Update: 2018-12-04
一、原理:1.讓手機監聽自己的某一個連接埠。2.讓電腦端的adb串連這個連接埠。二、方法1:1.讓電腦和手機處於同一個wifi下。2.將手機進行root,如果沒有root下載一個360的一鍵root,很方便。3.手機端下載Wifi_ADB(本人測試成功)或者adb_wireless(本人測試不成功),開啟運行。4.電腦端開啟cmd視窗,進入adb.exe所在目錄(在sdk/platform-tools目錄下),輸入adb connect a.b.c.d
Time of Update: 2018-12-04
移動開發裡面經常會有很多耗時的操作需要放在後台運行,比如連網、大量資料處理等,否則的話就會導致主線程,也就是UI線程卡住,給使用者一種程式死掉的感覺,體驗極差,所以在這裡我就大概的說一下如何進行多線程的開發,以及在多線程開發的過程中有哪些需要注意的問題。方式1:繼承Thread類,建立一個新的線程類。private class thread extends Thread{private Context act;public thread(Context con){act =
Time of Update: 2018-12-04
題目:請問Android的應用中,所有的Activity都必須運行在同一個進程中嗎?分析:不同的Activity可以運行在不同的進程中1.在Android系統中,每一個應用程式都是由一些Activity和Service組成。2.Service運行在獨立的進程中,而Activity有可能運行在同一個進程中,也有可能運行在不同的進程中,一般情況下,一個應用程式的所有Activity都運行在同一個進程中。3.如果想讓某個Activity運行在獨立的進程中,則需要在Androidmanifest.xml
Time of Update: 2018-12-04
題目:請簡單描述一下String,StringBuffer和StringBuilder的區別,並解釋一下為什麼String是不可變的。分析:對於以上三個關於字串的類,主要區別如下:String:字串常量,其屬性為final。StringBuffer:字串變數,安全執行緒。StringBuilder:字串變數,非安全執行緒。1.String和StringBuffer的區別主要在於String是不可變的,執行如下代碼:String a = "1";a = a + "2";
Time of Update: 2018-12-04
相信大家對Perference都比較熟悉了,也就是我們常說的喜好設定,喜好設定設定,可以儲存一些資料,例如我們在上一次使用的時候的一些內容,希望在下一次啟動後依然生效,而不需要再進行配置那麼麻煩。一般這個時候我們便會使用perference索引值對的方式來處理,在android3.0之前,我們一般去繼承Preference這個基類去給使用者呈現一個可以設定的介面,其中的layout需要自己編寫,今天我們研究的是3.0之後使用片段技術的喜好設定配置方法,即使用PreferenceFragement
Time of Update: 2018-12-04
近期在研究如何通過耳機進行一些控制操作,自然涉及到如何檢測耳機是否插入的狀態,經過一番查詢和實驗,總結如下1.原理:其實android系統在耳機插入和拔出的時候都會發送廣播,所以我們要想檢測耳機的狀態只需要註冊響應的BroadCastReceiver,對狀態進行響應的判斷就ok了。這個廣播的名字叫做:android.intent.action.HEADSET_PLUG注意,在manifest.xml裡面要添加響應的許可權:<uses-permission
Time of Update: 2018-12-04
Fragement介面添加瞭解過fragement的生命週期等簡單知識,於是去看官方文檔來瞭解更多相關內容,要添加fragement到我們的UI介面中,給出了兩種常用的方法,第一個是在activity的布局xml檔案中使用<fragement>標籤聲明,第二個是在java代碼中將fragement添加到一個ViewGroup,我比較習慣於使用第一種XML布局的方式,這裡只是介紹了第一種,
Time of Update: 2018-12-04
android連網的應用一般開始的歡迎介面都會檢測網路狀態、同步後台伺服器,如果網路狀態不可用則要通知使用者當前網路不可用,下面就來看一下如何?這個功能。public static boolean isNetworkAvailable(Context context) {ConnectivityManager connect = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);if
Time of Update: 2018-12-04
隨著各種大螢幕的安卓機器的出現,適配問題的重要性越來越明顯,這裡我給大家介紹一下如何使得兩個按鈕各占螢幕的一半,同理也可以讓3個、4個甚至更多的按鈕或者其他控制項來實現平均佔有螢幕的寬度。實現的代碼如下:<LinearLayout android:layout_width="fill_parent" android:layout_height="45dp" android:orientation="horizontal"
Time of Update: 2018-12-04
有些團隊在開發較大的項目的時候會用到debug.keystore這種debug簽名,那麼這個東西怎麼用呢?之前在匯出簽名包的時候只需要android tools -> export signed application
Time of Update: 2018-12-04
很多開發人員朋友可能會遇到一個問題,就是每次使用adb命令的時候都要cd到android-sdk/platform-tools所在的目錄才能執行,否則提示adb不是內部命令,那麼這個問題應該怎麼解決呢?其實很簡單,系統提示adb不是內部命令其實就是說系統找不到這個adb的命令,那麼為什麼找不到呢?這裡就跟linux下的機制是一樣的,系統會在環境變數path所包含的路徑當中去找,找到則執行,找不到就提示不是內部命令,那我我們就明白了,其實我們只需要把android-sdk所在的路徑加到環境變數pa
Time of Update: 2018-12-04
安卓開發中大部分的控制項屬性都可以在xml布局檔案中配置,當然一般情況下也有相對應的java介面進行配置。但是總有那麼一些控制項沒有xml或者java中的某一種介面,這裡我就舉一個例子。如何給PagerTitleStrip設定字型大小:這個控制項我在xml中沒有發現設定字型大小的屬性,所以就在java下尋找了一下,果然有,用的就是view通用的setTextSize(int unit, int
Time of Update: 2018-12-04
相信很多開發人員朋友使用過ViewPager這個類,這個類在使用時必須在項目中添加android-support-v4.jar這個類包。在xml中引用時必須要寫全包名,否則無法找到此類。舉例如下: <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="fill_parent"
Time of Update: 2018-12-04
最近在開發一個工程,其中用到了一個開源的庫項目Android-ViewPagerIndicator。這個項目是作為一個庫出現的,如:這個項目中包含了android-support-v4.jar然後另外一個項目裡面把引用了這個Library,如:然後編譯這個項目,就會出現標題中所描述的錯誤,也就是包重複。由於這個項目本身並沒有android-support-v4.jar這個包,但是將第一個項目加做庫檔案之後這個項目裡面就出現了這個android-support-v4.jar。解決方案:1.先將這個