不知不觉隋老师已经带着我们做项目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.小步测试,每做完一个功能测试一下