不知不觉隋老师已经带着我们做项目8天了,项目也已经接近尾声了,主要和大家分享一下做项目的心得,要用到一些开源的项目,就不用我们自己写代码了,直接引用就行了。

开源项目:

1. ActionBarSherlock

2. SlidingMenu

3. 开源项目实现上拉下拉刷新XListView

4. ExpandableListView

可展开折叠ListView

一、 项目流程

现状:普遍延期

软件工程:规模较大、团队协作

建筑:工程

NASA:时间

成本

质量

中国软件:1. 产品

2. 外包(印度 中国)

离岸:日本、欧美

本地:中国

CMMI:能力成熟度模型

CMM3级

CMMI流程:在规定的时间、成本范围内保证软件质量

需求收集 运维

需求分析 验收测试

系统设计(架构、模块) 集成测试

概要设计(包、模块、类) 系统测试

详细设计(属性、方法) 单元测试

coding

1. 需求工程师 CEO

2. 需求分析 系统工程师(SE)

3. 高级软件工程师 架构师

4. 软件工程师 详细设计、coding、单元测试

5. 软件测试工程师

敏捷开发:

1. 迭代(小瀑布)

需求收集

需求分析设计 测试

coding

2. TDD 测试驱动开发

3. XP 个人

结对编程 Pair Programing

4. 40小时

5. Scrum 组织管理

项目开发:

1. 欢迎页面SplashScreen

a) 3秒钟后自动关闭,跳转到下一个Activity

动画:

1) TweenAnimation 补间动画

原理:通过改变图形的属性:大小、位置、透明度和角度

2) FrameAnimation 帧动画

原理:连续快速切换实现动画效果

步骤:

1. 准备连续图片资源

2. 新建XML,资源类型drawable,根元素animation-list

3. 配置图片顺序和切换时间间隔

<item android:drawable="@drawable/ic_launcher1"

android:duration="100"/>

4. 在布局中增加ImageView,src属性为frameanimation文件名

5. 代码中实现动画

AnimationDrawable drawable =

(AnimationDrawable) mImageView.getDrawable();

drawable.start();

新手指引 :用到ViewPager 左右滑动页面

ViewPager的使用步骤:

1. 初始化所有item

View layout0 = getLayoutInflater().inflate(R.layout.pager_item, null);

TextView textView0 = (TextView) layout0.findViewById(R.id.textView1);

textView0.setText("第0页");

2. 将所有item加入到容器中

ArrayList<View> layouts = new ArrayList<View>();

layouts.add(layout0);

3. 在布局中增加

<android.support.v4.view.ViewPager/>或参照文件名:fragment_pager.xml

4. 设置适配器

mPager.setAdapter(new PagerAdapter() {

public Object instantiateItem(View container, int position) {

View layout = layouts.get(position);

mPager.addView(layout);

return layout;

public void destroyItem(View container, int position, Object object) {

View layout = layouts.get(position);

mPager.removeView(layout);

}

public boolean isViewFromObject(View arg0, Object arg1) {

return arg0 == arg1;

}

public int getCount() {

return layouts.size();

}

项目:

1. 欢迎屏幕

没有标题

不能回退

3秒钟自动结束

2. 新手指引

第一次打开时显示,

不能回退

3. 项目的结构(UI)

1) 模仿iOS的Tab页

优点:直观(主要功能可见)

缺点:占用空间

2) 滑动菜单

优点:不占空间、操作方便

缺点:不够直观

4. Fragment

片段,Activity某个局部,类似于布局,

好处:消除局部布局代码的重复

使用步骤:

创建Fragment

1) 创建一个class,继承android.support.v4.app.Fragment

2) 重写onCreateView()方法,关联某个布局,返回inflater.inflate()

3) 绑定事件 提示 Fragment获取Context的方法: getActivity()

使用Fragment

1) 修改Activity,继承FragmentActivity

2) 在布局中增加FrameLayout,并指定id

3) 在activity中增加fragment

// 将Fragment添加到FrameLayout中

// 得到Fragment管理器

FragmentManager fm = getSupportFragmentManager();

FragmentTransaction ft = fm.beginTransaction();

Fragment fragment = new ButtonsFragment();

ft.add(R.id.content, fragment);

ft.commit();

等等。。。。

总结一下做项目的过程中遇到的问题及解决办法:

1.封装(复用):用于重复代码和布局,节约时间

2.学会怎么看Logcat:大多数问题都能从里面显示并能快速找到解决办法(英文不好的自己有道一下)

3.学会用调试

4.掌握代码运行的时机

5.命名,易懂,有代表性。相信有不少前辈在这上面栽过

6.记得加注释。相信有不少前辈在这上面也栽过

7.常量放到单独的类

8. 资源分类

9. 宏观掌握 计划

10.多多交流

11.小步测试,每做完一个功能测试一下

转载于:https://blog.51cto.com/hhss1986/1328906

Android 高级学习心得及项目要点相关推荐

  1. 记录第一次开发android的学习心得

    文章目录 前言 一.自定义View 1.编写自定义view的样式 2.在activity对应的页面引用 3.编写自定义view java文件 二.mvp框架 1.contract 2.activity ...

  2. android中级培训,Android 中级学习心得

    不知不觉一个月又过去了,中级部分已经学习完毕,给大家讲讲学习心得,希望对新人有所帮助,中级部分主要是一些控件的设置,以及实现一些控件的功能. Android通知系统,Tostask 比较常用:进度条p ...

  3. Android开发学习心得体会

    文章目录 写在前面 一.Android开发是什么? 1.android开发面向那些应用? 2. 现在移动应用开发得项目架构方式? 3.怎么去尽快入门? 4.初学者要搞清楚的问题? 二.总结项目开发 1 ...

  4. 前端高级学习路线-1项目

    主要两个项目, 一个是侧重于css特效方面的,要求就是非常酷,帅到没朋友 第二个项目侧重逻辑处理,用来升华你的逻辑能力 这两个项目可以从网上搜几个网站来模仿,之前我的学生有做过:苹果官网,魅族官网,花 ...

  5. 神经网络程序设计学习心得

    神经网络程序设计学习心得 简枢 SB16225001   本学期有幸再次选择了孟宁老师的2016年秋-网络程序设计课程.该课程主要聚焦于神经网络程序设计,基于深度学习神经网络等机器学习技术实现一个医学 ...

  6. 3小时脱销!!!《我真有绝招》项目要点揭露!值得每个做游戏的玩家学习!...

    .昨天<我真有绝招>上架Cocos微店,特价 ¥2288 预售10件,中午 12:30 前售馨,创下 Cocos Store 单品最强纪录! 当时只部署了10件库存,导致有用户无法购买,随 ...

  7. Android高级开发之【RxJava】详解(附项目源码)

    文章大纲 一.什么是RxJava 二.为什么要用RxJava 三.RxJava使用详解 四.项目源码下载 一.什么是RxJava Rx(Reactive Extensions)是一个库,用来处理事件和 ...

  8. 中科大高级软件工程学习心得体会

    中科大高级软件工程学习心得体会 在本门课程中,首先我对一些基本开发工具,如VSCode.Git.Vim.正则表达式等,重新审视了自己的认知,顺便学了一手shell编程,并在课程的基础上又自定义了很多配 ...

  9. 如何学习android高级编程

    学了android高级编程有前途吗?进入2010年之后,android的应用开发进入了一个爆炸式增长的状态,从去年的不到1万款应用程序增加到现在的9万,而且即将突破10万,这也从开发者这一方面展现了用 ...

  10. react项目中的参数解构_一天入门React学习心得

    一天入门React学习心得 阅读前必读 本文写的仓促,算是一个学习笔记吧,算是一个入门级的学习文章.如果你刚刚入门,那么可能一些入门的视频可能更加适合你.但如果具备一些知识,比如Vue,那么视频就不适 ...

最新文章

  1. form实现登陆操作
  2. 反垄断审查坚持一视同仁 光伏出口下滑源于欧盟政策
  3. diagram怎么记忆_UML20以上14图的解释、分类记忆方法及类之间6种关系
  4. JSP门户--JetSpeed
  5. APT: Package ‘vnc4server‘ has no installation candidate 排查过程及解决方法
  6. 详解3D物体检测模型: Voxel Transformer for 3D Object Detection
  7. JsonData工具类
  8. windows上配置nginx php,Windows下配置Nginx使之支持PHP
  9. Linux 多播(组播)例程
  10. java启动mysq服务_启动和关闭MySQL服务
  11. 移动Web界面样式-CSS3
  12. select2多选框无法手动排序问题[转载]
  13. JavaScript数组的某些操作(一)
  14. 10寸 nuc972_新唐ARM9之NUC972学习历程之系统的搭建和BSP包的使用
  15. OpenGL ES 3.1 Android扩展包介绍
  16. linux ftp查看列表命令,linux查询ftp命令
  17. 推荐一款手机app自动点击神器
  18. 电商购物评论的情感分析
  19. Fastdfs预留空间问题排查分析
  20. Mac 系统中文输入-xelatex模版

热门文章

  1. 用代码排出自己的名字
  2. django 静态文件的配置 orm 中 字段与数据的增删改查 使用MySQL数据库
  3. Sevlet处理HTML表单
  4. JAVA EE 课程目标
  5. Python学习之路:socket网络编程
  6. c# 实现查找mysql安装路径
  7. python time
  8. jasoncpp读取jason数据如何判断某一字段是否存在
  9. Socket层实现系列 — I/O事件及其处理函数
  10. 为Android Studio 项目手动下载gradle