Android 高级学习心得及项目要点
不知不觉隋老师已经带着我们做项目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 高级学习心得及项目要点相关推荐
- 记录第一次开发android的学习心得
文章目录 前言 一.自定义View 1.编写自定义view的样式 2.在activity对应的页面引用 3.编写自定义view java文件 二.mvp框架 1.contract 2.activity ...
- android中级培训,Android 中级学习心得
不知不觉一个月又过去了,中级部分已经学习完毕,给大家讲讲学习心得,希望对新人有所帮助,中级部分主要是一些控件的设置,以及实现一些控件的功能. Android通知系统,Tostask 比较常用:进度条p ...
- Android开发学习心得体会
文章目录 写在前面 一.Android开发是什么? 1.android开发面向那些应用? 2. 现在移动应用开发得项目架构方式? 3.怎么去尽快入门? 4.初学者要搞清楚的问题? 二.总结项目开发 1 ...
- 前端高级学习路线-1项目
主要两个项目, 一个是侧重于css特效方面的,要求就是非常酷,帅到没朋友 第二个项目侧重逻辑处理,用来升华你的逻辑能力 这两个项目可以从网上搜几个网站来模仿,之前我的学生有做过:苹果官网,魅族官网,花 ...
- 神经网络程序设计学习心得
神经网络程序设计学习心得 简枢 SB16225001 本学期有幸再次选择了孟宁老师的2016年秋-网络程序设计课程.该课程主要聚焦于神经网络程序设计,基于深度学习神经网络等机器学习技术实现一个医学 ...
- 3小时脱销!!!《我真有绝招》项目要点揭露!值得每个做游戏的玩家学习!...
.昨天<我真有绝招>上架Cocos微店,特价 ¥2288 预售10件,中午 12:30 前售馨,创下 Cocos Store 单品最强纪录! 当时只部署了10件库存,导致有用户无法购买,随 ...
- Android高级开发之【RxJava】详解(附项目源码)
文章大纲 一.什么是RxJava 二.为什么要用RxJava 三.RxJava使用详解 四.项目源码下载 一.什么是RxJava Rx(Reactive Extensions)是一个库,用来处理事件和 ...
- 中科大高级软件工程学习心得体会
中科大高级软件工程学习心得体会 在本门课程中,首先我对一些基本开发工具,如VSCode.Git.Vim.正则表达式等,重新审视了自己的认知,顺便学了一手shell编程,并在课程的基础上又自定义了很多配 ...
- 如何学习android高级编程
学了android高级编程有前途吗?进入2010年之后,android的应用开发进入了一个爆炸式增长的状态,从去年的不到1万款应用程序增加到现在的9万,而且即将突破10万,这也从开发者这一方面展现了用 ...
- react项目中的参数解构_一天入门React学习心得
一天入门React学习心得 阅读前必读 本文写的仓促,算是一个学习笔记吧,算是一个入门级的学习文章.如果你刚刚入门,那么可能一些入门的视频可能更加适合你.但如果具备一些知识,比如Vue,那么视频就不适 ...
最新文章
- form实现登陆操作
- 反垄断审查坚持一视同仁 光伏出口下滑源于欧盟政策
- diagram怎么记忆_UML20以上14图的解释、分类记忆方法及类之间6种关系
- JSP门户--JetSpeed
- APT: Package ‘vnc4server‘ has no installation candidate 排查过程及解决方法
- 详解3D物体检测模型: Voxel Transformer for 3D Object Detection
- JsonData工具类
- windows上配置nginx php,Windows下配置Nginx使之支持PHP
- Linux 多播(组播)例程
- java启动mysq服务_启动和关闭MySQL服务
- 移动Web界面样式-CSS3
- select2多选框无法手动排序问题[转载]
- JavaScript数组的某些操作(一)
- 10寸 nuc972_新唐ARM9之NUC972学习历程之系统的搭建和BSP包的使用
- OpenGL ES 3.1 Android扩展包介绍
- linux ftp查看列表命令,linux查询ftp命令
- 推荐一款手机app自动点击神器
- 电商购物评论的情感分析
- Fastdfs预留空间问题排查分析
- Mac 系统中文输入-xelatex模版