目录
任 务 书 1
一、 目的、要求 1
二、 主要内容 1
三、 进度计划 1
四、 设计成果要求 1
五、 考核方式 1
一、课程设计的目的与要求 3
二、设计正文 3

  1. 概述 3
    1.1 课题描述 3
    1.2 系统目标 4
    1.3 环境 4
  2. 系统需求分析 4
    2.1 用例图 4
    2.2项目结构 6
  3. 系统总体设计 6
  4. 详细设计 8
  5. 系统实现 8
  6. 测试 8
    三、课程设计总结或结论 10
    四、参考文献 11
    一、课程设计的目的与要求
    通过软件开发的实践训练,使学生进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
    具体如下:
    1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
    2.熟悉自动化的软件开发工具AndroidStudio3,并将其运用于软件开发的全过程;
    3.进一步加强和提高软件工程文档的编写能力;

二、设计正文
1.概述

1.1课题描述
随着网络信息的发展,网络在人们生活中的应用越来越广泛。人们分享自己的生活。但生活的任务繁重,人们在繁忙的工作生活中分享花的生活带来了很大的麻烦,该“花艺”应用Ap,提供给喜爱花植物的用户一个分享平台,用户可以分享自己的插花作品,分享自己精美的图片内容。

1.2系统目标

“花艺”应用Ap,提供给喜爱花植物的用户一个分享平台,用户可以分享自己的插花作品,分享自己精美的图片内容。同时该平台还是提供给用户分享好看的花签小卡片,卡片里记录可以记录日常或者记录记录学习内容以及花艺作品心得,打造一个花类植物的知识信息以及花艺共享平台。同时使用了隐式意图调用手机相机和相册,以及基本逻辑功能实现。

1.3环境
a) 操作系统: Windows10
b) 使用软件:
代码编写:AndroidStudio3
数据库:MYSQL
文档编写:Microsoft Word 2007.

c) 开发语言:Java

2.系统需求分析
花艺App是一款手机应用软件,提供服务主要为:花艺学堂,每日推出原创插花,为花艺爱好者提供美学指导;原创精美壁纸,每日更新,自动匹配适应手机屏幕;花艺研究社,为爱花人事和从业者提供系统的花艺教程。本文转载自http://www.biyezuopin.vip/onews.asp?id=15299较为灵活的文章管理功能。
根据应用的具体情况,系统的主要功能包括:
1.用户功能 :
(1)功能:登录、退出、个人管理
(2)花签日历卡:浏览花钱内容和管理
(3)个人花签管理:查看花签、修改花签、删除花签,增加花签
(4)知乎新闻:热点专题和其他专题
2.管理员功能:
(1)登录、退出、个人管理
(2)花签管理:查看花签、修改花签、删除花签,增加花签
(3)知乎新闻:热点专题和其他专题

package com.example.liuyi;import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;import java.util.Random;public class CodeUtils {//随机码集private static final char[] CHARS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9','a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm','n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M','N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'};private static CodeUtils mCodeUtils;private int mPaddingLeft, mPaddingTop;private StringBuilder mBuilder = new StringBuilder();private Random mRandom = new Random();//Default Settingsprivate static final int DEFAULT_CODE_LENGTH = 4;//验证码的长度  这里是4位private static final int DEFAULT_FONT_SIZE = 60;//字体大小private static final int DEFAULT_LINE_NUMBER = 3;//多少条干扰线private static final int BASE_PADDING_LEFT = 20; //左边距private static final int RANGE_PADDING_LEFT = 30;//左边距范围值private static final int BASE_PADDING_TOP = 70;//上边距private static final int RANGE_PADDING_TOP = 15;//上边距范围值private static final int DEFAULT_WIDTH = 200;//默认宽度.图片的总宽private static final int DEFAULT_HEIGHT = 100;//默认高度.图片的总高private static final int DEFAULT_COLOR = Color.rgb(0xee, 0xee, 0xee);//默认背景颜色值private String code;public static CodeUtils getInstance() {if (mCodeUtils == null) {mCodeUtils = new CodeUtils();}return mCodeUtils;}//生成验证码图片public Bitmap createBitmap() {mPaddingLeft = 0; //每次生成验证码图片时初始化mPaddingTop = 0;Bitmap bitmap = Bitmap.createBitmap(DEFAULT_WIDTH, DEFAULT_HEIGHT, Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(bitmap);code = createCode();canvas.drawARGB(0, 0, 0, 0);canvas.drawColor(DEFAULT_COLOR);Paint paint = new Paint();paint.setTextSize(DEFAULT_FONT_SIZE);for (int i = 0; i < code.length(); i++) {randomTextStyle(paint);randomPadding();canvas.drawText(code.charAt(i) + "", mPaddingLeft, mPaddingTop, paint);}//干扰线for (int i = 0; i < DEFAULT_LINE_NUMBER; i++) {drawLine(canvas, paint);}canvas.save();//保存canvas.restore();return bitmap;}/*** 得到图片中的验证码字符串** @return*/public String getCode() {return code;}//生成验证码public String createCode() {mBuilder.delete(0, mBuilder.length()); //使用之前首先清空内容for (int i = 0; i < DEFAULT_CODE_LENGTH; i++) {mBuilder.append(CHARS[mRandom.nextInt(CHARS.length)]);}return mBuilder.toString();}//生成干扰线private void drawLine(Canvas canvas, Paint paint) {int color = randomColor();int startX = mRandom.nextInt(DEFAULT_WIDTH);int startY = mRandom.nextInt(DEFAULT_HEIGHT);int stopX = mRandom.nextInt(DEFAULT_WIDTH);int stopY = mRandom.nextInt(DEFAULT_HEIGHT);paint.setStrokeWidth(1);paint.setColor(color);canvas.drawLine(startX, startY, stopX, stopY, paint);}//随机颜色private int randomColor() {mBuilder.delete(0, mBuilder.length()); //使用之前首先清空内容String haxString;for (int i = 0; i < 3; i++) {haxString = Integer.toHexString(mRandom.nextInt(0xEE));if (haxString.length() == 1) {haxString = "0" + haxString;}mBuilder.append(haxString);}return Color.parseColor("#" + mBuilder.toString());}//随机文本样式private void randomTextStyle(Paint paint) {int color = randomColor();paint.setColor(color);paint.setFakeBoldText(mRandom.nextBoolean());  //true为粗体,false为非粗体float skewX = mRandom.nextInt(11) / 10;skewX = mRandom.nextBoolean() ? skewX : -skewX;paint.setTextSkewX(skewX); //float类型参数,负数表示右斜,整数左斜paint.setUnderlineText(mRandom.nextBoolean()); //true为下划线,false为非下划线paint.setStrikeThruText(mRandom.nextBoolean()); //true为删除线,false为非删除线}//随机间距private void randomPadding() {mPaddingLeft += BASE_PADDING_LEFT + mRandom.nextInt(RANGE_PADDING_LEFT);mPaddingTop = BASE_PADDING_TOP + mRandom.nextInt(RANGE_PADDING_TOP);}
}








基于AndroidStudio的花艺分享平台APP设计相关推荐

  1. 基于Nodejs的知识信息分享平台的设计和实现

    <基于Nodejs的知识信息分享平台的设计和实现>该项目采用技术Nodejs.mysql数据库 ,项目含有源码.论文.PPT.配套开发软件.软件安装教程.项目发布教程.核心代码介绍视频等 ...

  2. 基于SSM框架的音频分享平台的设计与实现计算机毕业设计源码74192

    摘 要 在信息时代飞速发展的今天,人们获取信息的方式基本来源于互联网.互联网在人们娱乐生活上发挥着重要作用.传统的音乐网站大同小异,已经无法满足所有人的需要.基于SSM框架的音频分享平台可以让不同年龄 ...

  3. 基于AndroidStudio校园快递代拿跑腿app设计

    开发软件:Idea + Mysql + AndroidStudio2021 + 夜神模拟器 开发技术:Springboot + 原生Android,vue,ElementUI 开发一个基于androi ...

  4. 基于Springboot的生活方式分享平台的设计与实现

    需求: 由前台和后台管理两个部分组成.前台作为与用户直接交互的可视化界面,主要功能包括:用户登录.用户注册.首页浏览查看热门笔记分享.切换笔记分类.点赞评论收藏笔记.查看用户主页关注用户.搜索相关笔记 ...

  5. 基于uniapp+ssm+mysql一站式婚庆服务平台app设计

    开发软件:Idea + HBuilder + mysql 开发技术: SSM + Vue + uniapp 用户功能: 注册登陆,填写基本的个人信息,就可以注册,注册完成后即可登陆 查看店铺,在首页有 ...

  6. android studio 课程表,基于课程表的安卓Android手机控制APP设计(AndroidStudio,SQLite)(含录像)...

    基于课程表的安卓Android手机控制APP设计(AndroidStudio,SQLite)(含录像)(毕业论文12000字,程序代码) 摘 要 随着IT技术的发展,以前老套的课程表内容查询管理方式已 ...

  7. SSM+ 基于Java的花艺商城系统设计与开发 毕业设计-附源码171536

    摘 要 本论文主要论述了如何使用JAVA语言开发一个花艺商城系统 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发.在引言中,作者将论述花艺商城系统的当前 ...

  8. 基于Java毕业设计法律知识分享平台源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计法律知识分享平台源码+系统+mysql+lw文档+部署软件 基于Java毕业设计法律知识分享平台源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开 ...

  9. 基于java框架的图书分享系统的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java框架的图书分享系统的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java框架的图书分享系统的设计与开发计算机毕业设计源码+系统+lw文档+mysql数据库 ...

  10. 计算机毕业设计JavaIT技术交流和分享平台的设计与实现(源码+系统+mysql数据库+lw文档)

    计算机毕业设计JavaIT技术交流和分享平台的设计与实现(源码+系统+mysql数据库+lw文档) 计算机毕业设计JavaIT技术交流和分享平台的设计与实现(源码+系统+mysql数据库+lw文档) ...

最新文章

  1. Binary XML file line #8: Error inflating class android.support.v7.widget.RecyclerView
  2. 网络营销外包排名没效果想必是这些因素影响了网络营销外包
  3. 如何将通达信的预警股票发送到微信
  4. 史上最详尽的NLP预处理模型汇总
  5. 80x86汇编指令详解
  6. python 画三角函数_python,将三角函数绘制成二维数组
  7. Linux学习总结(十六)系统用户及用户组管理
  8. mysql5.7.12安装_mysql 5.7.12 winx64手动安装教程
  9. JavaScript:工具库MyTools.js(自用不断填充····)
  10. html 图片的缩略图,纯CSS制作缩略图片
  11. MQ--推模式与拉模式
  12. Canvas彩色樱花图案背景js特效
  13. 国内首台商用人形双足机器人发展史
  14. 怼人神器(Windows)
  15. 用 Python 自动玩王者荣耀,有点意思!
  16. 开发人员实用的在线工具
  17. apache和nginx对比
  18. 中文字体设置fontFamily无效
  19. python-windows安装cuda+cudnn+pytorch
  20. Visdrone2019数据集.txt标签文件转换为voc格式.XML标签文件

热门文章

  1. verilog语法错误
  2. Aspose.Barcode创建二维码应用代码示例
  3. Porter Stemming
  4. 深入浅出node.js第9章玩转进程摘录
  5. CCS中CMD文件详解
  6. 什么是用户价值分层?
  7. 计算机网络基础之广域网
  8. #web前端技术使用总结
  9. 【V-REP自学笔记(六)】基于V-REP逆运动学模块的机械臂轨迹规划
  10. 爬取虎嗅 5 万篇文章告诉你怎么样取标题