Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
注-做全棧攻城獅,學代碼也要讀書,愛全棧,更愛生活。提供程序員技術及生活指導干貨。
如果你真想學習,請評論學過的每篇文章,記錄學習的痕跡。
請把所有教程文章中所提及的代碼,最少敲寫三遍,達到熟悉的效果。
本系列課程是.Net程序員學習安卓開發系列課程。
下面是前四次課程列表:
程序員帶你學習安卓開發,十天快速入門-安卓學習必要性
程序員帶你學習安卓開發,十天快速入門-開發工具配置學習
程序員帶你學習安卓開發,十天快速入-對比C#學習java語法
程序員帶你學習安卓開發,十天快速入門-基礎知識(四)
為了大家系統有效的快速入門安卓開發,推薦大家按照順序依次系統觀看本系列教程。
目錄:
第一個安卓程序
常用android控件
簡單計算器
第一個安卓程序
在前面課程中 我們已經創建過第一個android軟件。這次我們一起詳細解析一下,打開as
選擇start a new project
選擇最小支持的安卓版本:
我們可以點擊
help me choose 進行選擇。一般選擇api15就夠了。
接下來按照默認,一步一步操作就可以了。
稍等片刻,我們連接手機,然后點擊上方的運行按鈕。
手機界面上就會出現firstapp的應用:
此時我們打開activity_main.xml
選擇text選項卡
這個就是我們的界面文件。它是通過xml文件進行存儲的。類似于我們學習過的html和wpf的那種模式有前臺界面和后臺界面之分。
類似于html android的前臺文件也有對應的標簽來表示不同的空間。按照屬性進行設置。
我們看到里面的TextView就是文本顯示的控件,我們可以更改adnroid:text屬性的值,更改我們在軟件界面顯示的文字。我們改為“做全棧攻城獅”
此時運行就顯示做全棧攻城獅了。
這就是我們第一個安卓程序 是不是稍有成就感了。
常用安卓控件
常用的控件
TextView:表示文本顯示
EditText:文本編輯框
Button:按鈕
RadioButton:單選框
CheckBox:復選框
是不是和我們html有很多相似之處,相信學習過html的你一定不會感到陌生
2.常用的屬性:
android:layout_width:控件的寬度一般為:wrap_content(適應內容的寬度)和wrap_content(適應父類的寬度)或者固定的的數值(數值的單位為dp或者dip:如15dp)
layout_height:同控件的寬度
控件的內邊距:
控件的外邊距
更改文字大?。篴ndroid:textSize(字體的值用單位sp)例如
更多控件知識后期在寫代碼過程中慢慢介紹。
3.簡單計算器程序
我們實現一個簡單的計算器程序界面。
下節課我們講解如何和后臺代碼聯系起來,真正實現加法計算器。
這是python開發學習的系列課程,您可以關注以下媒體平臺,獲取最新教程。
一點資訊、搜狐媒體平臺,QQ公眾平臺、微信公眾平臺。企鵝媒體平臺、UC訂閱平臺、百度發布平臺都是“做全棧攻城獅”。
本次教程所有資源請關注:FullStackCourse。 點擊關注:是首發平臺。 大家也可以加QQ群:538742639,一起努力。500多個技術大牛等著你。
下篇文章:全棧工程師必備:安卓移動端手機開發,第六課
上圖是視圖的開發指導,官方給了個鏈接。
國內地址:
https://developer.android.google.cn/guide/topics/ui/index.html
view的使用
"直譯"
窗口中的所有視圖都排列在一棵樹中.
可以通過代碼或通過在一個或多個XML布局中指定視圖樹來添加視圖.
有許多專門的視圖子類可以充當控件,或者可以顯示文本,圖像或其他內容。
創建視圖樹后,通??赡苄枰獔绦袔追N類型的常見操作.
"人話"
窗口也就是windows,windows上有視圖"樹",我們在畫頁面時其實就是往視圖樹上添加view,當然,添加的方式即可以是xml也可以是代碼的形式。下面那兩句話,舉個例子就是TextView的常見類型操作setText();
總結:
我們對整個view學習要建立一個體系,有一個脈絡。(自己腦海中有一個大體的脈絡,再去補充一個一個知識點)
view的基本概念->view如何使用->如何自定義view
之后我會分享我的"脈絡",希望大家多多支持.
后續:
第一期:view的簡單介紹。
第二期:view添加到頁面的方式。
下一期:view的屬性和方法。
ttpwatch是比較常用的http抓包工具,但是只支持IE和firefox瀏覽器(其他瀏覽器可能會有相應的插件),對于想要調試chrome瀏覽器的http請求,似乎稍顯無力,而Fiddler 4 是一個使用本地 127.0.0.1:8888 的 HTTP 代理,任何能夠設置 HTTP 代理為 127.0.0.1:8888 的瀏覽器和應用程序都可以使用 Fiddler。
1、簡介
Fiddler是位于客戶端和服務器端的HTTP代理,也是目前最常用的http抓包工具之一。 它能夠記錄客戶端和服務器之間的所有HTTP請求,可以針對特定的HTTP請求,分析請求數據、設置斷點、調試web應用、修改請求的數據,甚至可以修改服務器返回的數據,功能非常強大,是web調試的利器。既然是代理,也就是說:客戶端的所有請求都要先經過Fiddler,然后轉發到相應的服務器,反之,服務器端的所有響應,也都會先經過Fiddler然后發送到客戶端,基于這個原因,Fiddler支持所有可以設置http代理為127.0.0.1:8888的瀏覽器和應用程序。使用了Fiddler之后,web客戶端和服務器的請求如下所示:
教程的意思在于,當你對某一新事物不熟悉的時候,幫助你了解一下而已。所以這里就挑一些足夠使用的tab來解釋一下。
2、Fiddler使用界面及其相關功能介紹
會話(web session)主要有以下幾種請求:
QuickExec命令行的使用:
Fiddler的左下角有一個命令行工具叫做QuickExec,允許你直接輸入命令。
常見的命令有:
help 打開官方的使用頁面介紹,所有的命令都會列出來
cls 清屏 (Ctrl+x 也可以清屏)
select 選擇會話的命令
?.png 用來選擇png后綴的圖片
bpu 截獲request
監聽開關 - 只有兩種狀態,用的時候就開著,不用就關閉。capturing表示捕捉狀態
監聽類型 - 四種狀態分別對應:監聽所有請求;監聽瀏覽器請求,監聽非瀏覽器請求,和全部隱藏(Hide All)
HTTP統計面板(Statistics):
通過陳列出所有的HTTP通信量,Fiddler可以很容易地向您展示哪些文件生成了您當前請求的頁面。使用Statistics頁簽,用戶可以通過選擇多個會話來得來這幾個會話的總的信息統計,比如多個請求和傳輸的字節數。
選擇第一個請求和最后一個請求,可獲得整個頁面加載所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優化。
還可以看出一些基本性能數據:如DNS解析的時間消耗,建立TCP/IP連接的時間消耗等等信息。
檢查器(Inspectors):
分為上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對于每一部分,提供了多種不同格式查看每個請求和響應的內容。JPG格式使用ImageView就可以看到圖片,HTML/JS/CSS使用TextView可以看到響應的內容。Raw標簽可以查看原始的符合HTTP標準的請求和響應頭。Auth則可以查看授權Proxy-Authorization和 Authorization的相關信息。Cookies標簽可以看到請求的cookie和響應的set-cookie頭信息。
AutoResponder:
可用于攔截某一請求,并重定向到本地的資源,或者使用Fiddler的內置響應。可用于調試服務器端代碼而無需修改服務器端的代碼和配置,因為攔截和重定向后,實際上訪問的是本地的文件或者得到的是Fiddler的內置響應。有些時候在測試環境和線上環境的不同,導致在線系統的js難以跟蹤調試特別是一些動態js腳本,該功能可以大大減少了在線調試的困難。
勾選Enable rules和Unmatched requestpassthrough,Add Rule是創建規則(為了方便可以直接將左邊的url拖拽到右邊列表中)。下面第一個文本框是當前選擇的url,在第二個文本框中選擇Find a file...,選擇本地保存后的文件。兩者就建立了一一對應關系。
例子如下:
本地js中增加了alert
使用AutoResponder后,調試10.33.30.219服務器代碼
這剛好是本地js中的內容,說明請求已經成功被攔截到本地.當然也可以使用Fiddler的內置響應。下圖是Fiddler支持的攔截重定向的方式:
前端開發的日常工作中,發現服務器上某個css/javascript文件有問題,需要修改。利用Fiddler的可以修改HTTP數據的特性,就能用本地文件替換線上css/javascript文件,基于生產環境修改并驗證,確認后再發布。
Filter:
Fiddler提供了多維度的過濾規則,足以滿足日常開發調試的需求。host和zone過濾??梢赃^濾只顯示intranet或者internet的HTTP請求也可以選擇特定域名的HTTP請求; client process:可以捕獲指定進程的請求
3、使用Fiddler進行HTTP斷點調試
通過設置斷點,Fiddler可以做到:
1. 修改HTTP請求頭信息。例如修改請求頭的UA, Cookie, Referer 信息,通過“偽造”相應信息達到達到相應的目的(調試,模擬用戶真實請求等)。
2. 構造請求數據,突破表單的限制,隨意提交數據。避免頁面js和表單限制影響相關調試。
3. 攔截響應數據,修改響應實體。
假設js前端程序員和服務器程序員是分工合作的,js程序員想要調試Ajax請求的功能,這樣便不必等待服務器端程序員開發好所有接口之后再開始開發js端的ajax請求功能,因為通過“模擬”真實的服務器端的響應,便可以保證功能的正確性,而服務器端開發程序員,只要保證最終的響應是符合規定的即可。這大大簡化了程序開發的效率。
有兩種方法設置斷點:
1.fiddler菜單欄->rules->automatic Breakpoints->選擇斷點方式,這種方式下設定的斷點會對之后的所有HTTP請求有效。
有兩個斷點位置:
a. before response。也就是發送請求之后,但是Fiddler代理中轉之前,這時可以修改請求的數據。
b.after response。也就是服務器響應之后,但是在Fiddler將響應中轉給客戶端之前。這時可以修改響應的結果。
終止斷點:在rules->auto breakpoint中disabled斷點即可。
2.命令行下輸入。Bpafter xxx或者bpv,bpu,bpm等設置斷點。這種斷點只針對特定類型的請求。
Bpu xxx,攔截請求數據并能進行修改。
web再次訪問文件,通過Fiddler的web session界面可以看到,請求已經被掛起來了,而web瀏覽器也一直處于加載的狀態。
修改請求參數value值后,點擊 “run to complete“,便可回送修改后的響應。
終止斷點:只需輸入命令“bpu”。
Bpafter xxx,攔截響應數據并能進行修改用法跟bpu命令一樣
*請認真填寫需求信息,我們會在24小時內與您取得聯系。