实训课:总结

    • 介绍
    • Android APP开发
      • Android Studio for Mac安装
      • Android Studio的基本操作
      • Android Studio的一些快捷键
      • 关于学习中涉及的知识了解和复习
      • 简单的模仿糗事百科的APP
    • web动画特效网页开发
      • Hbuilder的安装和使用
      • 关于动画
      • Hbuilder基本操作
      • HTMLCSS需要了解的知识点
      • Web动画
    • 结语


介绍


 有些忙,上课时发现了很多问题和疑问,总体来说这几天老师的教学进度非常快,我这个学期又翘了安卓的课,所以这几天学起来略显吃力。实训课有两个部分,一个是Android App开发,实现基本界面和通过json数据交换完成基本的网络数据接收功能。另一个就是简单的web网页开发,与以往不同的是要通过css来完成一些稍微复杂的动画展示。


Android APP开发:


Android Studio for Mac安装

Android Studio官网
实训课:总结_第1张图片

下拉网页下载对应系统的studio,我是mac系统所以往下的操作会和windows有些不同

点击链接
点击下载,也可以 点击此处下载(400M+)

 我的电脑已安装过所以没办法展示后续的安装,把它提示需要安装的环境根据提示自动下载即可,没有什么难度。需要提示一下如果在下载过程中断网或者意外关机(我在下载时网断掉下载被中断了)重新打开软件运行即可,他会提示你缺少的东西。
实训课:总结_第2张图片
主界面


Android Studio的基本操作

1.界面
实训课:总结_第3张图片

2.自动添加构造方法和getset.右键->Generate
实训课:总结_第4张图片

3.更改键盘的操作模式,因为之前是在eclipse操作,所以有些人还是习惯于eclipse的操作方式。

实训课:总结_第5张图片

实训课:总结_第6张图片

再有的话做补充.其他的于eclipse差不多,等发现在补充。


Android Studio的一些快捷键

//链接


关于学习中涉及的知识了解和复习

  1. 接口
    (1)接口与抽象类的区别?

    接口和抽象类都是继承树的上层,他们的共同点如下:
    1) 都不能被实例化
    2) 都能包含抽象的方法,这些抽象的方法用于描述类具备的功能,但是不比提供具体的实现。他们的区别如下:
    1) 在抽象类中可以写非抽象的方法,从而避免在子类中重复书写他们,这样可以提高代码的复用性,这是抽象类的优势;接口中只能有抽象的方法。
    2) 一个类只能继承一个直接父类,这个父类可以是具体的类也可是抽象类;但是一个类可以实现多个接口。
    来自知乎

    (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吧!(转载自“泡在网上的日子移动开发网站”)

  3. 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就成不了明星。
    实训课:总结_第7张图片

    摘抄自码农网


    (3)其他
       总Context实例个数 = Service个数 + Activity个数 + 1(Application对应的Context实例)


    (4)什么时候创建Context实例
        1、创建Application 对象时, 而且整个App共一个Application对象
        2、创建Service对象时
        3、创建Activity对象时
    转载至也是转载于http://blog.csdn.net/qinjuning

  4. @Nullable

       这些注解是用来标注方法是否能传入null值,如果可以传入NUll值,则标记为nullbale,如果不可以则标注为Nonnull.
    在我们做了一些不安全严谨的编码操作的时候,这些注释会给我们一些警告。
    转载自: 安卓中的@Nullable和NotNull 注释
    扩展阅读:可空类型是什么?

  5. Adapter
    1)简介

       Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(List
    View,Grid View)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:
    实训课:总结_第8张图片

    转载自Android之Adapter用法总结

  6. Json
    1)简介

       JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
       处理Javascript 和web服务器端的之间数据交换,一种传输数据的格式。

    JSON百度百科

    2)Json解析
       找到的json接口打开后基本都是难以辨认的,可以去http://www.json.cn解析接口

  7. 关于网络接口
       可以大概理解为不间断给应用传送报文的一个路径,而我也知道这条路,所以我走在这条路上,也可以传送的报文。(小白视角)
       JSON接口需要自己去查找,http://www.sojson.com/api/是个不错的选择。


简单的模仿糗事百科的APP

   模仿了功能界面,点击按钮、左右滑动可以切换视图,有了基本的网络功能。

   程序很简单,而且我关顾着上课没有记什么笔记。所以这次就先把资源放上来,里面也有老师写的备注,所以不是很难理解。
基于安卓开发的模仿糗事百科界面


web动画特效网页开发


Hbuilder的安装和使用

Hbuilder官网点击下载就可以,免费。


关于动画

实训课:总结_第9张图片
实训课:总结_第10张图片
实训课:总结_第11张图片

(这个水印太丑了,打算研究一下把他删掉。)
( CSDN博客中图片上的水印(转载))


Hbuilder基本操作

  1. 主界面
    实训课:总结_第12张图片

界面很简单,如果之前用过dreamwear很快就能上手

2. 快捷键
//链接。
快捷键


HTML&CSS需要了解的知识点

  1. position

       W3school的说明:

    实训课:总结_第13张图片

       这几种方式都可以达到同一个效果。比如我想让图片左边移动20px,这三种都可以做到。但是对于整体布局来说,是有影响的。

  2. nth-child

    nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。

    使用:公式 (an + b)。描述:表示周期的长度,n 是计数器(从 0 开始),b 是偏移值。(n 可以是数字、关键词或公式。)

  3. before after

    :before是css中的一种伪元素,可用于在某个元素之前插入某些内容。
    :after是css中的一种伪元素,可用于在某个元素之后插入某些内容。

    (转载)详解before和after

  4. transform&transtion
    transform:转换
    transition:过渡
    两者搭配就可以实现过渡动画的效果,当然通过修改长宽高也是可以的。

  5. @-webkit-keyframes
       这个困扰了很久,因为之前用keyframes做的动画,发现动画总是莫名奇妙的抖动,闪烁,查了资料,W3c给的解释是:

    目前浏览器都不支持 @keyframes 规则。
    Firefox 支持替代的 @-moz-keyframes 规则。
    Opera 支持替代的 @-o-keyframes 规则。
    Safari 和 Chrome 支持替代的 @-webkit-keyframes 规则。

    keyframes规则


Web动画

   实现的原理很简单,就是通过每个div的变换过渡动画来拼接成一个完整的动画。
   (那张welcome的图是P的,如果有新手想知道怎么做的可以私信我。另外背景素材是来自https://unsplash.com这种网站命都比较短,想下东西要抓紧。)
   把源码传上来,希望有大神看到可以帮忙指点。


结语

   这些天确实是很累,但是学到了很多,当然我也付出了的代价,没有基础硬跟着老师学Android开发。总之自己要学的东西还是太多了,我自以为html我是很熟练的,但是这次课程我依旧学到了很多东西,对自己学的东西保持谦卑才是我应该学习的。


你可能感兴趣的:(项目总结和讨论)