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