介绍
有些忙,上课时发现了很多问题和疑问,总体来说这几天老师的教学进度非常快,我这个学期又翘了安卓的课,所以这几天学起来略显吃力。实训课有两个部分,一个是Android App开发,实现基本界面和通过json数据交换完成基本的网络数据接收功能。另一个就是简单的web网页开发,与以往不同的是要通过css来完成一些稍微复杂的动画展示。
Android APP开发:
Android Studio for Mac安装
我的电脑已安装过所以没办法展示后续的安装,把它提示需要安装的环境根据提示自动下载即可,没有什么难度。需要提示一下如果在下载过程中断网或者意外关机(我在下载时网断掉下载被中断了)重新打开软件运行即可,他会提示你缺少的东西。
Android Studio的基本操作
1.界面
2.自动添加构造方法和getset.右键->Generate
3.更改键盘的操作模式,因为之前是在eclipse操作,所以有些人还是习惯于eclipse的操作方式。
再有的话做补充.其他的于eclipse差不多,等发现在补充。
Android Studio的一些快捷键
//链接
关于学习中涉及的知识了解和复习
-
接口
(1)接口与抽象类的区别?接口和抽象类都是继承树的上层,他们的共同点如下:
1) 都不能被实例化
2) 都能包含抽象的方法,这些抽象的方法用于描述类具备的功能,但是不比提供具体的实现。他们的区别如下:
1) 在抽象类中可以写非抽象的方法,从而避免在子类中重复书写他们,这样可以提高代码的复用性,这是抽象类的优势;接口中只能有抽象的方法。
2) 一个类只能继承一个直接父类,这个父类可以是具体的类也可是抽象类;但是一个类可以实现多个接口。
来自知乎(2)接口的作用?
当我们的用户需要要扩充功能的时候,只需要在外部做很小的修改就能实现,可以不用改动已经封好组件。
(转载):理解接口的作用 -
Fragment
(1)简介:Fragment是在Android 3.0 (API level 11)开始引入新的API技术。
为了提高代码重用性和改善用户体验,我们将Activity中的UI组件进行分组和模块化管理。这些分组后的UI组件就是Fragment。
一个Activity页面中可以包含多个Fragment模块,而同一个Fragment模块也可以被多个Activity使用。每个Fragment有自己的布局,有自己的生命周期。虽然Fragment拥有自己的生命周期,但因为Fragment必须被嵌入到Activity中使用,因此Fragment的生命周期是受其Activity宿主的命周期所控制的。当Activity暂停时,该Activtiy内的所有Fragment都会暂停;当Activity被销毁时,该Activity内的所有Fragment都会被销毁。(2)使用方式
fragment的使用分为静态和动态,动态的使用主要用于通过按钮或者滑动来实现切换界面的效果。
fragment的深入理解(转载)(我还没看,先转过来慢慢看)
扩展:Square:从今天开始抛弃Fragment吧!(转载自“泡在网上的日子移动开发网站”) -
Context
这个着实是令我很头痛的一个知识点,因为没有去上课,刚接触时对此完全懵逼不知从何下手,遇到函数里的形参为Context时完全不知道传的是什么。
(1)它是什么?1) 是一个抽象类,其通用实现在ContextImpl类中。Activity、Service、Application等都是该类的一个实现。
2)是一个访问application环境全局信息的接口,通过它可以访问application的资源和相关的类,其主要功能如下:
3)启动Activity 启动和停止Service 发送广播消息(Intent) 注册广播消息(Intent)接收者
4)可以访问APK中各种资源(如Resources和AssetManager等) 可以访问Package的相关信息 APK的各种权限管理(2)与其他控件的关系
View与Context(或Activity)的关系类似于明星与经纪人的关系,所以创建View时,必须明确指定其Context(即经纪人或大管家),否则View就成不了明星。摘抄自码农网
(3)其他
总Context实例个数 = Service个数 + Activity个数 + 1(Application对应的Context实例)
(4)什么时候创建Context实例
1、创建Application 对象时, 而且整个App共一个Application对象
2、创建Service对象时
3、创建Activity对象时
转载至也是转载于http://blog.csdn.net/qinjuning -
@Nullable
这些注解是用来标注方法是否能传入null值,如果可以传入NUll值,则标记为nullbale,如果不可以则标注为Nonnull.
在我们做了一些不安全严谨的编码操作的时候,这些注释会给我们一些警告。
转载自: 安卓中的@Nullable和NotNull 注释
扩展阅读:可空类型是什么? -
Adapter
1)简介Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(List
View,Grid View)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系: -
Json
1)简介JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
处理Javascript 和web服务器端的之间数据交换,一种传输数据的格式。2)Json解析
找到的json接口打开后基本都是难以辨认的,可以去http://www.json.cn解析接口 关于网络接口
可以大概理解为不间断给应用传送报文的一个路径,而我也知道这条路,所以我走在这条路上,也可以传送的报文。(小白视角)
JSON接口需要自己去查找,http://www.sojson.com/api/是个不错的选择。
简单的模仿糗事百科的APP
模仿了功能界面,点击按钮、左右滑动可以切换视图,有了基本的网络功能。
程序很简单,而且我关顾着上课没有记什么笔记。所以这次就先把资源放上来,里面也有老师写的备注,所以不是很难理解。
基于安卓开发的模仿糗事百科界面
web动画特效网页开发
Hbuilder的安装和使用
Hbuilder官网点击下载就可以,免费。
关于动画
(CSDN博客中图片上的水印(转载))
Hbuilder基本操作
- 主界面
2. 快捷键
//链接。
快捷键
HTML&CSS需要了解的知识点
-
position
W3school的说明:
这几种方式都可以达到同一个效果。比如我想让图片左边移动20px,这三种都可以做到。但是对于整体布局来说,是有影响的。 -
nth-child
nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。
使用:公式 (an + b)。描述:表示周期的长度,n 是计数器(从 0 开始),b 是偏移值。(n 可以是数字、关键词或公式。)
-
before after
:before是css中的一种伪元素,可用于在某个元素之前插入某些内容。
:after是css中的一种伪元素,可用于在某个元素之后插入某些内容。(转载)详解before和after
transform&transtion
transform:转换
transition:过渡
两者搭配就可以实现过渡动画的效果,当然通过修改长宽高也是可以的。-
@-webkit-keyframes
这个困扰了很久,因为之前用keyframes做的动画,发现动画总是莫名奇妙的抖动,闪烁,查了资料,W3c给的解释是:目前浏览器都不支持 @keyframes 规则。
Firefox 支持替代的 @-moz-keyframes 规则。
Opera 支持替代的 @-o-keyframes 规则。
Safari 和 Chrome 支持替代的 @-webkit-keyframes 规则。
Web动画
实现的原理很简单,就是通过每个div的变换过渡动画来拼接成一个完整的动画。
(那张welcome的图是P的,如果有新手想知道怎么做的可以私信我。另外背景素材是来自https://unsplash.com这种网站命都比较短,想下东西要抓紧。)
把源码传上来,希望有大神看到可以帮忙指点。
结语
这些天确实是很累,但是学到了很多,当然我也付出了的代价,没有基础硬跟着老师学Android开发。总之自己要学的东西还是太多了,我自以为html我是很熟练的,但是这次课程我依旧学到了很多东西,对自己学的东西保持谦卑才是我应该学习的。