<th id="ik4gr"><pre id="ik4gr"></pre></th>
<rp id="ik4gr"></rp>
    <dd id="ik4gr"></dd>

  1. <rp id="ik4gr"><object id="ik4gr"><blockquote id="ik4gr"></blockquote></object></rp>
      <rp id="ik4gr"></rp>
        <button id="ik4gr"><acronym id="ik4gr"></acronym></button>
      1. <rp id="ik4gr"><object id="ik4gr"><input id="ik4gr"></input></object></rp>
        1. 課程咨詢 :0571-56026878 QQ:875338579

          杭州達內

          • Android常用面試題解析

            發布:杭州達內      來源:達內培訓      時間:2015-08-25


          • 以下是由達內的金牌講師們為大家整理的幾個常見的面試題,也是大家易犯錯誤的題,希望對大家學習Android培訓能夠有所幫助。

            1,發現不會再打印相同信息,但多打印了一行onConfigChanged

            onSaveInstanceState()à

            onPause()à

            onStop()à

            onDestroy()à

            onCreate()à

            onStart()à

            onRestoreInstanceState()à

            onResume()à

            onConfigurationChanged()à

            7) 把步驟5的android:configChanges=“orientation”改成

            android:configChanges=“orientation|keyboradHidden”,執行步驟3,就只打印onConfigChanged

            onConfigurationChanged()à

            8) 把步驟5的android:configChanges=“orientation”改成

            android:configChanges=“orientation|keyboradHidden”,執行步驟4

            onConfigurationChanged()à

            onConfigurationChanged()à

            總結:

            1) 不設置activity的android:configChanges時,切屏會重新調用各個生命周期,切橫屏時會執行一次,切豎屏時會執行兩次。

            2) 設置activity的android:configChanges=“orientation”時, 切屏會重新調用各個生命周期,切橫屏、豎屏時都只會執行一次,但是豎屏最后多打印一條onConfigurationChanged()

            3) 設置activity的android:configChanges=“orientation|keyboardHidden”時,切屏不會重新調用各個生命周期,只會執行onConfigurationChanged(),橫屏一次,豎屏兩次

            再總結下整個activity的生命周期:

            1) 當前activity產生事件彈出Toast和AlertDialog的時候Activity的生命周期不會有改變

            2) Activity運行時按下HOME鍵(跟被完全覆蓋一樣的)

            onSavaInstanceStateà

            onPauseà

            onStopà

            onRestartà

            onStartà

            onResumeà

            3) 未被完全覆蓋,只是失去焦點:

            onPauseà

            onResumeà

            2.如何將打開res aw目錄中的數據庫文件?

            答:在Android中不能直接打開res aw目錄中的數據庫文件,而需要在程序第一次啟動時將該文件復制到手機內存或SD卡的某個目錄中,然后再打開該數據庫文件。復制的基本方法是使用 getResources().openRawResource方法獲得res aw目錄中資源的 InputStream對象,然后將該InputStream對象中的數據寫入其他的目錄中相應文件中。在Android SDK中可以使用SQLiteDatabase.openOrCreateDatabase方法來打開任意目錄中的SQLite數據庫文件。

            3.activity一般會重載7個方法用來維護其生命周期,除了onCreate(),onStart(),onDestory() 外還有onrestart,onresume,onpause,onstop。

            4.在android中,請簡述jni的調用過程。

            1)安裝和下載Cygwin,下載 Android NDK

            2)在ndk項目中JNI接口的設計

            3)使用C/C++實現本地方法

            4)JNI生成動態鏈接庫.so文件

            5)將動態鏈接庫復制到java工程,在java工程中調用,運行java工程即可

            5.請繼承SQLiteOpenHelper實現:

            1).創建一個版本為1的“diaryOpenHelper.db”的數據庫,

            2).同時創建一個 “diary” 表(包含一個_id主鍵并自增長,topic字符型100

            長度, content字符型1000長度)

            3).在數據庫版本變化時請刪除diary表,并重新創建出diary表。

            publicclass DBHelper extends SQLiteOpenHelper{

            public final static String DATABASENAME ="diaryOpenHelper.db";

            public final static int DATABASEVERSION =1;

            //創建數據庫

            public DBHelper(Context context,Stringname,CursorFactory factory,int version)

            {

            super(context, name, factory,version);

            }

            //創建表等機構性文件

            public void onCreate(SQLiteDatabase db)

            {

            String sql ="create tablediary"+

            "("+

            "_idinteger primary key autoincrement,"+

            "topicvarchar(100),"+

            "contentvarchar(1000)"+

            ")";

            db.execSQL(sql);

            }

            //若數據庫版本有更新,則調用此方法

            public void onUpgrade(SQLiteDatabasedb,int oldVersion,int newVersion)

            {

            String sql = "drop table ifexists diary";

            db.execSQL(sql);

            this.onCreate(db);

            }

            }

            好了,通過以上達內老師的整理總結,希望對你的Android培訓知識有所拓展,多做面試題是成功的一條捷徑之一。


          上一篇:Java開發工程師上機筆試題

          下一篇:四道經典android問答題推薦

          最新開班日期  |  更多

          童程童美少兒編程班

          童程童美少兒編程班

          開班日期:1. 工作日;晚上 2. 周末;全天

          linux培訓班

          linux培訓班

          開班日期:申請咨詢

          C++培訓班

          C++培訓班

          開班日期:申請咨詢

          3D大數據培訓班

          3D大數據培訓班

          開班日期:申請咨詢

        2. 地址:杭州西湖區教工路求是大廈10~12層
        3. 課程培訓電話:0571-56026878 QQ:875338579     全國服務監督電話:400-111-8989
        4. 服務郵箱 tousu@tedu.cn
        5. 2002-2018 達內時代科技集團有限公司 版權所有 京ICP證8000853號-56

          香蕉视频在线一级a做爰片免费观看视频 欧美成年性色生活片 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>