基于安卓系统天气预报应用程序开发本科毕业论文(编辑修改稿)内容摘要:
在显示第四张图片时,如果继续向左滑动(实际是跳转到下一页的功能)时,会跳转到信息的主界面中。 信息界面之主界面( MainPage) 当进入到这个界面时,可能会停滞一会,因为程序会在启动这个界面时,会进行一些获取信息的操作,然后当信息获取成功后会显示设计的布局 中。 在这个界面中,会显示有以下信息: 地区:查询的城市名,并加一些修饰,如阴影设置,字体大小和颜色的设置,用于和其他信息进行区分。 日期:当天的日期,格式为 月 日。 天气:当天的天气情况。 天气图片:在天气的有方,显示与当天天气相符的天气图片,如太阳,云朵。 气温:格式为当天的最低温度 /最高温度,单位是摄氏度。 风力:风向和强度大小。 指数:有各项指数,包括穿衣指数 ,过敏指数等等。 天气实况:指查询时刻的天气情况,包含有空气质量,以及紫外线强度 ,湿度,天气,温度。 导航按钮:有三个小按钮,其中中间一 个是标为蓝色按钮的代表当前页。 菜单按钮:用点击这个按钮时,可以进入到查询界面。 背景:通过与查到的当天的天气相匹配,找到一个和预先放到程序中的图片。 天气不同,显示的背景不同。 9 滑动切换:左右滑动切换到信息界面二( NextPage)或者信息界面三( PreviousPage)。 在滑动时有一定的动作效果。 信息界面之二( NextPage) 在这个界面中,设计了用来显示未来两天大概的天气情况,即明天和后天的天气。 具体的显示信息有以下几部分: 标题:未来天气。 天气图片:和主界面中的天气图标类似,这里是根 据明天的天气情况来设置的。 明天的天气:这里会显示明天的天气情况,包括日期,天气,气温和风向风力等情况。 后天的天气:显示的内容和明天的天气相同。 天气图片:用于显示和后天天气相符的图片。 导航按钮:有三个小按钮,其中最右边的一个是标为蓝色的按钮代表当前页。 滑动切换:当用户向右滑动时,可以切换到信息的主界面中。 信息界面之三( PreviousPage) 在这个界面中 ,设计了用来显示城市大概的介绍,包括旅游情况和城市的发展历史。 具体的显示信息有以下几部分: 标题:城市介绍,设置字体大小和颜色。 介 绍内容:主要是显示所查询城市的发展历史,著名的旅游景点等信息。 导航按钮:有三个小按钮,其中最右边的一个是标为蓝色的按钮代表当前页。 滑动切换:当用户向左滑动时,可以切换到信息的主界面中。 当用户继续向右滑动时,会切换这个界面的背景,达到一定的绚丽性。 查询界面 当用户在信息的主界面中点击菜单按钮后,就会进入查询界面。 在查询界面中,主要设计用于查询 用户输入的 城市的天气信息,主要包括以下几部分: 检查网络按钮:用户可以用来检测当前手机的网络状态。 用一个图片作为这个按钮的背景,当用户点击该按钮时,会显示 当前的网络状态,或者返回获取失败。 定位按钮:用于获取用户当前的位置。 同样会用一个图片作为这个按钮的背景,当用户点击这个按钮时会显示一个圆形的进度条,在这个进度条中会显示“ 小陈正在努力为您获取 ...” ,如果获取用户当前位置成功时,会显示一个对话框,在对话框中会显示 “Chen Weather 欢迎您 ” 和一个用于进入天气界面的 10 按钮,在此同时会在屏幕的下方会显示用户所在的位置。 作者信息:在这里加了我本人的一点信息,在屏幕的中下方会显示 “Chen Weather” 、 “ 陈士杰 ” 和 “ 电子仪器 101班 ”。 输入信息框: 在屏幕的最下方会有一个输入框,用于用户输入所查询的城市,在这个框中,默认的是显示 “ 请输入要查询的城市(如:北京) ” ,并对这个输入框进行了背景设置,同时设置了用户输入城市时文字的颜色和大小。 查询按钮:顾名思义,这个按钮是供用户在输入城市后,进行查询天气信息的按钮,这个按钮和输入信息框都放在最底部,并列而置。 背景设置:这个界面的背景在安桌应用程序的配置文件中设置,不做过多的设计。 算法流程图 关于项目的算法流程图, 将在分别在 信息显示模块和查询模块来进行描述。 ( 1) 显示模块, 主要是运行这个程序时,通过定位 获取当前位置,然后得到当前位置的天气信息,并将结果信息显示出来, 流程图如图 3 所示: ( 2) 查询模块, 主要是得到要查询的城市名,然后进行查询,将得到的信息交给显示模块来显示, 流程图如图 4 所示: 11 图 32 显示模块流程图 Y 跳转到 NextPage 退出 向右滑动切换背景 查询 跳转到 PreviousPage 进入查询模块 向右滑动切换到主界面 向左滑动切换到主界面 显示信息 解析天气信息 获取天气信息 获取地址成功 显示程序启动界面 显示完成 Y 显示信息主界面 网络是否连接 开始 结束 获取用户所在地址 N N 12 图 33 查询模块流程图 判断合法。 获取当前的网络状态 开始 进入查询界面 获取用户当前所在地 获取所查询的城市 检测当前的网络状态 显示位置信息 显示网络状态信息 网络是否连接 Y N 解析天气信息 获取天气信息 显示信息 进入显示模块 结束 退出 Y N 13 4 项目实现 在项目实现方面,将以程序运行、界面显示、天气查询、定位、一个后台运行的 Service、以及下拉刷新等方面,来进行适当的描述。 启动画 面 在这个项目中,在 文件中建立了一个类,在该类的 onCreate方法中设置它的布局变量,并在配置文件中注册一下,声明该布局文件是程序启动时显示的界面。 public class MainActivity extends Activity { //一个 ImageView控件变量,是用来显示背景图片 private ImageView imageview。 protected void onCreate(Bundle savedInstanceState) { //给这个 Activity设置相应的的布局文件 setContentView()。 imageview = (ImageView) findViewById()。 //声明一个 Intent的变量,用来启动 Wel这个类 final Intent intent = new Intent(this, )。 Timer timer = new Timer()。 //创建一个时间任务队列,在这个队列中,先休眠 3*1000ms, 然后再执 //行 run(),启动 Wel (new TimerTask() { public void run() { startActivity(intent)。 finish()。 } }, 3 * 1000)。 }} 在。 android:name= ! 声明这个布局文件是开启时就 显示 action android:name= / category android:name= / 然后就会启动 Wel类,在这个类中会显示四张通过滑动选择的图片。 Java文件如下: public class Wel extends Activity { 14 //声明一些变量,此处省略。 //点击事件函数 public boolean onTouchEvent(MotionEvent touchevent) { switch (()) { // 当用户手指点击屏幕时,按下的动作,记录下手指所在的坐标。 case : { oldTouchValue = ()。 break。 } // 当用户手指离开屏幕的动作,记录这个时候手指所在的坐标 case : { float currentX = ()。 //代表向右滑动,显示前一个画面,第一画面除外。 if (oldTouchValue currentX) { i。 if (i 0) { //设置画面切换时的动作和我们看到的背景图片 (())。 (())。 ()。 } if (i 1) i = 1。 }//设置屏幕下方的导航按钮 setImageView(i)。 if (oldTouchValue currentX) { if (i == 4) { //当画面在第四个的时候,如果继续向左滑动,将启 //动 Weather类,进入显示界面 Intent intent = new Intent(this, )。 int flag = 1。 (fist_time_flag, flag)。 startActivity(intent)。 finish()。 } 15 i++。 setImageView(i)。 (())。 (())。 //显示下一个画面 ()。 } public void setImageView(int i) { if(i == 1) {//通过设置 ImageView控件变量,来显示四个导航按钮 ()。 ......} 信息界面显示实现 在代码中,没有具体的在一个文件中实现一个功能,这也是代码的一个重要的缺点,耦合程度高,独立性较差。 这也是在今 后的学习工作中要花比较大的精力来改善代码的耦合性。 显示模块中,主要的代码是在 、 和 文件中,以下是对显示模块中三个主要的文件进行分析: Weather 在这个文件中,创建了一个 Weather 类,主要的工作都是由这个类完成的。 当用户进入到这个类时,首先是进入 onCreate 方法,在这个方法中先进行一些类似初始化的工作。 在这个函数中会启动 GetWeatherService 这个服务,并和它进行绑定,提供天气查询的功能。 protected void onCreate(Bundle savedInstanceState) { //启动 GetWeatherService,来获取天气信息 startService = new Intent(this,)。 //设置下拉刷新时的显示界面,然后再设置 mPullScrollView的监听函数 mPullScrollView = new PullToRefreshScrollView(this)。 //开一个 handle消息处理 函数,采用的匿名内部类 handler = new Handler() { public void handleMessage(Message msg) { switch () { 16 //当程序运行功能界面时会首先选择这个情况 case fist_time: //首先会调用函数检测网络的连接状态 if(!getNetworkState()){} //从手机基站获取用户所在地的经度和纬度 itude = getLocation()。 //然后调用这个函数从谷歌地图中获取当前所在的城市 addr = getAddr(itude)。 //这个函数会开一个线程 ,通过 binder通信,与 //GetWe。基于安卓系统天气预报应用程序开发本科毕业论文(编辑修改稿)
相关推荐
reak。 case 0xB0: Run_Mode_Flag = 0x10。 break。 case 0xC0: 11 Run_Mode_Flag = 0x11。 break。 } } // 中间省略若干代码,详细参考源代码 // 全能车运行模式判断 if(0x01 == Run_Mode_Flag) // 蓝牙模式,通过串口与蓝牙模块通信,获得相应的执行指令 {
计 用于移动终端技术领域,提供了一种移动终端界面显示方法、装置以及移动终端,所述方法包括以下步骤:接收用户的界面显示模式设置;将用户的界面显示模式设置进行存储;根据用户的需要控制移动终端界面进入用户设置的界面显示模式。 本发明实施例通过将用户的界面显示模式设置进行存储,根据获取的移动终端运行指令控制界面进入用户设置的界面显示模式,使得移动终端的用户能够方便的 根据自己的需要对显示界面进行设置
的无缝链接。 有线电视网络数据传输技术 安徽广播电视大学开放教育专科计算机应用专业毕业论文 10 此技术类似于广电的宽带接入技术,比较适用于已经建成并使用的社区。 为了不破坏建筑物室内外的装修,利用已有的有线电视线路,在用户端增加线缆调制解调器,就可以实现不重新布线接入社区网络管理控制中心。 利用有线电视数据网络建设宽带社区网络主要注意以下问题。 1.有线电视网的传统业务是传输电视模拟信号
U=Q/C。 (28) C=Ξ s/4kπ d; (29) S=VL。 (210) U=( 4kπ d Q/Ξ L) *1/V。 (211) U—— 栅极板电压; Q—— 栅极板电量; C—— 栅极板电容量; S—— 栅极板正对面积; d—— 定栅和动栅的间距; V—— 测量移动速度; L—— 动栅极板长度; 于是容栅位 移传感器输出的电信号就与移动速度成反比例函数。
用户随身携带红外遥控器,不太方便,容易受到环境的影响。 相对成本也高,不利于普及。 方案二: HC06 蓝牙模块。 现在,人们都有手机,且手机的功能也很完善,在手机上安装一个蓝牙串口助手软件,就可以通过手机发送信号,经过 HC06蓝牙模块接收传到单片机处理后,控制 LED 灯以及冰箱,操作简单、方便。 方案选择:采用方案二,该性能稳定,可以保证稳定通信。 系统组成 该系统由 STC89C52
一个功能强大的轻量级关系数据库引擎。 ( 3) Dalvik VM, android平台的一个虚拟机,它相当于 PC中 Java的虚拟机 JVM。 ( 4) WebKit,一 个最新的 web浏览器引擎, WebKit用于支持 Andiroid的浏览器或嵌入式 web视图。 ( 5) 媒体库( Media Framework), 基于 OpenCore的 PackeVideo