一、项目成员
团队成员:
姓名 | 学号 | 博客地址 |
毛建 | 1600802019 | https://www.cnblogs.com/maojian/ |
青梅措毛 | 1600802055 | |
王伟 | 1600802064 | https://www.cnblogs.com/qhuww/ |
二、apk地址
https://coding.net/u/WWKing/p/CampusHeadlines/git/raw/master/CampusHeadlines/app-debug.apk
视频链接:https://pan.baidu.com/s/1t7Z3hYn1fYmJPIC2D_uDPQ
三、代码链接
https://git.coding.net/WWKing/CampusHeadlines.git
四、项目介绍
1、
2、项目介绍
我们小组所做的校园头条,实现了查看新闻,用列表展示新闻
使用viewpager+fragment实现了模块之间的转换;
第一页是对于一些推荐的内容进行展示,第二页是对于热点内容进行展示,第三页和第四页也和之前的相似
用户也可以进行登录
五、关键代码展示
1、获取按键值
private void InitView() { tv_item_one = (TextView) findViewById(R.id.tv_item_one); tv_item_two = (TextView) findViewById(R.id.tv_item_two); tv_item_three = (TextView) findViewById(R.id.tv_item_three); tv_item_four = (TextView) findViewById(R.id.tv_item_four); tv_item_five = (ImageView) findViewById(R.id.top_head); myViewPager = (ViewPager) findViewById(R.id.myViewPager); }
2、将每个页面添加到适配器上
public class TabFragmentPagerAdapter extends FragmentPagerAdapter { private FragmentManager mfragmentManager; private List<Fragment> mlist; public TabFragmentPagerAdapter(FragmentManager fm, List<Fragment> list) { super(fm); this.mlist = list; } @Override public Fragment getItem(int arg0) { return mlist.get(arg0);//显示第几个页面 } @Override public int getCount() { return mlist.size();//有几个页面 } }
3、将新闻进行存储
public class NewsBean { public String title; public String des; public Drawable icon; public String news_url; }
4、将新闻进行获取与显示
public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = View.inflate(getApplicationContext(), R.layout.listview_item, null); holder.tv_title = (TextView) convertView.findViewById(R.id.tv_title); holder.tv_des = (TextView) convertView.findViewById(R.id.tv_des); holder.iv_icon = (ImageView) convertView.findViewById(R.id.iv_icon); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } NewsBean item = getItem(position); holder.tv_title.setText(item.title); holder.tv_des.setText(item.des); holder.iv_icon.setImageDrawable(item.icon); return convertView; } } private static class ViewHolder { TextView tv_title; TextView tv_des; ImageView iv_icon; }
六、运行其他组的apk,选出前五名
(1)洪居兴组
总结:很实用,功能齐全
优点:他们组做的这个旅游app特别合适一些到外地旅游的同学,可以通过地图来进行对于自己的旅途规划,可以选择酒店,也可以将其看作一浏览各省的著名建筑的app等等
缺点:我在使用它们这个app时发现,当我注册好了之后,不知道自己的密码,而且也不能设置自己的密码,当我下一次打开的时候就不能用了。
如果我们引导:我觉得我会将其注册的界面放到后面,用户不登陆或者注册也可以使用,但就是有些涉及到个人隐私的就要注册。
(2)孟凡锚组
总结:界面简单,音频和视频皆有
优点:实现了音乐播放器的基本功能,而且也可以进行查看视频等操作,也实现了在线听歌的功能。
缺点:界面简单,虽然实现了视频的功能,但在app上查看的时候有些视频不知道是什么原因不能播放;在进行网络播放的时候,只是将其跳转到了一个网址,并没有实现真正意义上的网络歌曲试听。
如果我们引导:我觉得我们会将app的每个页面进行详细的划分,不会将列表和播放的功能放在一个页面上,这样显得有些不美观。
(3)李钊组
总结:功能齐全,专门对爱好乒乓球的人开发
优点:对于爱好乒乓球的人来说,这款app是特别好的,app不仅可以查看现在的世界排名,而且也可以查看每个优秀球员的视频集锦。布局也很舒畅,让人看了非常清晰
缺点:不知道怎么设置了视频这一块,当我查看的时候看不了视频
如果我们引导:我觉得我们会加一个网络收看直播赛事的功能,可以进行查看实时视频。
(4)贺鸿琨组
总结:实现基本功能,UI整体设计不错
优点:实现了基本的音乐切换和播放/暂停功能,UI设计上,将音乐列表和功能放在不同的页面,音乐播放时,实现了图片的旋转,后台播放等功能。
缺点:不能进行网络播放。
如果我们引导:我们将添加一个可以进行网络请求之后播放的功能。
(5)马秀莲组
总结:针对性强,整体设计不错
优点:用户可以进行登录、注册等功能,这里使用到了数据库的内容,可以对用户的身份进行判断;其次,可以查看一些快递的信息,他们这里显示的比较详细。
缺点:好友列表功能还未实现
如果我们引导:我们会在登录的时候对客户的信息进行强烈的加密,因为这个牵扯到客户的隐私。
七、团队在制作过程中所遇到的问题
1600802019 毛建
(1)在设计界面的时候不知道怎么去实现页面左右切换的效果。解决:通过查找资料将viewpager+fragment结合使用,将页面嵌入到主界面中。
(2)新闻列表显示的问题。解决:刚开始只是写了新闻的界面。发现只对一条新闻加跳转的话不理想,后面我通过给列表加监听,将其新闻的item传到相应的界面。
1600802055 青梅措毛
(1)登录功能实现的时候不知道怎么进行之间的传值。解决:使用了bundle进行页面之间的传值,没有使用到数据库。
1600802064 王伟
(1)布局之间会有冲突。解决:在使用线性布局或者相对布局的时候,使用了他们之间各有的特性。
八、团队的分工
姓名 | 分工 | 工作比例 | 分数 |
毛建 | UI+新闻列表实现 | 37% | 8 |
王伟 | UI设计+登录 | 33% | 7 |
青梅措毛 | UI设计 | 30% | 6 |