<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Android筆試總結(jié)

    時(shí)間:2020-12-10 18:41:32 筆試題目 我要投稿

    Android筆試總結(jié)

      筆試,共10道題,不限時(shí)間。(答案整理自互聯(lián)網(wǎng),不保證完全正確,僅供參考。)

    Android筆試總結(jié)

      1.請(qǐng)談一下Android系統(tǒng)的架構(gòu)。

      答:Android系統(tǒng)采用了分層架構(gòu),從高層到低層分別是程序?qū)印?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和linux核心層。

      2.談?wù)刟ndroid大眾常用的五種布局。

      答:在Android中,共有五種布局方式,分別是:FrameLayout(框架布局),LinearLayout (線(xiàn)性布局),AbsoluteLayout(絕對(duì)布局),RelativeLayout(相對(duì)布局),TableLayout(表格布局)。

      (1)FrameLayout 框架布局,放入其中的所有元素都被放置在最左上的區(qū)域,而且無(wú)法為這些元素指定一個(gè)確切的位置,下一個(gè)子元素會(huì)重疊覆蓋上一個(gè)子元素,適合瀏覽單張圖片。

      (2)LinearLayout 線(xiàn)性布局,是應(yīng)用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,每個(gè)子組件都是以垂直或水平的方式來(lái)定位.(默認(rèn)是垂直)

      (3)AbsoluteLayout 絕對(duì)定位布局,采用坐標(biāo)軸的方式定位組件,左上角是(0,0)點(diǎn),往右x軸遞增,往下Y軸遞增,組件定位屬性為android:layout_x 和 android:layout_y來(lái)確定坐標(biāo)。

      (4)RelativeLayout 相對(duì)布局,根據(jù)另外一個(gè)組件或是頂層父組件來(lái)確定下一個(gè)組件的位置。和CSS里面的類(lèi)似。

      (5)TableLayout 表格布局,類(lèi)似Html里的Table.使用TableRow來(lái)布局,其中TableRow代表一行,TableRow的每一個(gè)視圖組件代表一個(gè)單元格。

      3.談?wù)刟ndroid數(shù)據(jù)存儲(chǔ)方式。

      答:Android提供了5種方式存儲(chǔ)數(shù)據(jù):

      (1)使用SharedPreferences存儲(chǔ)數(shù)據(jù);它是Android提供的用來(lái)存儲(chǔ)一些簡(jiǎn)單配置信息的一種機(jī)制,采用了XML格式將數(shù)據(jù)存儲(chǔ)到設(shè)備中。只能在同一個(gè)包內(nèi)使用,不能在不同的包之間使用。

      (2)文件存儲(chǔ)數(shù)據(jù);文件存儲(chǔ)方式是一種較常用的方法,在Android中讀取/寫(xiě)入文件的方法,與Java中實(shí)現(xiàn)I/O的程序是完全一樣的,提供了openFilnput()和openFileOutput()方法來(lái)讀取設(shè)備上的文件。

      (3)SQLite數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù);SQLite是Android所帶的一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù),它支持SQL語(yǔ)句,它是一個(gè)輕量級(jí)的嵌入式數(shù)據(jù)庫(kù)。

      (4)使用ContentProvider存儲(chǔ)數(shù)據(jù);主要用于應(yīng)用程序之間進(jìn)行數(shù)據(jù)交換,從而能夠讓其他的應(yīng)用保存或讀取此Content Provider的各種數(shù)據(jù)類(lèi)型。

      (5)存儲(chǔ)數(shù)據(jù);通過(guò)網(wǎng)絡(luò)上提供給我們的存儲(chǔ)空間來(lái)上傳(存儲(chǔ))和下載(獲取)我們存儲(chǔ)在網(wǎng)絡(luò)空間中的數(shù)據(jù)信息。

      4.Android中Activity, Intent, Content Provider, Service各有什么區(qū)別。

      答:Activity: 活動(dòng),是最基本的android應(yīng)用程序組件。一個(gè)活動(dòng)就是一個(gè)單獨(dú)的屏幕,每一個(gè)活動(dòng)都被實(shí)現(xiàn)為一個(gè)獨(dú)立的類(lèi),并且從活動(dòng)基類(lèi)繼承而來(lái)。

      Intent: 意圖,描述應(yīng)用想干什么。最重要的部分是動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。

      Content Provider:內(nèi)容提供器,android應(yīng)用程序能夠?qū)⑺鼈兊臄?shù)據(jù)保存到文件、SQLite數(shù)據(jù)庫(kù)中,甚至是任何有效的設(shè)備中。當(dāng)你想將你的應(yīng)用數(shù)據(jù)和其他應(yīng)用共享時(shí),內(nèi)容提供器就可以發(fā)揮作用了。

      Service:服務(wù),具有一段較長(zhǎng)生命周期且沒(méi)有用戶(hù)界面的程序。

      5.View, surfaceView, GLSurfaceView有什么區(qū)別。

      答:view是最基礎(chǔ)的,必須在UI主線(xiàn)程內(nèi)更新畫(huà)面,速度較慢。

      SurfaceView 是view的子類(lèi),類(lèi)似使用雙緩機(jī)制,在新的線(xiàn)程中更新畫(huà)面所以刷新界面速度比view快

      GLSurfaceView 是SurfaceView的子類(lèi),opengl 專(zhuān)用的

      6.Adapter有什么作用?常見(jiàn)的Adapter有哪些?

      答:Adapter是連接后端數(shù)據(jù)和前端顯示的適配器接口。常見(jiàn)的Adapter有ArrayAdapter, BaseAdapter, CursorAdapter, HeaderViewListAdapter, ListAdapter, ResourceCursorAdapter, SimpleAdapter, SimpleCursorAdapter, SpinnerAdapter, WrapperListAdapter等

      7.Manifest.xml文件中主要包括哪些信息?

      答:manifest:根節(jié)點(diǎn),描述了package中所有的內(nèi)容。

      uses-permission:請(qǐng)求你的`package正常運(yùn)作所需賦予的安全許可。

      permission: 聲明了安全許可來(lái)限制哪些程序能你package中的組件和功能。

      instrumentation:聲明了用來(lái)測(cè)試此package或其他package指令組件的代碼。

      application:包含package中application級(jí)別組件聲明的根節(jié)點(diǎn)。

      activity:Activity是用來(lái)與用戶(hù)交互的主要工具。

      recver:IntentReceiver能使的application獲得數(shù)據(jù)的改變或者發(fā)生的操作,即使它當(dāng)前不在運(yùn)行。

      service:Service是能在后臺(tái)運(yùn)行任意時(shí)間的組件。

      provider:ContentProvider是用來(lái)持久化數(shù)據(jù)并發(fā)布給其他應(yīng)用程序使用的組件。

      8.請(qǐng)寫(xiě)一段代碼(SAX, DOM, 或者pull )來(lái)解析XML文檔。

      答:下面是要解析的XML文件:

      

      

      

      張三

      22

      

      

      李四

      23

      

      

      定義一個(gè)名為Person的javaBean用于存放上面解析出來(lái)的xml內(nèi)容

      public class Person {

      private Integer id;

      private String name;

      private Short age;

      public Integer getId() {

      return id;

      }

      public void setId(Integer id) {

      this.id = id;

      }

      public String getName() {

      return name;

      }

      public void setName(String name) {

      this.name = name;

      }

      public Short getAge() {

      return age;

      }

      public void setAge(Short age) {

      this.age = age;

      }

      }

      (1)使用SAX讀取XML文件;它采用的是事件驅(qū)動(dòng),并不需要解析完整個(gè)文檔,速度快并且占用內(nèi)存少。需要為SAX提供實(shí)現(xiàn)ContentHandler接口的類(lèi)。

      PersonDefaultHandler.java

      import java.util.ArrayList;

      import java.util.List;

      import org.xml.sax.Attributes;

      import org.xml.sax.SAXException;

      import org.xml.sax.helpers.DefaultHandler;

      import com.sinber.domain.Person;

      public class PersonDefaultHandler extends DefaultHandler {

      private List persons;

      private Person person ; //記錄當(dāng)前person

      private String perTag; //記錄前一個(gè)標(biāo)簽的名稱(chēng)

      /**

      * 重寫(xiě)父類(lèi)的開(kāi)始文檔方法。用于初始化

      */

      @Override

      public void startDocument() throws SAXException {

      persons = new ArrayList ();

      }

      @Override

      public void startElement(String uri, String localName, String qName,

      Attributes attributes) throws SAXException {

      if("person".equals(localName)){

      Integer id = new Integer(attributes.getValue(0)); //取id

      person = new Person();

      person.setId(id);

      }

      perTag = localName;

      }

      /**參數(shù):

      * ch 整個(gè)XML字符串

      * start 節(jié)點(diǎn)值在整個(gè)XML字符串中的索引位置

      * length 節(jié)點(diǎn)值的長(zhǎng)度

      */

      @Override

      public void characters(char[] ch, int start, int length)

      throws SAXException {

      if(perTag!=null){

      String data = new String(ch,start,length);

      if("name".equals(perTag)){

      person.setName(data);

      }else if("age".equals(perTag)){

      person.setAge(new Short(data));

      }

      }

      }

      @Override

      public void endElement(String uri, String localName, String qName)

      throws SAXException {

      if("person".equals(localName)){

      persons.add(person);

      person = null;

      }

      perTag = null;

      }

      public List getPersons() {

      return persons;

      }

      }

      SAXPerson.java

      import java.io.InputStream;

      import java.util.List;

      import javax.xml.parsers.SAXParser;

      import javax.xml.parsers.SAXParserFactory;

      import com.sinber.domain.Person;

      public class SAXPerson{

      public static List getPerson() throws Exception{

      //通過(guò)類(lèi)裝載器獲取文件

      InputStream inStream = SAXPersonService.class.getClassLoader().getResourceAsStream("person.xml");

      SAXParserFactory factory = SAXParserFactory.newInstance();

      SAXParser saxParser = factory.newSAXParser();

      PersonDefaultHandler handler = new PersonDefaultHandler();

      saxParser.parse(inStream, handler);

      inStream.close();

      return handler.getPersons();

      }

      }

    【Android筆試總結(jié)】相關(guān)文章:

    android簡(jiǎn)歷模板08-29

    android開(kāi)發(fā)優(yōu)秀簡(jiǎn)歷08-29

    android求職簡(jiǎn)歷模板08-29

    android論文格式11-12

    Android系統(tǒng)架構(gòu)簡(jiǎn)介08-14

    Android開(kāi)發(fā)求職簡(jiǎn)歷模板07-29

    android論文參考文獻(xiàn)「范文」01-16

    Android論文參考文獻(xiàn)范例10-31

    C語(yǔ)言筆試題總結(jié)12-25

    Android軟件開(kāi)發(fā)工程求職簡(jiǎn)歷10-02

    主站蜘蛛池模板: 亚洲精品午夜国产VA久久成人| 91精品日韩人妻无码久久不卡 | 一级香蕉精品视频在线播放| 婷婷成人国产精品| 91精品福利在线观看| 国产精品99久久99久久久| 亚洲欧美一级久久精品 | 久久99国产精品久久99| 国语自产少妇精品视频蜜桃| 亚洲精品国自产拍在线观看| 国产精品自在线拍国产手机版| 国产精品久久久久影院嫩草| 小辣椒福利视频精品导航| 精品日韩欧美国产| 国产成人精品午夜福麻豆| 欧美精品在线一区| 国产精品亚洲αv天堂无码| 国产小视频国产精品| 精品视频无码一区二区三区 | 女人香蕉久久**毛片精品| 69久久夜色精品国产69| 国产伦精品一区二区三区| 亚洲国产精品无码久久久秋霞2 | 亚洲精品无码mv在线观看网站| 免费精品国产自产拍在线观看| 国产精品午夜久久| 国产国拍亚洲精品福利| 99热日韩这里只有精品| 亚洲综合国产精品| 国产精品小视频免费无限app| 国产欧美精品一区二区色综合 | 亚洲精品国产高清不卡在线| 精品无码国产自产拍在线观看蜜 | 国产精品亚洲美女久久久| 国产VA免费精品高清在线| 青青草国产精品久久| 四虎永久在线精品国产免费| 亚洲精品欧美综合| 97精品国产97久久久久久免费| 777被窝午夜精品影院| 国产高清在线精品一本大道国产|