如果你想开发一个应用(1-18)

之前代码里,todos的列表已经完成了,但是数据都是之前固定在数据库中的,而且所有的值都是提前设置好的固定值,这当然是不可行的,因为我们是一个记事工具,记事功能都没有,那算什么记事软件,接下来的内容,应该算是应该记事功能开发的前传。

记事功能##

3.JPG

再次贴上这张图,分析一下我们如果记事的时候,都需要那些内容:

  • 日期时间
  • 标题
  • 内容
  • 定位
  • 天气
  • 心情

接下来我们分析一下这些内容的来源和做法:

  1. 日期时间就不用说了,取提交后服务器的系统时间。
  2. 标题和内容同样简单,都是用户手动输入的
  3. 心情略微麻烦些,需要找到若干个icon,然后由用户选择当前的心情
  4. 天气略微麻烦一些,需要找第三方的接口,获取当前手机所在地的天气情况
  5. 定位,是天气的前提,也是输入的一个属性,下面要终点介绍。

定位##

在现在的开发服务器内,是无法获取定位的,需要通过手机来获取定位信息,这里就需要先将代码打包成apk(以安卓系统为例),然后通过手机获取经纬度信息,从而定位,然后根据定位获得的经纬度来获取所在的城市,街道等名称,已经所在城市街道的天气情况。

打包(Cordova)##

要使程序跑在手机上,那么先决条件就是要进行打包,也就是生成一个apk的文件(不考虑ios),这里我选择了最简单,也是目前比较流行的一条路,cordova。

开始的时候,想使用与vue最般配的打包方式weex,但试用了一周之后,发现这个的技术栈有点复杂,并且他与cordova有一个本质的区别,他是使用js开发原生控件,而cordova是内嵌浏览器。这也意味着在开始没有规划的情况下,有些css文件必须需要重写以适应,所以最终,还是回退到了cordova这种内嵌浏览器的方式。

就如刚刚所说,cordova是目前我能想到的最简单一种方式,但是,因为我们的目标是打包apk程序,所以在使用cordova之前还需要进行一下准备工作。

安装Android环境###

这一步是比较麻烦的一步,由于众所周知的原因,在国内是无法访问android开发者官网的,所以需要在国内的镜像下载sdk等内容,我是在androiddevtools进行的下载,进入站点后:

选择Android SDK 工具
选择SDK Tools
点击android-sdk_r24.4.1-windows.zip

下载之后,解压放到自己喜欢的位置(注意目录中最好不要有空格和中文),然后双击SDK Manager.exe,选择自己所需要的sdk,我的部分选择:

1.PNG

安装完成之后,编译android需要从环境变量中查找sdk环境,所以需要配置环境变量:

2.PNG

当然,最终还要在path中进行配置:

3.PNG

最后使用echo %android_home% 输出sdk所在地址即可

安装gradle###

Gradle 是 Android 现在主流的编译工具,所以,编译android程序还需要配置gradle,这个就比较简单了,在gradle官网下载,然后同android一样,保存到一个没有空格和中文的目录下,配置环境变量即可,最终扔需配置到path内,最后使用命令测试一下:

4.PNG

出现类似这种画面,即代表安装完成。

安装cordova###

前戏做完,终于轮到了正菜,接下来就安装cordova工具,因为之前已经安装了npm,这步就非常的简单了

npm install -g cordova  //全局安装

创建项目

接下来,首先忘记之前的项目,创建一个测试项目用于测试:

cordova create mydiary com.niufennan.jtodos mydiary

完成之后,可以看见测试目录下多出了mydiary目录,这个就是项目目录。接下来进入项目目录:

cd mydiary

安装android平台

cordova platform add android@6.4.0

6.4.0为版本信息,当前最新及默认为7.0.*版本,但是安装7.0版本后会发生与插件不匹配的现象,经过多次测试,都没有找到方法,差点导致从入门到放弃事件,所以最终妥协了,选择了6.4版本。

安装百度地图插件###

因为cordova框架现在默认使用谷歌浏览器内核(cordova-plugin-geolocation)定位,但是由于墙的存在,所以这个定位目前来说是 无法使用的,于是用百度定位就成了一个选择。

百度定位首先要申请一个百度定位sdk的key,注意要不要选择浏览器而要选择androidsdk

5.PNG

注意包名就是创建项目时输入的com.niufennan.jtodos,SHA1的生成方法可以自行百度。

关于cordova安装百度定位插件的文章有好多,这里就不在详细描述,大概说一下步骤:

安装插件:

cordova plugin add https://github.com/liangzhenghui/cordova-qdc-baidu-location --variable API_KEY="key"

修改www目录下,js目录中的index.js文件
修改onDeviceReady方法(加载完成方法):

onDeviceReady: function() {
    this.receivedEvent('deviceready');
    baidu_location.getCurrentPosition(
        function(data){ 
            console.log("success"); //定位成功
            alert(JSON.stringify(data)); 
            console.log(JSON.stringify(data)); 
        },
        function(data){
            console.log("fail");  //定位失败
            console.log(data); 
            alert(JSON.stringify(data));
        }
    );
},

注意,定位必须使用真机测试

插入我的老红米,然后运行cordova run:

结果:

6.jpg

定位成功,在百度地图上测试经纬度,基本符合当前地点。

此章暂时告一段落,下一章将进行天气,心情等功能的实现,并看篇幅决定是否进行融合

谢谢观看

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351