• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 前輩推薦的 Android 70道面試題匯總寶典面試(6)

    發表于:2012-02-02來源:未知作者:admin點擊數: 標簽:
    public voidhandleMessage(Message msg) { // process incomingmessages here } }; Looper.loop(); } } 48. AIDL的全稱是什么?如何工作?能處理哪些類型的數據?AIDL的英文全稱是Android In

      public voidhandleMessage(Message msg) {

      // process incomingmessages here

      }

      };

      Looper.loop();

      }

      }

      48. AIDL的全稱是什么?如何工作?能處理哪些類型的數據?AIDL的英文全稱是Android Interface Define Language

      當A進程要去調用B進程中的service時,并實現通信,我們通常都是通過AIDL來操作的

      A工程:

      首先我們在net.blogjava.mobile.aidlservice包中創建一個RemoteService.aidl文件,在里面我們自定義一個接口,含有方法get。ADT插件會在gen目錄下自動生成一個RemoteService.java文件,該類中含有一個名為RemoteService.stub的內部類,該內部類中含有aidl文件接口的get方法。

      說明一:aidl文件的位置不固定,可以任意

      然后定義自己的MyService類,在MyService類中自定義一個內部類去繼承RemoteService.stub這個內部類,實現get方法。在onBind方法中返回這個內部類的對象,系統會自動將這個對象封裝成IBinder對象,傳遞給他的調用者。

      其次需要在AndroidManifest.xml文件中配置MyService類,代碼如下:

      為什么要指定調用AIDL服務的ID,就是要告訴外界MyService這個類能夠被別的進程訪問,只要別的進程知道這個ID,正是有了這個ID,B工程才能找到A工程實現通信。

      說明:AIDL并不需要權限

      B工程:

      首先我們要將A工程中生成的RemoteService.java文件拷貝到B工程中,在bindService方法中綁定aidl服務

      綁定AIDL服務就是將RemoteService的ID作為intent的action參數。

      說明:如果我們單獨將RemoteService.aidl文件放在一個包里,那個在我們將gen目錄下的該包拷貝到B工程中。如果我們將RemoteService.aidl文件和我們的其他類存放在一起,那么我們在B工程中就要建立相應的包,以保證RmoteService.java文件的報名正確,我們不能修改RemoteService.java文件

      bindService(newInten("net.blogjava.mobile.aidlservice.RemoteService"),serviceConnection, Context.BIND_AUTO_CREATE);

      ServiceConnection的onServiceConnected(ComponentName name, IBinderservice)方法中的service參數就是A工程中MyService類中繼承了RemoteService.stub類的內部類的對象。

      49. 請解釋下Android程序運行時權限與文件系統權限的區別。運行時權限Dalvik( android授權)

      文件系統 linux 內核授權

      50. 系統上安裝了多種瀏覽器,能否指定某瀏覽器訪問指定頁面?請說明原由。通過直接發送Uri把參數帶過去,或者通過manifest里的intentfilter里的data屬性

      51. 你如何評價Android系統?優缺點。答:Android平臺手機 5大優勢:

      一、開放性

      在優勢方面,Android平臺首先就是其開發性,開發的平臺允許任何移動終端廠商加入到Android聯盟中來。顯著的開放性可以使其擁有更多的開發者,隨著用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。開放性對于Android的發展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講,隨大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。

      二、掙脫運營商的束縛

      在過去很長的一段時間,特別是在歐美地區,手機應用往往受到運營商制約,使用什么功能接入什么網絡,幾乎都受到運營商的控制。從去年iPhone 上市 ,用戶可以更加方便地連接網絡,運營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動網絡的逐步過渡和提升,手機隨意接入網絡已不是運營商口中的笑談,當你可以通過手機IM軟件方便地進行即時聊天時,再回想不久前天價的彩信和圖鈴下載業務,是不是像噩夢一樣?互聯網巨頭Google推動的Android終端天生就有網絡特色,將讓用戶離互聯網更近。

      三、豐富的硬件選擇

      這一點還是與Android平臺的開放性相關,由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產品。功能上的差異和特色,卻不會影響到數據同步、甚至軟件的兼容,好比你從諾基亞 Symbian風格手機 一下改用蘋果 iPhone ,同時還可將Symbian中優秀的軟件帶到iPhone上使用、聯系人等資料更是可以方便地轉移,是不是非常方便呢?

      四、不受任何限制的開發商

      Android平臺提供給第三方開發商一個十分寬泛、自由的環境,不會受到各種條條框框的阻擾,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如可控制正是留給Android難題之一。

      五、無縫結合的Google應用

      如今叱詫互聯網的Google已經走過10年度歷史,從搜索巨人到全面的互聯網滲透,Google服務如地圖、郵件、搜索等已經成為連接用戶和互聯網的重要紐帶,而Android平臺手機將無縫結合這些優秀的Google服務。

      再說Android的5大不足:

      一、安全和隱私

      由于手機與互聯網的緊密聯系,個人隱私很難得到保守。除了上網過程中經意或不經意留下的個人足跡,Google這個巨人也時時站在你的身后,洞穿一切,因此,互聯網的深入將會帶來新一輪的隱私危機。

      二、首先開賣Android手機的不是最大運營商

      眾所周知,T-Mobile在23日,于美國紐約發布 了Android首款手機G1。但是在北美市場,最大的兩家運營商乃AT&T和Verizon,而目前所知取得Android手機銷售權的僅有 T-Mobile和Sprint,其中T-Mobile的3G網絡相對于其他三家也要遜色不少,因此,用戶可以買賬購買G1,能否體驗到最佳的3G網絡服務則要另當別論了!

      三、運營商仍然能夠影響到Android手機

      在國內市場,不少用戶對購得移動定制機不滿,感覺所購的手機被人涂畫了廣告一般。這樣的情況在國外市場同樣出現。Android手機的另一發售運營商Sprint就將在其機型中內置其手機商店程序。

      四、同類機型用戶減少

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>