资源描述
山东交通学院
JAVA课程设计报告
题目:简单微信程序
院(系、部)
专 业
班 级
学 号
姓 名
指导教师
完成时间 2016.5.16—2016.5.29
成 绩
课程设计报告规范
课 程 设 计 任 务 书
题 目 使用Android开发简单微信程序
院 (部)
专 业
班 级
学生姓名
学 号
5 月 16 日至 5 月 29 日 共 2 周
指导教师(签字)
负责人(签字)
年 月 日
一、 设计内容及要求
两周的课程设计老师让我们通过学习到的内容分组进行程序设计,我们组的设计是使用Android开发一个类似微信登录注册同时进入微信时的界面,我们的组的设计是使开始出现微信登录图片,通过一段时间然后跳转到登录界面,上面有登录与注册按钮,如果以前登录过可以直接输入账号和密码,如果没有则点击注册会跳转到注册界面,直接注册后跳转的登录界面,然后输入账号和密码,界面跳转到初始界面,我们设计了三个界面,分别是聊天,通讯录,发现界面,
二、 设计原始资料
同过老师所讲得知识和实例进行课程设计,我通过老师所讲的类似QQ登录界面和英雄联盟人物介绍和菜单的列子进行了设计我的通讯录和动态界面,同时通过网上查找资料进行丰富。
三、设计完成后提交的文件和图表
1.计算说明书部分
课程设计报告(同时提交纸质版和电子版)
源程序(电子版)
程序的可执行文件(.APK)(电子版)
2. 图纸部分:
程序开始
登录注册界面
面
注册界面
微信界面
通讯录界面
动态界面
注册新账号
联系人对话
联系人信息
各个功能
四、进程安排
课程设计2周安排,前2天以老师以讲解java为主,在之后的几天里老师以讲解Android程序设计,到第二周的星期三停止讲课,留下星期四让我们小组合作设计一个小程序,周五答辩。我们在星期四进行查阅资料、分析问题、设计方案,然后进行分工,每个人进行各自的设计部分,周四晚上进行组合,调试;周五早上进行准备和完善,然后进行答辩,完成答辩后则整理资料撰写课程设计报告。
五、主要参考资料
1. 董佑平,夏冰冰.《Java语言及其应用》.清华大学出版社
2. 徐迎晓.《Java语法及网络应用设计》.清华大学出版社
3. 姜忠强.《java程序设计实用教程》.清华大学出版社
成 绩 评 定 表
作品成绩
报告成绩
口试(答辩)成绩
总评成绩
目录
1. 摘要 -------------------------------------------------------------8
2.问题要求及任务描述 ----------------------------------------9
2.1 题目要求 ---------------------------------------------------------9
2.2 主要任务 ---------------------------------------------------------9
3. 解决问题的主要思路和方法 ---------------------9
3.1 关键问题 ---------------------------------------9
3.2 解决方案 ---------------------------------------9
3.3 主要算法 ---------------------------------------9
4. 程序实现--------------------------------------11
4.1程序实现时应考虑的问题--------------------------11
4.2主要源代码及说明--------------------------------11
5. 测试 -----------------------------------------17
6. 小结-------------------------------------------19
6.1设计遇到问题的解决方法及程序实现小结-------------19
6.2尚未解决的问题及下一步工作思路-------------------19
7.参考文献---------------------------------------20
摘 要
通过了两个星期的课程设计学习,我们复习回忆了上学期所学的java知识,同时通过上学期的java知识,以此为基础我们简单的学习和实习了Android的程序开发。老师让我们通过两周的学习,通过学习到的知识通过小组合作开发Android的小程序,我们组的程序是使用Android开发的类似微信登录注册同时刚一进入微信的窗口。我负责微信小程序的进入微信的通讯录和动态界面。同时我了解到JAVA是目前最流行的软件开发语言之一,称为网络上的“世界语”。JAVA适合开发基于多媒体、与平台无关、用面向对象的方法进行的基于Internet、Intranet、Extranet的Applet和应用程序。它具有简单高效、面向对象、不依赖于机器结构的特点,支持多线程、分布和并发机制。用JAVA开发的应用软件在可移植性、健壮性、安全性等方面大大优于已存在的其他编程语言。 JAVA是一门包含多种知识的学科,提供了丰富的类库,能最大限度地利用网络。JAVA可广泛用于面向对象的事件描述、处理面向对象的企业型的应用开发,还应用于Internet系统管理、Web页面设计、Internet可视化软件开发等方面。而Android虽然使用Java 语言 作为开发 工具 ,但是在实际开发中发现,还是与Java SDK 有一些不同的地方。Android SDK引用了大部分的Java SDK,少数部分被Android SDK抛弃,比如说界面部分,java.awt package除了java.awt.font被引用外,其他都被抛弃,在Android平台开发中不能使用。将Java 游戏 移植到Android平台的过程中,Android SDK与Java SDK的区别是很需要注意的地方。通过两周的课程设计使我复习回忆了java的知识同时也提前学习和认识了Android的开发,同时通过实践也更好的运用了所学的知识,使我有了很多的收获和感受。
关键字词:Android,实践,界面设计,学习
二. 问题问题要求及任务描述
2.1题目要求
两周的课程设计老师让我们通过学习到的内容分组进行程序设计,我们组的设计是使用Android开发一个类似微信登录注册同时进入微信时的界面,我们的组的设计是使开始出现微信登录图片,通过一段时间然后跳转到登录界面,上面有登录与注册按钮,如果以前登录过可以直接输入账号和密码,如果没有则点击注册会跳转到注册界面,直接注册后跳转的登录界面,然后输入账号和密码,界面跳转到初始界面,然后我们设计了三个界面,分别是聊天,通讯录,发现界面,这就是我们设计的程序。
2.2主要任务
我的任务是在设计号的程序里面去添加联系人和动态页面,通过Android的编程设计出联系人和动态的页面的布局,同时通过编程将代码添加的程序里面。通过这个任务可以使我能够复习利用所学的知识,只有实践才能将所学实用结合在一起。
三. 解决问题的主要思路和方法
3.1.关键问题
我在编程中遇到的关键问题是程序界面的布局,同时将他们联系在一起,
因为老师的讲解我通过将老师所讲的英雄联盟英雄的简绍和菜单的布局作为参考来设计。
3.2.解决方案
在进行自己小组的编程练习设计之前,老师讲解了几个Android开发的小程序,所以我通过老师对于游戏英雄联盟人物的简绍和菜单的布局的例子作为参考同时还要和类似QQ登录界面嵌入的设计参考,我进行了设计,通过相对布局里面嵌套线性布局的方式解决。
3.3.主要算法
<RelativeLayout xmlns:android=" //
android:layout_width="match_parent" //RelativeLayout(相对布局)
android:layout_height="match_parent"
android:background="@drawable/b2" //添加图片
android:orientation="vertical" /排列方向,Vertical垂直排列
>
<LinearLayout //线性布局
android:id="@+id/title"
android:layout_width="fill_parent"
//匹配该布局的宽度,手机屏幕多宽,该布局多宽
android:layout_height="45dp"
android:background="@drawable/b1" //添加图片
android:gravity="center_horizontal|center_vertical" >
//调整元素本身的内容或元素包含的子元素显示的位置,默认是显示在左侧
<TextView //显示一行或多行文本
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发现"
android:textColor="#ffffff" //设置字体颜色
android:textSize="20sp" />
</LinearLayout>
//1
<ImageView //加载各种来源的图片
android:id="@+id/ph"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"//控件里有该代码.某空间相对于父控件左对齐
android:layout_below="@+id/title" //设置当前控件的位置在某个位置下面,
android:background="@drawable/ic_launcher"
android:padding="3dp" /> //元素边框与元素内容之间的距离
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignBottom="@+id/ph"//当前控件的底边对齐指定控件的底边
android:layout_marginLeft="20dp" //距离左边框的距离;
android:layout_toRightOf="@+id/ph" //某元素的右边
android:text="朋友圈"
android:textSize="20dp"
android:textStyle="bold" //设置字形[bold(粗体)
android:typeface="sans" /> //设置文本字体
四. 程序实现
4.1程序实现时应考虑的问题
程序实现需要考虑到可以与我们小组设计的程序能结合在一起才可以,通过不断的调试和进行修改才可以,同时使程序能够清晰不易混乱,有清晰的命名和各个方法的设计不起冲突。
4.2主要源代码及说明
通讯录界面和发现界面
<RelativeLayout xmlns:android=" //
android:layout_width="match_parent" //RelativeLayout(相对布局)
android:layout_height="match_parent"
android:background="@drawable/b2"
android:orientation="vertical" //排列方向,Vertical垂直排列
>
<LinearLayout //线性布局
android:id="@+id/title"
android:layout_width="fill_parent" //匹配该布局的宽度,手机屏幕多宽,该布局多宽
android:layout_height="45dp"
android:background="@drawable/b1"
android:gravity="center_horizontal|center_vertical" >//调整元素本身的内容或元素包含的子元素显示的位置,默认是显示在左侧
<TextView //显示一行或多行文本
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发现"
android:textColor="#ffffff"
android:textSize="20sp" />
</LinearLayout>
//1
<ImageView //加载各种来源的图片
android:id="@+id/ph"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"//控件里有该代码.某空间相对于父控件左对齐
android:layout_below="@+id/title" //设置当前控件的位置在某个位置下面,
android:background="@drawable/ic_launcher"
android:padding="3dp" /> //元素边框与元素内容之间的距离
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignBottom="@+id/ph"//当前控件的底边对齐指定控件的底边
android:layout_marginLeft="20dp" //距离左边框的距离;
android:layout_toRightOf="@+id/ph" //某元素的右边
android:text="朋友圈"
android:textSize="20dp"
android:textStyle="bold" //设置字形[bold(粗体)
android:typeface="sans" /> //设置文本字体
//2
<ImageView
android:id="@+id/ph1"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/name"
android:background="@drawable/ic_launcher"
android:padding="3dp" />
<TextView
android:id="@+id/name1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignBottom="@+id/ph1"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@+id/ph1"
android:text="扫一扫"
android:textSize="20dp"
android:textStyle="bold"
android:typeface="sans" />
//3
<ImageView
android:id="@+id/ph2"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/name1"
android:background="@drawable/ic_launcher"
android:padding="3dp" />
<TextView
android:id="@+id/name2"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignBottom="@+id/ph2"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@+id/ph2"
android:text="摇一摇"
android:textSize="20dp"
android:textStyle="bold"
android:typeface="sans" />
//4
<ImageView
android:id="@+id/ph3"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/name2"
android:background="@drawable/ic_launcher"
android:padding="3dp" />
<TextView
android:id="@+id/name3"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignBottom="@+id/ph3"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@+id/ph3"
android:text="附近的人"
android:textSize="20dp"
android:textStyle="bold"
android:typeface="sans" />
//5
<ImageView
android:id="@+id/ph4"
android:layout_width="60dp"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/name3"
android:background="@drawable/ic_launcher"
android:padding="3dp" />
<TextView
android:id="@+id/name4"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignBottom="@+id/ph4"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@+id/ph4"
android:text="游戏"
android:textSize="20dp"
android:textStyle="bold"
android:typeface="sans" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragment_second"
android:background="#ffffff">
</ListView>
package com.example.weixin;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class T1 extends BaseAdapter {
private String names[];
private int images[];
private Context context;
public T1(String[] names,int[] images
,Context context) {
super();
this.names = names;
this.images = images;
this.context=context;
}
public int getCount() { //方法用来控制列表项的个数
//获取listwith中item数组长度
return names.length;
}
@Override
public Object getItem(int arg0) { //返回该对象本身
//获取下标对应的item,下标是参数
return names[arg0];
}
@Override
public long getItemId(int arg0) {
return arg0;
}
public View getView(int arg0, View arg1, ViewGroup arg2) {
//获取下标对应item的得到视图
//布局转换,把xml文件转换成View的对象(layoutinflater)布局转换器
arg1=LayoutInflater.from(context).inflate(R.layout.tong, null);
ImageView image=(ImageView) arg1.findViewById(R.id.ph);
TextView text=(TextView) arg1.findViewById(R.id.name);
text.setText(names[arg0]);
image.setImageResource(images[arg0]);
return arg1;
}
}
public View onCreateView1(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View list=inflater.inflate(R.layout.fragment_secong, container,false);
listSize=(ListView) list.findViewById(R.id.fragment_second);
T1 adapter=new T1(names, images,getActivity());
listSize.setAdapter(adapter);//把数据映射到界面里边
return list;
}
五.测试
1.登录注册界面
2.注册界面
3.微信界面
4. 通讯录界面
5.发现界面
六. 小结
6.1设计遇到问题的解决方法及程序实现小结
在设计程序和测试中遇到很多的问题,虽然有很多的不足,但我尽自己最多的能力去完善程序,可能有一些并不是太过于满意的地方但是我发现只要去查找资料和问知道的人就会解决,所以不懂就要去努力的学习的这句话我认为是很正确的。
6.2尚未解决的问题及下一步工作思路
我设计的程序部分还是简单了些,当时我设计的使动态中可以点击进行跳转到动态图片播放,可是在跳转这一步的时候出现了一些问题,等以后可以进行完善,使程序看起来更加的饱满和完善,同时将程序进行一下美化,现在的还是太过于简朴了一些,所以需要在空闲是进行Android程序设计的学习,希望可以将程序更加完美的实现。
七. 参考文献
1.董佑平,夏冰冰.《Java语言及其应用》.清华大学出版社
2.徐迎晓.《Java语法及网络应用设计》.清华大学出版社
3.姜忠强.《java程序设计实用教程》.清华大学出版社
目 录
第一章 总论 5
1.1项目概要 5
1.2可行性研究报告编制依据 8
1.3综合评价 8
第二章 项目背景及必要性 11
2.1项目建设背景 11
2.2项目建设的必要性 13
第三章 建设条件 16
3.1项目区概况 16
3.2项目建设条件优劣势分析 21
第四章 市场分析与销售方案 26
4.1市场分析 26
4.2销售策略、营销方案和模式 29
4.3风险分析 30
第五章 项目建设方案 32
5.1建设任务和规模 32
5.2建设规划和布局 32
5.3工艺(技术)方案 32
5.4建设内容 35
5.5实施进度安排 36
第六章 环境影响评价 38
6.1环境影响 38
6.2环境保护与治理措施 38
第七章 项目组织与管理 40
7.1组织机构与职能划分 40
7.2劳动定员 40
7.3经营管理模式 41
7.4经营管理措施 41
7.5技术培训 42
7.6劳动保护、安全卫生与消防 42
第八章 投资概算与资金来源 44
8.1投资概算依据 44
8.2投资概算 44
8.3资金来源 46
第九章 财务评价 47
9.1财务评价依据 47
9.2销售收入、销售税金和附加估算 47
9.3总成本及经营成本估算 48
9.4财务效益分析 49
9.5不确定性分析 50
9.6财务评价结论 51
第十章 社会效益评价 52
10.1社会评价基本结论 52
10.2农业产业化经营 52
10.3农民增收、农业增效评价 54
10.4其它社会影响 55
第十一章 可行性研究结论与建议 56
11.1可行性研究结论 56
11.2问题与建议 56
23
展开阅读全文