Android程序猿从零开发小程序项目(二)

简介: Android程序猿从零开发小程序项目(二)

前言

经过3天的中秋小长假后,今天又开始回到我疯狂的学习状态中了,记得前面我已经分享了一篇:Android程序猿从零开发小程序项目(一),接下来已经完成了这个小程序项目的天气预报部分了,这天气预报是我刚接触小程序的时候,跟着别人学习的,由于当时很多不懂的,做得也有点乱,所以今天就重新整理到本项目中。

效果图

先看效果图吧。。。

image.png

实践

涉及到的必备知识css的一些基础、小程序的网络请求、小程序js交互逻辑,如果对这些不够了解的话,建议先补充这些方面知识。

1.新建天气预报页面pages:

新建好小程序pages后,开发工具会自动生成页面的.js、.json、.wxml、.wxss这4个文件,具体的作用我就不啰嗦了!

2.定义页面标题为“天气预报”,当然这里可以不定义,将默认显示app.js里定义的全部标题

1{
2  "navigationBarTitleText": "天气预报"
3}

3.布局排版wxml

1<!--天气预报-->
 2<view class='page-body'>
 3  <view class='top'>
 4    <image src="../../images/weather_bg.jpg" class="img-bg"></image>
 5    <view class='top-context'>
 6      <!--城市+天气信息-->
 7      <view class="currentWeather">
 8        <view class="city">
 9          <text decode="{{true}}">{{currCity}}&nbsp;{{currLocation}}</text>
10        </view> 
11        <view class='temp-view'>
12          <text class='temp'>{{nowTmp}}</text> <text >℃</text>
13        </view>
14        <view class='weather-view'>
15          <text decode="{{true}}">{{condTxt}}&nbsp;|&nbsp;{{lifeType}}</text>
16        </view>
17      </view>
18      <!--天气详情-->
19      <view class="weatherDetail">
20        <view>
21          <view>{{dir}}</view>
22          <view>{{windDir}}</view>
23          <view class="bold">{{windSc}}级</view>
24        </view>
25        <view class="wline"></view>
26        <view>
27          <view>相对湿度</view>
28          <view class="bold">{{hum}}%</view>
29        </view>
30        <view class="wline"></view>
31        <view>
32          <view>体感温度</view>
33          <view class="bold">{{fl}}℃</view>
34        </view>
35      </view>
36    </view>
37  </view>
38
39  <view wx:for="{{dailyForecast}}" wx:key="this" wx:for-index="i" wx:for-item="item">
40
41  <view class="future-weather-view">
42
43    <!--开头 日期显示判断 -->
44    <view class="item_temp" wx:if="{{i>=3}}">{{item.date}}</view>
45    <view class="item_temp" wx:else>{{day[i]}}</view>
46
47    <!--中间部分 图片(区分白天黑夜) 和天气情况-->
48    <view>
49      <image class="forecast-img" src="../../images/icons/{{item.cond_code_d}}.png" wx:if="{{updateTime < 18}}"></image>
50      <image class="forecast-img" src="../../images/icons/{{item.cond_code_n}}.png" wx:else></image>
51      <view class="item_temp" wx:if="{{item.cond_txt_d == item.cond_txt_n}}">{{item.cond_txt_d}}</view>
52      <view class="item_temp" wx:else>{{item.cond_txt_d}}转{{item.cond_txt_n}}</view>
53    </view>
54    <!--最后 温度 -->
55    <view class="item_temp">{{item.tmp_min}}/ {{item.tmp_max}}℃</view>
56  </view>
57</view>
58</view>

4.wxss样式,就是wxml的样式设置,主要用到flex布局,这里就只贴部分了,具体看demo

1.page-body {
2  width: 100%;
3  min-height: 100%;
4  display:flex;
5  flex-direction:column;
6  justify-content: space-between;
7  font-size: 32rpx;
8  font-family: -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
9}

5.js交互逻辑。主要是获取当前的位置经纬度,然后请求和风天气的接口,获取到天气数据后,动态展示到页面,具体看demo

 1//通过微信,获取当前经纬度
 2  getLocation: function () {
 3    var that = this;
 4    wx.getLocation({
 5      type: "wgs84",
 6      success: function (res) {
 7        var latitude = res.latitude //纬度
 8        var longitude = res.longitude //经度
 9        //显示加载动画
10        wx.showLoading({
11          title: '加载中',
12        })
13
14        //调用天气查询
15        that.getWeatherInfo(latitude, longitude);
16      }
17    })
18  },
19  //通过和风天气接口,获取天气情况
20  getWeatherInfo: function (latitude, longitude) {
21    var that = this;
22    var keyV = '01a7798b060b468abdad006ea3de4713';//你自己的key
23    var url = 'https://free-api.heweather.com/s6/weather';
24    wx.request({
25      url: url,
26      data: {
27        key: keyV,
28        location: longitude + ',' + latitude
29      },
30      success: function (res) {
31        //1解析整理数据
32
33        //2设置数据
34
35      }
36    });
37
38    //隐藏加载动画
39    setTimeout(function () {
40      wx.hideLoading()
41    }, 2000)
42  }

接下来我将会利用业余时间来完成这个属于自己的小程序项目,欢迎大家关注本公众号,一起学习,谢谢!

项目地址:https://github.com/zsml2016/LivingTools

相关文章
|
4天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
23 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
1天前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
14 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
16天前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
121 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
14天前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
37 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
29天前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
79 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
26天前
|
小程序 前端开发 关系型数据库
uniapp跨平台框架,陪玩系统并发性能测试,小程序源码搭建开发解析
多功能一体游戏陪练、语音陪玩系统的开发涉及前期准备、技术选型、系统设计与开发及测试优化。首先,通过目标用户分析和竞品分析明确功能需求,如注册登录、预约匹配、实时语音等。技术选型上,前端采用Uni-app支持多端开发,后端选用PHP框架确保稳定性能,数据库使用MySQL保证数据一致性。系统设计阶段注重UI/UX设计和前后端开发,集成WebSocket实现语音聊天。最后,通过功能、性能和用户体验测试,确保系统的稳定性和用户满意度。
|
9月前
|
存储 Java 开发工具
Android开发的技术与开发流程
Android开发的技术与开发流程
430 1
|
6月前
|
安全 Android开发 Swift
安卓与iOS开发:平台差异与技术选择
【8月更文挑战第26天】 在移动应用开发的广阔天地中,安卓和iOS两大平台各占一方。本文旨在探索这两个系统在开发过程中的不同之处,并分析开发者如何根据项目需求选择合适的技术栈。通过深入浅出的对比,我们将揭示各自平台的优势与挑战,帮助开发者做出更明智的决策。
104 5
|
6月前
|
移动开发 搜索推荐 Android开发
安卓与iOS开发:一场跨平台的技术角逐
在移动开发的广阔舞台上,两大主角——安卓和iOS,持续上演着激烈的技术角逐。本文将深入浅出地探讨这两个平台的开发环境、工具和未来趋势,旨在为开发者揭示跨平台开发的秘密,同时激发读者对技术进步的思考和对未来的期待。
|
6月前
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:技术选择的影响
【8月更文挑战第17天】 在移动应用开发的广阔天地中,安卓和iOS两大平台各领风骚。本文通过比较这两个平台的编程语言、开发工具及市场策略,揭示了技术选择对开发者和产品成功的重要性。我们将从开发者的视角出发,深入探讨不同平台的技术特性及其对项目实施的具体影响,旨在为即将步入移动开发领域的新手提供一个清晰的指南,同时给予资深开发者新的思考角度。
78 3

热门文章

最新文章

  • 1
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    14
  • 2
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    28
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    34
  • 4
    Android历史版本与APK文件结构
    121
  • 5
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    29
  • 6
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    23
  • 7
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    60
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    37
  • 9
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
    73
  • 10
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    121