PPMNB-033_ -|五二血案├雷州步行街
淘宝减肥药排行榜十强
只推淘宝安全有效的减肥药

当前位置:PPMNB-033 > 减肥产品

PPMNB-033

时间:2020-07-09 21:38  编辑:江北区资讯网

PPMNB-033

XXXX

本科生毕业设计(论文)

学院(系):

专业:

学生:

指导教师:

完成日期年月

XXXXX本科生毕业设计(论文)

Android环境下人机对弈五子棋的设计与实现

TheDesignAndImplementationofgobangsysteminAndroidEnvironment

总计:毕业设计(论文)27页

表格:0个

图片:14个

XXXXX本科毕业设计(论文)

Android环境下人机对弈五子棋的设计与实现

TheDesignAndImplementationofgobangsysteminAndroidEnvironment

学院(系):

专业:

学生姓名:

学号:

指导教师(职称):

评阅教师:

完成日期:

Android环境下人机对弈五子棋的设计与实现

软件工程

如果你周边有同学苦逼于毕设的话,果断推荐这个公众号给他吧!

分享朋友圈,截图发给这个公众号(ifreeTeam),可以在我的万套毕业设计源码中选择你合适的一套哦。嘻嘻!

1[摘要]

2[摘要]移动互联网时代的到来极大的改变了我们的生活,而Android是一种以Linux为基础的开放源码操作系统迅速占领了智能机操作系统,所以在android环境下开发显得尤为必要。本文围绕一个“基于Android平台的五子棋游戏设计与开发”程序的设计和应用系统的开发课题为背景,详细介绍了在Android平台上以Java为语言编写游戏的过程。五子棋游戏的开发不仅是一个简单游戏的编写过程,更重要的是在系统分析和设计阶段所做的工作。该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用SQlite、SharedPreferences等数据存储功能,直到形成一个完善的可行性系统.界面美观、大方,方便的操作与良好的视觉感应共同构成了“基于Android平台的五子棋游戏设计与开发”的设计。

[关键词]Android,Java,数据存储,软件工程,五子棋

TheDesignAndImplementationofgobangsysteminAndroidEnvironment

SoftwareEngineeringMajorXXXX

1Abstract:ArrivalofthemobileInterneterahasgreatlychangedourlives,andAndroidisaLinux-basedopensourceoperatingsystemquicklyoccupiedthesmartphoneoperatingsystem,Androiddevelopmentisparticularlynecessaryunderthecircumstances.Thispaperfocusona"basedontheAndroidplatformofgobanggamedesignanddevelopment"programdesignandapplicationsystemdevelopmentissuesasthebackground,introducesindetailintheAndroidplatformtoJavalanguagewritegamesfortheprocess.ThedevelopmentoftheQuintetgameisnotjustaprogressofprograming.What’smore,weneedtopaymoreattentiontotheworkontheperiodofsystematicanalysisanddesign.Theprogramfollowsthesoftwareengineeringstrictlyandnarratesthemajordesignandsection.Thisprogrammailytalkabouttheperiodofthesystemdesignandthedetaileddesign.Andalsoitwillstudyonthebugfixingandimprovements.ByusingthesomefuctiongofdataloggingsuchastheSQlite,SharedPreferences,itbuildapracticablesystem.TheniceandexpertinterfaceandgoodvisualintroductionformthedesignwhichisbasedonthedesigninganddevelopmentofAndroidplatformgobanggame.

1Keywords:Android,java,DataStorage,SoftwareEngineering,gobang

目录

1.引言1

1.1人机对弈五子棋开发背景1

1.2Android游戏开发现状分析1

1.3相关知识的介绍2

1.3.1开发工具简介2

1.3.2数据存储方式2

1.3.3系统运行配置3

2.Android系统分析3

2.1Android系统的架构3

2.1.1应用层4

2.1.2应用程序框架4

2.1.3系统运行库4

2.1.4Linux内核5

2.2Android应用程序的主要组件5

2.2.1Activity5

2.2.2service6

2.2.3BroadcastReceiver6

2.2.4ContentProvider7

3.需求分析7

3.1功能需求7

3.2性能需求7

3.3可行性研究7

3.3.1经济可行性7

3.3.2技术可行性8

4.概要设计8

4.1系统功能结构及流程图8

4.2数据存储设计8

5.详细设计8

5.1界面的绘制8

5.1.1棋盘的绘制9

5.1.2棋子的绘制12

5.2游戏核心功能设计12

5.2.1背景音乐和音效13

5.2.2游戏的三种不同难度等级的设计与输赢判断13

5.3游戏帮助模块设计16

5.4游戏最高记录模块设计17

5.5游戏设置模块设计18

6.人机对弈五子棋的实现20

6.1触屏下棋落子的判断20

6.1.1触屏事件onTouchEvent方法简介20

6.1.2落子的判断21

6.2背景音乐和音效的实现22

6.3难度等级的实现23

6.3.1简单23

6.3.2中等24

6.3.3较难25

结束语26

参考文献26

致谢27

1.引言

随着计算机与网络技术的日益发达,同时也进入了高效的信息化时代,说起手机,没有一个人会感到陌生。近几年来一个名词一直影响着许许多多的手机用户,它就是智能手机。智能手机凭借其强大的功能吸引住了许多用户的眼球,因为有了广大的用户基础,智能手机也风靡一时。说起智能手机,除了他有一颗强大的CPU和其他一些较高配置的硬件外,其真正的智能还要归功于其不可缺少的智能操作系统。随着3G的到来,无线带宽越来越高,使得更多内容丰富的应用程序部署在手机上成为可能,比如视频通话、视频点播、移动互联网等。为了承载这些数据应用及快速部署,手机功能将越来越智能越来越开放。

1.1人机对弈五子棋开发背景

手机游戏也就应运而生,每个手机上都有手机游戏,上下班以及无聊闲暇时游戏是人们娱乐的一种方式。Android平台下的手机游戏更是受顾客的亲睐,手机游戏不仅玩起来比较方便,还有助于开发我们的思维,使大家在娱乐的同时也增长了见识,拓展了思维。五子棋对自己的思维及协调能力有益,能使我们注意力集中,耐心也有明显的提升,培养我们的逻辑思维能力,对智力以及记忆力都很有帮助。

1.2Android游戏开发现状分析

移动互联网时代的到来,在这个新的研究领域中,我国在世界上处于较为领先的地位,我国电信业正处在高速发展的阶段,特别是新业务、新服务在打造品牌、创建市场的时期,对电信产业的结构调整必须充分的考虑成本。由我国自主研发并获政府支持的TD-SCDMA制式技术,在频谱利用率、对业务支持具有灵活性等独特优势。这种全称为TimeDivision - SynchronousCDMA(时分同步CDMA)的技术,其空中接口采用了四种多址技术:TDMA,CDMA,FDMA,SDMA(智能天线)。综合利用四种技术资源分配时在不同角度上的自由度,得到可以动态调整的最优资源分配。克服由覆盖半径随用户数目的增加而收缩造成的呼吸效应和当手机靠近基站功率必定过剩而且形成有害的电磁辐射所造成的远近效应,并且实现了动态信道分配。而分别由欧洲和美韩所倡导的WCDMA和CDMA2000也各具优势。

我国拥有庞大的手机用户群体,为游戏产业的发展奠定了良好的用户基础。手机游戏的真正生命力,是成为最终吸引用户的关键所在。通过色彩艳丽的画面或奇特的游戏名称来吸引用户。3G手机游戏开发周期相对比较短,资金投入小,用户广泛统一;载体方便,很容易在市场上推广;如需收费,也合理方便。游戏可以锻炼思维及协调能力,能使我们注意力和耐心有所提高,培养我们的逻辑思维能力,对智力以及记忆力都很有帮助。

1.3相关知识的介绍

本游戏采用当前很热的Android系统,以Java语言为基础的2D手机游戏。用户游戏界面通过手机终端来实现,较强的人际交互。这样就大大简化了用户的操作,该游戏为免费游戏,用户可以放心使用。

此外,本系统采用了SharedPreferences作为应用程序的数据存储,用来存储简单的配置信息,简单快捷,占用系统资源少。背景音乐采用媒体播放功能实现,控制也比较方便。

1.3.1开发工具简介

本系统的开发环境是JDK1.6+MyEclipse8.5+AndroidSDK,使用的语言是Java语言。

JDK(JavaDevelopmentKit)是SunMicrosystems公司为Java开发人员设计的产品。从Java诞生以来,JDK已经成为使用最广泛JavaSDK。JDK是整个Java的核心内容,包括了Java运行环境,Java工具和Java基础的类库三部分。从Sun的JDK1.5开始,提供了一些非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的Java集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,Spring,CSS,Javascript,SQL,Hibernate。

AndroidSDK是软件开发工具包(softwaredevelopmentkit)。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件工具的集合。因此AndroidSDK是Android专属的开发工具包。其授权协议为Apache,开发语言为Java、需要Android操作系统的支持。

1.3.2数据存储方式

SharedPreferences存储方式,它是Android提供的用来存储一些简单配置信息的一种机制,例如:登录用户名和密码。其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入。最高纪录则用此存储方式进行存储。

SQlite存储方式,它是Android平台上集成的一个嵌入式关系型数据库。SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型虽然只有五种,但实际上sqlite3也接受varchar(n)、char(n)、decimal(p,s)等数据类型,只不过在运算或保存时会转成对应的五种数据类型。SQLite最大的特点是你可以保存任何类型的数据到任何字段中,无论这列声明的数据类型是什么。例如:可以在Integer字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。但有一种情况例外:定义为INTEGERPRIMARYKEY的字段只能存储64位整数,当向这种字段中保存除整数以外的数据时,将会产生错误。另外,SQLite在解析CREATETABLE语句时,会忽略CREATETABLE语句中跟在字段名后面的数据类型信息。

1.3.3系统运行配置

操作系统:Android2.1以上。

开发包:JDK1.6、AndroidSDK。

数据存储:SharedPreferences、SQlite。

2.Android系统分析

Android是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。作为一个层次结构的软件集,一定有一个层次的系统构架,下图为Android的构架图:

图2–1Android系统构架

2.1Android系统的架构

Android的系统架构和其操作系统一样,采用了分层的架构。android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。

2.1.1应用层

Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。

2.1.2应用程序框架

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统,其中包括:丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器;内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据:资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles);通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息;活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。

2.1.3系统运行库

系统运行库包括程序库和Android运行库。首先是程序库, Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。以下是一些核心库:系统C库-一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embeddedlinux的设备定制的;媒体库-基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG;SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合;LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图;SGL-底层的2D图形引擎;3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速;FreeType-位图(bitmap)和矢量(vector)字体显示;SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。其次是Android运行库,Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

2.1.4Linux内核

Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。

2.2Android应用程序的主要组件

对于一个Android应用程序来说,是由四种构造块组织而成的,这四种构造块如下:Activity;IntentReceiver;Service;ContentProvider。

但是,并不是每一个Android应用程序都需要这四种构造块,这不是必须的,某些时候,我们只需要这四种中的几种组合成我们的应用。当我们明确了我们的应用需要哪些构造块后,我们就需要在AndroidManifest.xml中登记这些构造块的清单。这是一个XML配置文件,这个配置文件用于定义我们的应用程序的组件、组件的功能及必要条件等。这个配置文件是每个Android应用必需的。对于AndroidMainfest.xml的Schema,参考SDK包附带的文档。

2.2.1Activity

Activity是Android构造块中最基本的一种,在应用中,一个activity通常就是一个单独的屏幕。每一个activity都被实现为一个独立的类,并且继承于Activity这个基类。这个activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。大部份的应用都会包含多个的屏幕。例如,一个短消息应用程序将会有一个屏幕用于显示联系人列表,第二个屏幕用于写短消息,同时还会有用于浏览旧短消息及进行系统设置的屏幕。每一个这样的屏幕,就是一个activity。从一个屏幕导航到另一个屏幕是很简单的。在一些应用中,一个屏幕甚至会返回值给前一个屏幕。当一个新的屏幕打开后,前一个屏幕将会暂停,并保存在历史堆栈中。用户可以返回到历史堆栈中的前一个屏幕。当屏幕不再使用时,还可以从历史堆栈中删除。默认情况下,Android将会保留从主屏幕到每一个应用的运行屏幕。

2–2Activity的生命周期

2.2.2service

Android中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类或者其他后台可以运行的程序。比较好的一个例子就是一个正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个activity会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。同时,系统也将保持这个service一直执行,直到这个service运行结束。另外,我们还可以通过使用Context.bindService()方法,连接到一个service上(如果这个service还没有运行将启动它)。

2.2.3BroadcastReceiver

BroadcastReceiver也就是“广播接收者”的意思,顾名思义,它就是用来接收来自系统和应用中的广播。

在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能;当网络状态改变时系统会产生一条广播,接收到这条广播就能及时地做出提示和保存数据等操作;当电池电量改变时,系统会产生一条广播,接收到这条广播就能在电量低时告知用户及时保存进度,等等。

Android中的广播机制设计的非常出色,很多事情原本需要开发者亲自操作的,现在只需等待广播告知自己就可以了,大大减少了开发的工作量和开发周期。而作为应用开发者,就需要数练掌握Android系统提供的一个开发利器,那就是BroadcastReceiver。

2.2.4ContentProvider

应用程序能够将它们的数据保存到文件中、SQL数据库中,甚至是任何有效的设备中。当你想将你的应用数据与其它的应用共享时,ContentProvider将会很有用。一个ContentProvider类实现了一组标准的方法,从而能够让其它的应用保存或读取此ContentProvider处理的各种数据类型。

3.需求分析3.1功能需求

五子棋分为五个模块:开始游戏、游戏说明、最高纪录、游戏设置、退出游戏。

1.开始游戏:

①.点击进入游戏。

2.游戏说明:

①.五子棋游戏规则的说明及操作说明。

3.最高纪录:

①.纪录不同难度获胜的最短时间,可清空。

4.游戏设置:

①.音效设置:开启/关闭音效、背景音乐的开/关。

②.难度设置:简单,中等,较难。

5.退出游戏:

①.退出游戏。

3.2性能需求

1.硬件环境:PC

2.软件环境:WindowsXP、Android2.1以上

3.3可行性研究3.3.1经济可行性

该软件为免费软件,不收取任何费用。开发周期相对较短,能有效的利用开发人员。

3.3.2技术可行性

运用Android智能手机的平台,开发人员具有一定的Android知识,熟悉的算法基础。智能手机拥有扎实的硬件平台以及较好的操作系统;该游戏能在手机上正常运行;操作简单,方便,为游戏玩家提供了一个良好的游戏平台。

4.概要设计4.1系统功能结构及流程图

根据系统功能的要求,可以将系统分解成几个功能模块来分别设计。系统结构如图4.1所示:

4–1系统结构图

4.2数据存储设计

根据系统所做的需求分析和系统设计,SharedPreferences为最有效的存储方式。它用来存储一些简单配置信息的一种机制,比SQlite更高效。

5.详细设计

系统详细设计是对每个模块功能的具体设计,包括界面、功能模块和设计要点等内容。

5.1界面的绘制

游戏主界面如图5.1所示:

5–1游戏主界面

点击‘开始游戏’时,可直接进入游戏;‘游戏说明’为相关的介绍以及游戏操作;‘最高纪录’记录不同难度等级的最高成绩;‘游戏设置’为设置游戏背景音乐、音效、以及难度;‘退出游戏’为退出整个游戏。

5.1.1棋盘的绘制

Canvas类主要实现了屏幕的绘制过程,其中包含了很多实用的方法,比如绘制一条路径、区域、贴图、画点、画线、渲染文本,下面是Canvas类常用的方法,当然Android开发网提示大家很多方法有不同的重载版本,参数更灵活。

voiddrawRect(RectFrect,Paintpaint)//绘制区域,参数一为RectF一个区域

voiddrawBitmap(Bitmapbitmap,Rectsrc,Rectdst,Paintpaint)//贴图,参数一就是我们常规的Bitmap对象,参数二是源区域(Android123提示这里是bitmap),参数三是目标区域(应该在canvas的位置和大小),参数四是Paint画刷对象,因为用到了缩放和拉伸的可能,当原始Rect不等于目标Rect时性能将会有大幅损失。

voiddrawLine(floatstartX,floatstartY,floatstopX,floatstopY,Paintpaint)//画线,参数一起始点的x轴位置,参数二起始点的y轴位置,参数三终点的x轴水平位置,参数四y轴垂直位置,最后一个参数为Paint画刷对象。

voiddrawText(Stringtext,floatx,floaty,Paintpaint) //渲染文本,Canvas类除了上面的还可以描绘文字,参数一是String类型的文本,参数二x轴,参数三y轴,参数四是Paint对象。

Paint类常用方法:

void setAntiAlias(booleanaa) //是否抗锯齿

void setColor(intcolor) //设置颜色,这里Android内部定义的有Color类包含了一些常见颜色定义

voidsetTextSize(floattextSize)//设置字体大小

本设计中棋盘的设置采用drawLine(floatstartX,floatstartY,floatstopX,floatstopY,Paintpaint)绘制。

相关代码:

mPaint.reset();

mPaint.setColor(Color.GRAY);

mPaint.setAntiAlias(true);

mPaint.setStrokeWidth(1);

can.drawLine(0,43,320,43,mPaint);

can.drawLine(10,45,310,45,mPaint);//横线

can.drawLine(10,75,310,75,mPaint);

can.drawLine(10,105,310,105,mPaint);

can.drawLine(10,135,310,135,mPaint);

can.drawLine(10,165,310,165,mPaint);

can.drawLine(10,195,310,195,mPaint);

can.drawLine(10,225,310,225,mPaint);

can.drawLine(10,255,310,255,mPaint);

can.drawLine(10,285,310,285,mPaint);

can.drawLine(10,315,310,315,mPaint);

can.drawLine(10,345,310,345,mPaint);

can.drawLine(10,375,310,375,mPaint);

can.drawLine(10,405,310,405,mPaint);

can.drawLine(10,435,310,435,mPaint);

can.drawLine(0,437,320,437,mPaint);

can.drawLine(0,438,320,438,mPaint);

can.drawLine(10,45,10,435,mPaint);//竖线

can.drawLine(40,45,40,435,mPaint);

can.drawLine(70,45,70,435,mPaint);

can.drawLine(100,45,100,435,mPaint);

can.drawLine(130,45,130,435,mPaint);

can.drawLine(160,45,160,435,mPaint);

can.drawLine(190,45,190,435,mPaint);

can.drawLine(220,45,220,435,mPaint);

can.drawLine(250,45,250,435,mPaint);

can.drawLine(280,45,280,435,mPaint);

can.drawLine(310,45,310,435,mPaint);

5.1.2棋子的绘制

本设计中棋子是用drawCircle在坐标上绘制一个经典几何图形。先判断是否有棋,是黑子还是白子,然后判断是哪个坐标,然后调用drawCircle绘制棋子

canvas.drawCircle(float,float,float,Paint)方法用于画圆,前两个参数代表圆心坐标,第三个参数为圆半径,第四个参数是画笔;

棋子绘制的简要代码如下:

privatestaticintcurChess[][]=newint[400][600];//判断是否有棋:无0,白1,黑2

privatestaticintcurChessx[]=newint[9];//9x12

privatestaticintcurChessy[]=newint[12];

privatestaticintper_Chessx[]=newint[9*12];//纪录玩家下棋的位置

privatestaticintper_Chessy[]=newint[9*12];

privatestaticintpc_Chessx[]=newint[9*12];//纪录庄家下棋的位置

privatestaticintpc_Chessy[]=newint[9*12];

for(inti=0;i。

猜你喜欢

最安全有效的减肥药

最安全有效的减肥药

编辑:小徐

现在的减肥药真的是真假难分,在选择减肥药的同时也应该更加小心,减肥药多种多样,那么如何才能选择最安全有效的减肥药,也成了很多小仙女的内心疑问,下面就跟着PPMNB-033小编一起看一下,如何选择最安全有效的减肥药。 最安全有效的减肥药选购方法 1、首先需要观察产品的外包装,在包装中可以看到其配方是不是含有激素,含有激素的减肥药对身体的内..

吃减肥药失眠

吃减肥药失眠

编辑:小徐

随着现在流行以瘦为美,很多人会不顾身体的健康选择减肥药,达到快速减肥瘦身的效果,但是很多减肥药都是有副作用的,副作用比较轻的就是失眠现象,那么吃减肥药出现失眠是怎么回事儿?如果出现失眠后,我们应该怎样缓解? 吃减肥药失眠是怎么回事 减肥药中富含安非他命,所以减肥药服用了太多会有失眠现象,服用减肥药期间,身体会逐渐出现抗药性,身..

最新文章