整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

安卓一步步从基础到精通自学教程,纯实战,纯干货(五)

安卓一步步从基础到精通自学教程,纯实战,纯干货(五)

注-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活。提供程序员技术及生活指导干货。

如果你真想学习,请评论学过的每篇文章,记录学习的痕迹。

请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果。

本系列课程是.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属性的值,更改我们在软件界面显示的文字。我们改为“做全栈攻城狮”

此时运行就显示做全栈攻城狮了。

这就是我们第一个安卓程序 是不是稍有成就感了。

常用安卓控件

  1. 常用的控件

    1. TextView:表示文本显示

    2. EditText:文本编辑框

    3. Button:按钮

    4. RadioButton:单选框

    5. CheckBox:复选框

    是不是和我们html有很多相似之处,相信学习过html的你一定不会感到陌生

2.常用的属性:

  1. android:layout_width:控件的宽度一般为:wrap_content(适应内容的宽度)和wrap_content(适应父类的宽度)或者固定的的数值(数值的单位为dp或者dip:如15dp)

  2. layout_height:同控件的宽度

  3. 控件的内边距:

  4. 控件的外边距



  5. 更改文字大小:android:textSize(字体的值用单位sp)例如

    更多控件知识后期在写代码过程中慢慢介绍。

3.简单计算器程序

我们实现一个简单的计算器程序界面。



下节课我们讲解如何和后台代码联系起来,真正实现加法计算器。

这是python开发学习的系列课程,您可以关注以下媒体平台,获取最新教程。

一点资讯、搜狐媒体平台,QQ公众平台、微信公众平台。企鹅媒体平台、UC订阅平台、百度发布平台都是“做全栈攻城狮”。

本次教程所有资源请关注:FullStackCourse。 点击关注:是首发平台。 大家也可以加QQ群:538742639,一起努力。500多个技术大牛等着你。

下篇文章:全栈工程师必备:安卓移动端手机开发,第六课


上图是视图的开发指导,官方给了个链接。

国内地址:

https://developer.android.google.cn/guide/topics/ui/index.html

view的使用

"直译"

窗口中的所有视图都排列在一棵树中.

可以通过代码或通过在一个或多个XML布局中指定视图树来添加视图.

有许多专门的视图子类可以充当控件,或者可以显示文本,图像或其他内容。

创建视图树后,通常可能需要执行几种类型的常见操作.



"人话"

窗口也就是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命令一样