一步一步开发一个完整的APP(上篇)-数据库和后端服务开发(开发app怎么用数据库)

一、引子

近日学习了Flutter开发APP的技术,原来一直做后端,所以现在可以独力做一个包括前,后端的APP,这样可以把这些技术做一个串联。

一步一步开发一个完整的APP(上篇)-数据库和后端服务开发(开发app怎么用数据库)

二、APP功能概述

简单的日志APP:支持添加日志,查询历史日志功能。

三、所用技术

前端:Flutter。开发工具:VS Code。运行环境:Android。

后端:C#,WebSocket,mysql。开发工具:VS Studio 2017。运行环境:windows。

四、效果

一步一步开发一个完整的APP(上篇)-数据库和后端服务开发(开发app怎么用数据库)

APP最终效果

五、开发步骤

1,数据库设计

2,后端服务开发

3,前端APP开发

六、数据库设计

数据库使用mysql,只需简单创建一个表即可。

包括以下字段:id(int,自增),date(DateTime,日志的时间),Titlevarchar,标题),

content(varchar,内容)。

1,创建数据库:数据库名DayLog,字符集gb2312,确定。

一步一步开发一个完整的APP(上篇)-数据库和后端服务开发(开发app怎么用数据库)

创建数据库

2,创建数据表,表名daylog。

一步一步开发一个完整的APP(上篇)-数据库和后端服务开发(开发app怎么用数据库)

创建数据表

到这里数据库就创建完成了,上述步骤比较简略,如有疑问,请在评论中回复。

七、后端服务开发

1,创建一个控制台应用程序,名称为websockerserverExample。

一步一步开发一个完整的APP(上篇)-数据库和后端服务开发(开发app怎么用数据库)

创建项目

2,从NuGet添加WebsocketSharp库引用。

一步一步开发一个完整的APP(上篇)-数据库和后端服务开发(开发app怎么用数据库)

添加Websocket引用

3,从NuGet添加WebsocketSharp库引用。

一步一步开发一个完整的APP(上篇)-数据库和后端服务开发(开发app怎么用数据库)

添加json库引用

4,编写webSocket服务启动代码

//创建websocket服务

var server = new WebSocketServer(\”ws://192.168.1.19:7181\”);

//添加服务处理

server.AddWebSocketService<Log>( \”/log\” );

//启动

server.Start();

Console.WriteLine(\”WebSocket启动成功!\”);

while(true)

{

}

5,编写日志处理程序

public class Log : WebSocketBehavior

{

protected override void OnMessage(MessageEventArgs e)

{

//解析json字符串

dynamic obj = JsonConvert.DeserializeObject(e.Data);

String method = obj.Method;

//连接mysql

String connectStr = $\”Server=127.0.0.1;Port=3306;\”

$\”User=root;Database=daylog;Password=123456;Min Pool Size=100;\”

$\”Pooling=false;SslMode=none;Charset=utf8;Allow User Variables = True\”;

DayLog log = new DayLog()

{

ConnectionString = connectStr,

};

dynamic res=new ReturnObj();

if(method==\”Log.Add\”) //处理添加日志请求

{

String title = obj.Title;

String content = obj.Content;

dynamic r=log.Add(title, content);

res.Result = r;

Send(JsonConvert.SerializeObject(res));

}

else if (method == \”Log.GetList\”) //处理获取日志列表请求

{

dynamic r = log.GetList();

res.Result = r;

res.Method = \”Log.GetList\”;

Send(JsonConvert.SerializeObject(res));

}

}

}

6,编写数据库交互代码

//添加日志

public dynamic Add(string title,string content)

{

if(title==\”\”)

return false;

if (content == \”\”)

return false;

String sql=\” insert into DayLog(title,content,date)\”

\” values(\’\” title \”\’,\’\” content \”\’,\’\” DateTime.Now.ToString(\”yyyyMMddHHmmss\”) \”\’)\”;

var table = MysqlHelper.ExecuteReader(sql, ConnectionString);

if (table.RecordsAffected > 0)

{

table.Close();

return true;

}

table.Close();

return false;

}

/// <summary>

/// 获得日志列表

/// </summary>

/// <returns></returns>

public dynamic GetList()

{

String sql=\”select * from DayLog order by date desc\”;

var table = MysqlHelper.ExecuteReader(sql, ConnectionString);

List<dynamic> list = new List<dynamic>();

while (table.Read())

{

list.Add(new

{

Id=table.GetInt32(table.GetOrdinal(\”id\”)),

Title = table[\”title\”].ToString(),

Content = table[\”content\”].ToString(),

Date = table[\”date\”].ToString(),

}) ;

}

table.Close();

return list;

}

6,至此后端服务程序就可以正常启动了。App的开发过程将在下一篇文章中介绍,请关注。有任何疑问请在评论区回复!如需源码,请在评论区填写邮箱地址。

下篇地址: https://www.toutiao.com/i6732366510750171656/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年3月25日 上午8:12
下一篇 2023年3月25日 上午8:22

相关推荐

  • 涉黄交易竟还敢报警求助?这对“奇葩”男女双双被拘留!(涉黄价格)

    竟然有因退嫖资费用多少,双方争执不下而报警求助,要求警察评理的?这一对“奇葩”男女在“亮剑.清风”平安护夏百日行动中,近日被洛阳涧西警方“评理”——分别行政拘留并罚款处罚。 8月7…

    科研百科 2023年5月11日
    375
  • 国有企业党组织工作经费及书记补贴实施办法

    国有企业党组织工作经费及书记补贴实施办法 为加强国有企业党组织工作,保障党组织工作经费和书记补贴的充足性和合理性,根据《中国共产党章程》、《中国共产党组织经费管理办法》等相关法律法…

    科研百科 2024年11月17日
    0
  • 四川大学成果分级

    四川大学成果分级 四川大学是中国著名的综合性大学之一,拥有着丰富的学术资源和研究成果。为了更加客观和全面地评估四川大学的学术水平和研究成果,学校制定了一套成果分级体系,对四川大学的…

    科研百科 2024年9月30日
    32
  • 合同管理创新

    合同管理创新 随着互联网技术的发展和数字化时代的来临,合同管理已经成为了企业管理中不可或缺的一部分。然而,传统的合同管理方式已经无法满足现代企业的需求,因此,创新的合同管理方式已经…

    科研百科 2024年5月25日
    64
  • “工程机械无人驾驶技术研究”撰写课题申报书时研究思路撰写模版

    题目:工程机械无人驾驶技术研究 研究思路: 随着现代交通的不断发展,工程机械作为其中一种重要的交通工具,也面临着越来越严峻的挑战。为了应对这一挑战,我们计划开展工程机械无人驾驶技术…

    科研百科 2024年11月15日
    0
  • 浙江省科研项目管理网

    浙江省科研项目管理网 浙江省科研项目管理网是浙江省政府出资建设的一个科研项目管理信息系统,旨在为科研项目的立项、规划、实施、评估等过程提供全面的技术支持和管理服务。 通过浙江省科研…

    科研百科 2024年4月10日
    113
  • 集成系统项目管理师报名

    集成系统项目管理师报名通知 尊敬的考生: 感谢您对我们集成系统项目管理师考试的认可和支持。为了帮助您更好地准备考试,我们推出了最新的报名通知。 根据考试时间安排,集成系统项目管理师…

    科研百科 2024年5月31日
    79
  • 时间任务管理软件

    时间任务管理软件:如何高效地管理时间 时间是我们最珍贵的资源之一,但是如何管理时间却成为了许多人面临的挑战。现在,时间任务管理软件已经成为了一个不可或缺的工具,帮助我们更好地管理时…

    科研百科 2024年8月30日
    38
  • 山西和顺取得向香港提供活牛资格

      10月12日,从和顺县传来好消息,经山西出入境检验检疫局、省农业厅批准,该县成为供港活牛质量安全示范区。这意味着,和顺县将为香港提供活牛出口,全省活体动物出口的空白因此得以添补…

    科研百科 2022年6月4日
    286
  • 山西晋中打造畜牧业发展升级版

      去年以来,山西省晋中市畜牧兽医局在新班子的带领下,以建设现代化畜牧业强市为目标,以重点项目为抓手,强化科技支撑,推进机制创新,转变发展方式,积极在稳定规模、突出特色、优化结构、…

    科研百科 2022年5月25日
    291