第一篇:Android技術(shù)總結(jié)2
立成軟件文檔制度規(guī)范
//adt Installer http://apps.hi.baidu.com/share/detail/42194887
//Source Code 滑動
http://gekie.iteye.com/blog/1104426
//Source Code 集合
http://emmet1988.iteye.com/category/157490?show_full=true
//開發(fā)小技巧
http://terryblog.blog.51cto.com/1764499/p-6
//android:shape的使用-實心 漸變 描邊 圓角 http://abc20899.iteye.com/blog/1068660
//Android 深入研究布局長度
(一)http://
//自定義 loading http://
//聯(lián)系人選擇
http:// http://blog.csdn.net/gfaiswl/article/details/6315647
//Android學習之 ColorStateList按鈕文字變色 http://emmet1988.iteye.com/blog/1127151
//Android apk 數(shù)字簽名
http://
-第1頁-
立成軟件文檔制度規(guī)范
在任意位置獲取應用程序CONTEXT http://
-第2頁-
第二篇:Android總結(jié)
Android四大組件:
Activity—表現(xiàn)屏幕界面
Service—后臺服務
BroadcastReceiver—實現(xiàn)廣播機制
ContentProvider—實現(xiàn)數(shù)據(jù)存儲
Intent類:用來啟動程序并傳遞信息的類
用于Activity、Receiver、Service之間進行交互的類,通過無參構(gòu)造方法創(chuàng)建對象,增加其action、category、data、extra等屬性進行信息傳遞,并通過Activity中的startActivity(Intent intent)進行界面的跳轉(zhuǎn);通過Context中的StartService(Intent intent)進行服務跳轉(zhuǎn);通過Context中的registerReceive(Intent intent)對廣播進行注冊,并通過sendBroadcast()進行無序消息發(fā)送,或可以通過SendOrderedBroadcast()進行有序的消息發(fā)送。Handler類:
用來發(fā)送和處理消息,并配合主線程完成UI的更新;消息Message/Runnable傳遞通過MessageQueue(消息隊列,先進先出)進行傳遞,并通過Lopper進行接收,傳遞的消息可以為Message對象,也可以是Runnable對象;接收方法通過HandleMessage(Message msg)進行獲取。SharedPreferences類:
一般用于第一次登錄時的設(shè)置,或者是各個界面的一些小型格式設(shè)置,如字體等。是本地的小型共享數(shù)據(jù)庫,可以通過Context的靜態(tài)方法getSharedPreferences獲得其對象,對象內(nèi)的值均為鍵值對進行儲存。通過SharedPreferences對象調(diào)用editor()獲取SharedPreferences.Editor對象,向共享數(shù)據(jù)庫中增加數(shù)據(jù),putString(),并提交數(shù)據(jù),commit();通過SharedPreferences對象獲取共享數(shù)據(jù)庫中的數(shù)據(jù),getString()。
ViewPager:實現(xiàn)界面滑動的類;
通過設(shè)置OnPagerChangedListener設(shè)置ViewPager的監(jiān)聽事件;
實現(xiàn)流程:
①布局文件中設(shè)置ViewPager控件;
②代碼中進行綁定控件;
③通過繼承PagerAdapter抽象類進行設(shè)置適配器,并傳遞數(shù)據(jù)源;
④適配器中實現(xiàn)兩個抽象方法,兩個重寫方法:getCount()—獲取滑動界面的數(shù)量,isViewFromObject()—判斷視圖是否是來自于Object文件中;重寫兩個方法,分別為destoryItem—銷毀指定位置的視圖;InstantiateItem(),設(shè)置指定位置的視圖;
Timer與TimerTask類:
Timer為計時器的類,通過無參構(gòu)造方法可以獲取對象,通過Timer.schedule(TimerTask task,long time)進行設(shè)置多久后執(zhí)行某任務,當任務執(zhí)行完后,取消計時的功能,Timer.cancle();TimerTask類為抽象類,實例化時,必須重寫run方法;執(zhí)行的內(nèi)容,均在run方法中進行設(shè)置,并且執(zhí)行時,已在子線程中進行執(zhí)行。自定義View:用到的類有Paint、Canvas、Spec、SpecF、Path、View.MeasureSpec、Timer、TimerTask;
抽象類,通過子類繼承,獲取對象;在布局文件中綁定后,通過代碼,設(shè)置自定義View的屬性;自定義View中,通過重寫OnMeasure方法,對布局文件中的尺寸進行測量,并由View中的setMeasureDimenson()方法,進行數(shù)據(jù)的保存;通過重寫Ondraw方法,進行繪圖;當需要繪制動態(tài)圖形時,使用計時器Timer的schedule(TimerTask,long time,delay time2)方法,在time時間后,每隔time2時間,重寫執(zhí)行run方法中的內(nèi)容;將耗時的操作設(shè)置在run方法中,并通過View中的invalidate()方法刷新主線程中的繪的圖形,通過postInvalidate()刷新子線程中的圖形。數(shù)據(jù)庫:
常用的數(shù)據(jù)庫有Oracle,需要安裝和配置的大型收費數(shù)據(jù)庫;MySQL是中型數(shù)據(jù)庫,同樣需要安裝配置,但不需要收費;Sqlite是小型免費的嵌入式數(shù)據(jù)庫,占用內(nèi)存低,最新版本為3.0。Sqlite數(shù)據(jù)庫需要通過SqliteDatabaseOpenHelper進行創(chuàng)建數(shù)據(jù)庫,并通過SqliteDatabase進行數(shù)據(jù)庫的操作。輔助類是抽象類,通過繼承,重寫兩個方法,并在子類的構(gòu)造方法中通過OpenHelper的構(gòu)造方法(Context context,String SqlName,SqliteDatabase.CursorFactory factory,int version)進行數(shù)據(jù)庫的創(chuàng)建,在onCreate方法中,進行數(shù)據(jù)庫表的創(chuàng)建,在onUpdate中進行數(shù)據(jù)庫的版本更新。在數(shù)據(jù)庫的操作類中,執(zhí)行exect方法,通過sql語句對數(shù)據(jù)庫進行操作。Create table student(_id integer primary key auto increament ,name text);insert into student(_id,name)values(1,zx);delete from student where _id=1;update student set _id=2 where name=zx;select *from student;ListView、GridView適配器的優(yōu)化:
將布局文件中的控件進行封裝,當視圖加載時,判斷可變視圖是否存在,當不存在時,通過布局文件獲取視圖,并新建封裝類,將地址通過setTag()進行發(fā)送;當視圖存在時,重復利用地址—getTag()。反射:
存儲數(shù)據(jù)的方式:
共享數(shù)據(jù)庫、數(shù)據(jù)庫、文件、網(wǎng)絡、內(nèi)容提供者
廣播:
廣播傳播時,需要接收者、發(fā)送者、廣播頻道;根據(jù)發(fā)送者的發(fā)送方式不同,分為有序廣播、無序廣播;有序廣播為接收者有接收順序,根據(jù)設(shè)置的優(yōu)先級不同,確定先后順序,接收者同時也是發(fā)送者,向后面的廣播發(fā)送消息,發(fā)送過程中,可以添加信息,也可以停止廣播的傳輸;無序廣播,接收者之間無聯(lián)系,均從發(fā)送者處接收信息;廣播在傳輸過程中,不能被添加信息,也不可能被停止。廣播在發(fā)送前,需要對接收者進行注冊,注冊方式有兩種,動態(tài)注冊、靜態(tài)注冊。動態(tài)注冊,是在代碼中進行,通過Context對象調(diào)用靜態(tài)方法進行注冊,所有的廣播均可以用動態(tài)注冊,其生命周期依賴于應用,相對于靜態(tài)注冊,比較節(jié)省內(nèi)存;靜態(tài)方法在清單文件中進行注冊,部分系統(tǒng)廣播不能通過靜態(tài)注冊進行,其生命周期依賴于系統(tǒng),當系統(tǒng)啟動,即運行接收廣播,較耗內(nèi)存。廣播接收者需要繼承BroadcastReceiver,并實現(xiàn)抽象方法onReceive(),通過回調(diào)接口,進行數(shù)據(jù)的傳輸。注意:廣播發(fā)送前,必須進行接收者的注冊,并且,當顯示跳轉(zhuǎn)時,不需要意圖過濾器。安卓布局:九種布局
線性布局,水平或垂直方向兩種格式,主要特點為權(quán)重,即規(guī)定各控件在視圖中的占有的比例;
相對布局,相對于父控件或兄弟控件的布局,各控件需指定相對位置; 絕對布局,指定各控件在視圖中的絕對位置,幾乎不再使用; 表格布局,子布局放在行中,列由控件表示(TableRow); 幀布局:覆蓋前面布局的布局,一般用于暫停按鈕等; 風格布局:可以跨行、跨列的布局,占滿換行;
左右側(cè)滑:可以實現(xiàn)左右側(cè)滑,通過設(shè)置主菜單和二級菜單設(shè)置左右兩個菜單; 下拉刷新:設(shè)置下拉刷新、上拉加載的功能; 抽屜布局;
安卓版本及對應的API:
1.6—4;2—7;3—11;4—15;4.3—18;5—20;5.1—21;6—23;7—25; 安卓四層架構(gòu):
應用層:Java語言開發(fā),主要從事App開發(fā);
運行庫層:Java語言與C語言,View視圖、管理類等的開發(fā); 架構(gòu)層:C語言與Linux語言,各種框架、瀏覽器等; 內(nèi)核層:Linux、C語言,開發(fā)各種驅(qū)動; 安卓四大組件:
Activity:界面,實現(xiàn)程序與用戶之間的交換,有自己的生命周期,七個生命周期;4種啟動模式 Service:
BroadcastReceive:三要素,發(fā)送者、接收者、發(fā)送頻道(Intent);類型:有序(接收有序,有數(shù)據(jù)傳送,可以攔截數(shù)據(jù))、無序廣播(相對);注冊方式:靜態(tài)注冊,持久監(jiān)聽,占用內(nèi)存比較高生命周期跟隨系統(tǒng),動態(tài)注冊(代碼中),所有廣播都可以動態(tài)注冊,部分系統(tǒng)廣播不能動態(tài)注冊,臨時監(jiān)聽,占用內(nèi)存較少,生命周期隨應用進行;
ContentProvide:不能存放數(shù)據(jù),五種存放數(shù)據(jù)方式之一,特點為:①為數(shù)據(jù)的獲取等操作添加一個統(tǒng)一的接口②可以實現(xiàn)跨應用訪問數(shù)據(jù);③可以實現(xiàn)Android中通訊錄、消息、音頻、視頻等的訪問或操作;通過ContentReceive進行數(shù)據(jù)的訪問,可以對數(shù)據(jù)進行增刪改查操作。
動畫: IO流: 序列化: AlertDialog:
Set實現(xiàn)類: 手機電量檢測:
自定義SurfaceView:
自定義View:三個構(gòu)造方法的區(qū)別
Message:Handler.obtain/new/Message.obtain
HttpUriConnection訪問網(wǎng)絡
gride 異步任務 動畫
抽象類和接口 反射 克隆 序列化 側(cè)滑的實現(xiàn) 數(shù)據(jù)庫 Socket:
Gson解析
異步任務和子線程區(qū)別 WebView 版本更新 照片的圓角化
Collection與Collections Sql語句
MVP框架與MVC: TCP與UDP的區(qū)別: 一鍵分享的流程: Http協(xié)議的理解: 不使用框架訪問網(wǎng)絡: List集合與set集合: 自定義View的流程: 線性布局的特點: ViewPager的原理: 服務的啟動方式:
Activity的啟動方式: Xml數(shù)據(jù)解析:
第三篇:手機軟件開發(fā)必學Android技術(shù)
手機軟件開發(fā)必學Android技術(shù)
席卷IT培訓市場,開發(fā)因其領(lǐng)域新,覆蓋面廣,而受到廣大應屆畢業(yè)生的關(guān)注?,F(xiàn)在大學生空有一張文憑,就業(yè)形勢卻頗為緊張,相反,Android開發(fā)的職位空缺卻相當大,所以很多大學生看準這塊“肥肉”,紛紛投身Android培訓,希望通過系統(tǒng)培訓解決當前就業(yè)難,薪水低的問題。
學習Android開發(fā),先要了解主要開發(fā)什么。其實主要是針對Android平臺開發(fā)應用軟件和游戲軟件。應用軟件涉及種類廣泛,如辦公工具、通信工具、視頻播放工具、閱讀器等,在智能手機普及的今天,手機用戶對于各種應用軟件的需求越來越高。這個時候不但需要大量的Android人才儲備,還對其技術(shù)有了更高的要求。而手機游戲是目前最受年輕人喜愛的,趣味性更強,薪水也樂觀。如此耀眼的舞臺,自然給了年輕人更多發(fā)揮的空間,但這里要注意,學習Android開發(fā),需要對軟件開發(fā)感興趣,具備一定的Java基礎(chǔ)。
甲骨文盈佳科技通過一個多月的零基礎(chǔ)階段教學,讓學員掌握扎實的編程功底,課程內(nèi)容包含Java開發(fā)環(huán)境、編程語言基礎(chǔ)、面向?qū)ο笏枷?、設(shè)計模式、數(shù)據(jù)結(jié)構(gòu)等。而在學員掌握基本的Android開發(fā)能力后,甲骨文盈佳科技第三階段教學,會重點講授Android游戲開發(fā),利用四周的時間,使學員可以掌握基于Cocos2d框架進行游戲開發(fā)的能力。
其實大學生能有足夠遠見去學一門技術(shù),說明能夠認識自身問題。選擇Android開發(fā)這個新領(lǐng)域,發(fā)揮自身學習能力強的優(yōu)勢,在培訓中鍛煉自己實際操作的能力,彌補動手能力弱,無項目經(jīng)驗的弱點,自然可以從根本上解決大學生就業(yè)問題?,F(xiàn)在移動互聯(lián)網(wǎng)屬于朝陽產(chǎn)業(yè),正敞開懷抱吸納Android開發(fā)人才。今天選擇學習Android開發(fā),就是為今后的成功打下堅實的基石。
第四篇:Android高級開發(fā)技術(shù)教學大綱
《Android高級開發(fā)技術(shù)》課程教學大綱
課程名稱(中文):Android高級開發(fā)技術(shù)
課程名稱(英文):Advanced Android Development Technology 適用專業(yè):計算機科學與技術(shù)、軟件工程、網(wǎng)絡工程 課程類別及課程模塊:學科專業(yè)課程/特色創(chuàng)新課程 課程編碼:11A023 學分/開課學期和周學時/學時類型/折算后總學時:
學分:
開課學期: 6
周學時:2+2 學時類型: 理論+實踐
折算后總學時:64 教材名稱及作者、出版社、出版時間、版次:《第一行代碼Android第2版》,郭霖,北京:人民郵電出版社, 2016 大綱主筆人:樊相奎 大綱審定人:李貴洋
一、課程的目的、要求和任務
近幾年移動終端的開發(fā)發(fā)展迅速,相關(guān)公司越來越多,隨著時間的推移,預計社會對移動終端開發(fā)領(lǐng)域人才的需求量也會迅速增多。據(jù)悉,在成都的軟件開發(fā)企業(yè)中,有多數(shù)企業(yè)都或多或少涉及移動終端開發(fā)領(lǐng)域。對于移動終端開發(fā)平臺,目前市場占有率最高,未來發(fā)展最有希望是iOS和Andriod開發(fā)平臺。其中Andriod由具有極度創(chuàng)新能力的Google公司開發(fā),同時Andriod采用開源方式,引入了大量合作開發(fā)伙伴,目前全世界有大量的公司采用Andriod作為移動終端開發(fā)平臺,包括三星、華為、小米等。
開設(shè)本課程的目的是使學生比較全面地了解和掌握移動終端設(shè)計的基本概念、原理及相關(guān)技術(shù),為以后的深入學習打下堅實的基礎(chǔ)。具體要求和任務是掌握Andriod移動終端開發(fā)平臺的具體開發(fā)語言、開發(fā)工具、調(diào)試方法等相關(guān)技術(shù)。
二、大綱基本內(nèi)容及學時分配
(一)Android開發(fā)起步(2課時)1.2.3.4.5.Android平臺簡介、背景介紹和平臺架構(gòu) Android開發(fā)環(huán)境的搭建,相關(guān)軟件的下載與安裝 虛擬設(shè)備的創(chuàng)建和使用 創(chuàng)建“Hello Android” Android應用程序的調(diào)試
說明:
(1)基本要求:介紹Android開發(fā)起步的相關(guān)知識,包括 Android平臺Android的背景及其應用程序的框架,通過讓學生完成一個hello world app的開發(fā),體驗一個android開發(fā)過程;
(2)教學重點:Android平臺Android的背景及其應用程序的框架,搭建Android的開發(fā)環(huán)境,使用開發(fā)平臺創(chuàng)建Android項目;(3)教學難點:平臺架構(gòu),Android應用程序的調(diào)試;
(二)Android應用程序的構(gòu)成(4課時)
1.2.3.4.5.6.7.8.Android系統(tǒng)架構(gòu) Activity生命周期 Android界面的布局 服務—Service 三大組件間通信—Intent AndroidManifest.xml解析 共享數(shù)據(jù)—content Provider 通知用戶—Android Notification
9.Android應用程序的生命周期
說明:
(1)基本要求:主要對Android的基本組件及Android應用程序的構(gòu)成進行介紹,同時還將對Android應用程序的生命周期進行分析,主要目的是讓讀者了解Android應用程序的構(gòu)成,掌握Android基本組件的特性及使用方法。(2)教學重點:了解Android應用程序的構(gòu)成,掌握Android基本組件的特性及使用方法,Activity以及Intent的概念及使用;
(3)教學難點:掌握應用程序的生命周期以及具體使用場景;
(三)Android布局管理器(4課時)
1.2.3.4.5.6.控件類概述,View類簡介、ViewGroup類簡介
線性布局,LinearLayout類簡介、線性布局案例
表格布局,TableLayout類簡介、表格布局案例
相對布局,RelativeLayout類簡介、相對布局案例
幀布局,F(xiàn)rameLayout類簡介、幀布局案例
絕對布局,AbsoluteLayout類簡介、絕對布局案例
說明:
(1)基本要求:介紹的內(nèi)容為Android平臺下的布局管理器。Android中的布局包括線性布局、表格布局、相對布局、幀布局和絕對布局,分別對每個布局管理器進行詳細的介紹。
(2)教學重點:了解Android平臺下的布局管理器及使用方法;(3)教學難點:布局管理器的嵌套使用,如何合理有效的使用嵌套布局;
(四)Android常用基本控件(2課時)
1.2.文本控件的介紹,TextView類簡介、EditText類簡介以及使用案例
按鈕控件,Button類簡介、ImageButton類簡介、Patch圖片簡介以及Patch圖片使用案例
3.4.狀態(tài)開關(guān)按鈕,ToggleButton類簡介以及開關(guān)按鈕的使用
單選按鈕與復選按鈕,CheckBox和RadioButton類簡介以及單選按鈕和復選按鈕使用案
5.6.圖片控件,ImageView類簡介以及圖片查看器
時鐘控件,AnalogClock和DigitalClock類簡介以及時鐘控件使用案例 7.日期與時間選擇控件,DatePicker類簡介、TimePicker類簡介以及日期時間控件使用案例
說明:
(1)基本要求:對進行用戶界面開發(fā)時常用到的Android基本控件進行介紹,主要包括文本框、按鈕、單選按鈕和復選按鈕、狀態(tài)開關(guān)按鈕和日期時間控件等,了解這些基本控件的工作方式有助于學習后面要介紹的Android中的高級控件。(2)教學重點:掌握Android基本控件及使用方法;(3)教學難點:不用布局文件,直接代碼生成控件;
(五)Android常用高級控件(4課時)
1.2.3.4.5.6.7.8.自動完成文本框,AutoCompleteTextView類簡介以及自動完成文本使用案例
下拉列表控件,Spinner類簡介以及下拉列表使用案例
列表視圖,ListView類簡介以及列表視圖使用案例
網(wǎng)格視圖,GridView類簡介以及網(wǎng)格視圖使用案例
畫廊控件,Gallery類簡介以及畫廊控件使用案例
滾動視圖,ScrollView類簡介以及滾動視圖使用案例
選項卡,TabHost類簡介以及選項卡使用案例
滑塊、進度條與星級滑塊,ProgressBar、SeekBar、RatingBar類簡介以及使用案例
說明:
(1)基本要求;上一章已經(jīng)介紹了Android中的一些基本控件,本章對Android中常用的高級控件逐一進行介紹。
(2)教學重點:掌握Android常用高級控件及使用方法;(3)教學難點:BaseAdapter適配器的概念以及使用;
(六)菜單與對話框(4課時)
1.菜單功能的開發(fā),包括選項菜單和子菜單簡介、選項菜單和子菜單使用案例、上下文菜單
2.對話框功能的開發(fā),包括對話框簡介、普通對話框、列表對話框、單選按鈕對話框、復選框?qū)υ捒?、日期及時間選擇對話框、進度對話框
3.消息提示,Toast的使用,Notification的使用
說明:
(1)基本要求:介紹用戶界面中菜單與對話框的開發(fā),同時還會對Android平臺下的Toast和Notification進行介紹。
(2)教學重點:掌握Android常用菜單和對話框的概念和使用;(3)教學難點:Notification的概念和使用;
(七)Android事件處理模型(2課時)
1.了解Android中的事件處理概念和模型;基于回調(diào)機制的事件處理,基于監(jiān)聽接口的事件處理。
2.掌握Android中的事件處理具體方法,包括OnClickListener、OnLongClickListener、OnFocusChangeListener、OnKeyListener、onTouchEvent、OnCheckedChange、OnItemSelected、日期和時間監(jiān)聽事件等;
3.說明:
(1)基本要求:對Android平臺用戶界面的各種事件響應進行詳細介紹,加深對Android平臺的事件處理模型的理解,熟練掌握控件的各種事件處理方法。
(2)教學重點:掌握Android中的事件處理概念以及具體的常用事件及其處理方法;(3)教學難點:理解基于回調(diào)機制和基于監(jiān)聽接口事件處理機理;
(八)消息廣播與服務(2課時)
1.2.BroadcastReceiver組件,BroadcastReceiver類簡介,基于廣播的案例
Service組件,Service類簡介,基于服務的案例
說明:(1)基本要求:在很多應用程序中,都會通過廣播形式來發(fā)送和接收消息,當應用程序接收到消息后,一般啟動一個Activity或者一個Service進行處理。本章對服務組件Service進行詳細介紹,章末通過對一個單機版的音樂播放盒的介紹幫助掌握服務組件的使用方法。
(2)教學重點:對Android的消息廣播機制及服務組件運行機理和具體使用方法;(3)教學難點:廣播Broadcast、服務Service的運行機制和處理原理;
(九)多線程及消息處理(4課時)
1.2.3.4.Android多線程,概述、創(chuàng)建線程、操作線程 UI線程與非UI線程
多線程中的常用類,包括Handler類、AsyncTask類、Timer定時器等 Android多線程通信機制
說明:
(1)基本要求:了解線程的概念、生命周期,通過實例學習,掌握多線程的創(chuàng)建、使用以及多種具體事項方式。
(2)教學重點:對Android的多線程運行機理和具體使用方法;(3)教學難點:線程同步;
(十)數(shù)據(jù)處理(4課時)
1.掌握SharedPreferences的使用方法 2.3.4.5.6.掌握各種文件存儲的區(qū)別與適用情況 了解SQLite數(shù)據(jù)庫的特點和體系結(jié)構(gòu) 掌握SQLite數(shù)據(jù)庫的建立和操作方法 理解ContentProvider的用途和原理(選講)掌握ContentProvider的創(chuàng)建與使用方法(選講)
說明:
(1)基本要求:本章要介紹訪問手機存儲卡的方法及如何在程序中使用SQLite數(shù)據(jù)庫。(2)教學重點:掌握Android數(shù)據(jù)存儲的相關(guān)機制和具體使用方法;(3)教學難點:SQLite數(shù)據(jù)庫的具體使用;
授課內(nèi)容及學時說明:前述大綱章節(jié)及學時分配是本門課程指導性意見,針對不同專業(yè)學生以及具體授課情況,授課教師對具體章節(jié)的內(nèi)容及學時可進行適當調(diào)整,但主要章節(jié)知識點(除可選部分)需要覆蓋到。
三、與其他課程的關(guān)系
1.先行課程:數(shù)據(jù)庫原理、Java 2.后續(xù)課程:無
四、考核方式
考核形式:考查
評分標準:平時成績占30%(主要考察課堂與上機考勤、實驗等方面),兩次階段性上機考試占40%,期末作品占30%。
五、參考書目
1.明日科技編著,《Android從入門到精通》,北京:清華大學出版社, 2016 2.李剛編著,《瘋狂Android講義(第3版)》,北京:電子工業(yè)出版社, 2015 3.(美)Erich Gamma等著,《設(shè)計模式》,北京:機械工業(yè)出版社,2013
第五篇:Android WebView總結(jié)
Android WebView總結(jié)
1、添加權(quán)限:AndroidManifest.xml中必須使用許可“Android.permission.INTERNET”,否則會出web page not available錯誤。
2、在要Activity中生成一個WebView組件:WebView webView = new WebView(this);
3、設(shè)置WebView基本信息:
如果訪問的頁面中有Javascript,則webview必須設(shè)置支持Javascript。
webview.getSettings().setJavaScriptEnabled(true);
觸摸焦點起作用
requestFocus();
取消滾動條
this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);
4、設(shè)置WevView要顯示的網(wǎng)頁:
互聯(lián)網(wǎng)用:webView.loadUrl("");本地文件存放在:assets文件中
5、如果希望點擊鏈接由自己處理,而不是新開Android的系統(tǒng)browser中響應該鏈接。給WebView添加一個事件監(jiān)聽對象(WebViewClient)
并重寫其中的一些方法
shouldOverrideUrlLoading:對網(wǎng)頁中超鏈接按鈕的響應。
當按下某個連接時WebViewClient會調(diào)用這個方法,并傳遞參數(shù):按下的url
onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest6、如果用webview點鏈接看了很多頁以后,如果不做任何處理,點擊系統(tǒng)“Back”鍵,整個瀏覽器會調(diào)用finish()而結(jié)束自身,如果希望瀏覽的網(wǎng)頁回退而不是退出瀏覽器,需要在當前Activity中處理并消費掉該Back事件。
覆蓋Activity類的onKeyDown(int keyCoder,KeyEvent event)方法。
public boolean onKeyDown(int keyCoder,KeyEvent event){
if(webView.canGoBack()&& keyCoder == KeyEvent.KEYCODE_BACK){
webview.goBack();//goBack()表示返回webView的上一頁面
return true;
}
return false;
}