
Android
文章平均质量分 70
面向对象思考
这个作者很懒,什么都没留下…
展开
-
EA&UML日拱一卒-微信小程序实战:位置闹铃 (20)-发布微信小程序(续)
头一天晚上申请,到第二天早上也没有通过,所以就有了这篇续。审批通过以后,首先手机的服务通知收到这个:登录小程序帐号,画面的右上角也会有提示。这时的开发管理页面是这样的:可以看到审核版本栏版本号下面出现几个小字:审核通过,待发布。点击右面的【提交发布】按钮。按下【提交】按钮。按下【确认发布】。用注册小程序公众号的手机扫描二维码。成功后计算机侧画面如下:手机画面:按下【发布】按钮以后,手机上出现成功提...原创 2018-03-26 21:01:53 · 488 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (12)-这还不算完
因为重构代码,多花了一点时间,久等了。。上一篇文章实现了音频文件缓存功能,做到了一次下载多次播放。但是还有一个问题:这个功能是作为app的一个功能而存在,如果想在其他场合使用就必须是代码层次的拷贝和粘贴。不好。我们继续改进,将这部分功能做成一个通用,独立模块。voiceplay.js//voice playerfunction prepare(){ var that = this var info...原创 2018-03-06 20:09:55 · 1079 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (6)-播放音频
昨天停更了一天,不是作者偷懒,而是掉到了一个坑里。本来以为播放音频很简单,但是还是遇到的各种问题,比如:1)小程序无法播放手机存储目录中的文件,只能播放网上的或者是小程序暂存的文件。2)播放暂存文件的接口貌似只支持.silk格式的文件。3)播放网上文件的时候不容易找到合适的对象等等。不过好在基本上问题已经解决了。终于可以继续咱们的文章了。功能介绍还是先看画面。在指定监控点位置画面按下【EditAc...原创 2018-02-12 18:52:10 · 552 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (4)-从地图上选点
创建监控点的第一步就是选择监控点的位置,经过各种尝试,位置闹铃程序采用移动地图对准中心点的方式来决定监控点的位置。具体就是通过调整地图的比例和位置,是目标位置对准地图中心点。为了方便使用,在地图中心位置设置了一个不随地图移动的红色小方框。setpoint.wxmlview class="container"> map id = "alarmMap原创 2018-02-06 19:24:03 · 707 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (8)-WXML条件渲染
需求按照位置闹铃程序的设计,当设备接近或者离开某个区域时,可以播放提示音,也可触发记时器动作。按照设计,我们的画面是这样的。提示音选择画面计时器选择画面实现方式一般来讲,根据动作动作类型选择后续设定内容有两种方式,一种是控件本身不切换,修改控件的内容;另一种是根据需求切换控件的表示和非表示。这里我们采用第二种方式。editaction.wxmlWXML提供了一种条件渲染的方法,这种方法可以根据条件...原创 2018-02-26 18:37:34 · 552 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(17)-学到什么程度算行?
每当学习一种新技术的时候都会遇到这个问题:学到什么程度算行?以下纯粹是作者个人见解,就当抛砖引玉吧。一句话:学到可以独立开发即可。是不是还是不好操作?那就用两句话来表述:面对一个需求,可以进行分解,将其落实到所学技术的各个模块中;对于可能遇到的技术点,知道到什么地方找到需要的信息,资料;如果做到以上两点,基本上就可以保证开发不原创 2018-01-29 21:43:09 · 422 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (3)-画面构成
按照我个人的习惯,开发一个软件也好,做一个产品也好,首先是分析最难的地方在哪里,验证它的可行性。一旦解决了最难的问题,剩下的就是按部就班的开发了。上篇文章算是验证可行性的部分,接下来就要拉开架势做了。今天先讨论画面构成的部分。首先是主画面,它用于显示目前的监控点并且是其他画面的起点和终点。主画面按下New按钮进入选择监控点画面原创 2018-02-05 19:50:41 · 508 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(10)-注册页面
注册过小程序之后,接下来注册页面。代码说明//index.js//获取应用实例var app = getApp()Page({ data: { motto: 'Hello World', userInfo: {} }, //事件处理函数 bindViewTap: func原创 2018-01-10 20:34:48 · 502 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(9)-C++程序员眼中的app.js
终于到了说明真正的程序的部分。作为程序员来讲,似乎只有看到了能动的代码才会安心。但是这里的程序是Javascript,C或者C++程序员看起来会比较陌生。作者一边查,一边理解,一边尽量详细的说明。如果有说错的地方,敬请指正。对象字面量表示法这部分的说明直接引用自【JavaScript高级程序设计,第五章】。在Javascript中创建原创 2018-01-09 21:24:44 · 491 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(13)-一个都不能少
经过两篇文章的积累,我们回到Hello world中来。util.js这段代码包含3个段落,按照参照关系逐一说明。格式化数字函数function formatNumber(n) { n = n.toString() return n[1] ? n : '0' + n}这个函数用于将日期和时间数字转换成字符串,如果字符串为一个字符,则前面加0。格式化日期/时间函数function formatT原创 2018-01-17 21:09:22 · 468 阅读 · 1 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (7)-在画面之间共享数据
序列图为了理顺用户的操作逻辑,我们将监控点的设定分到选择监控点和编辑监控条件两个画面进行;为了新建监控点和编辑监控点流程的共通化,创建监控点对象的工作被分配到了主画面。序列图如下:index.jsnewButtonTaped: function () { console.log("index.js::newButtonTaped") this.mapCtx.getCenterLoca...原创 2018-02-13 20:28:54 · 655 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (5)-显示所在位置的信息
假设我们指定了多个监控点,接下来的需求就是给每个监控点取名字。如果是手动输入的话,会比较麻烦。所以位置闹铃再向前走一步,从地图上取得监控点所在位置的信息作为监控点的名称。画面说明当我们选定监控点以后,该处的信息会在下面的列表中表示出来。通过上下滚动列表中的内容,用户就可以选择合适的信息作为监控点的名称。setpoint.wxml原创 2018-02-07 18:33:13 · 574 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (13)-使用类优化程序结构
虽然Javascript是一种脚本语言,但是依然可以定义和使用类。在这个小程序中,将监控点相关的功能做成了一个类。alarm.js//alarm.js:const util = require('./util.js')const CHECK_BUFFER_SIZE = 3//构造函数function Alarm(data){ this.latitude = data.latitude this.l...原创 2018-03-07 19:09:20 · 528 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (19)-发布微信小程序
小程序的功能实现之后,经过一段时间地测试,接下来就是发布了。在开发工具的上面偏右的位置,有一个【上传】按钮,按下它就可以将小程序上传到微信小程序公众号。登录自己的小程序帐号,进入开发管理页面。画面右侧有三部分,从下到上分别是:开发版本,审核版本和线上版本。可以看到,开发版本中表示是前面上传的版本,而审核版本目前为空。按下开发版本右侧的【提交审核】按钮。选择已经阅读了解平台审核规则,按下【下一步】按...原创 2018-03-21 21:02:46 · 584 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (18)-差不多就这样了
经过一段时间地实现和测试,位置闹铃小程序开发也渐渐接近尾声了。作为一个练习,差不多也就这样了。今天介绍小程序的功能。启动小程序扫描下面的二维码即可启动位置闹铃小程序。功能介绍首先是主画面,第一次启动时它是下面的样子。按下【新建监控点】按钮,打开【指定监控点位置】画面。拖动地图,将希望的监控点置于地图中心,从下面地列表中选择地理信息。点击画面左上角的【<】可以取消本次操作,按下【下一步】进入动...原创 2018-03-20 19:18:13 · 523 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (17)-保存和取出设定信息
设定了监控点之后,小程序会取得最新位置,判断各个监控点的到达,离开情况并播放提示音。很多情况下,用户会希望这些信息可以保存起来以便将来使用。这就是今天的主题:在小程序中保存设定信息。API位置闹铃使用微信小程序API中以下的数据缓存接口保存设定信息,本节内容来自微信小程序开发文档。wx.setStorageSync(KEY,DATA)将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该...原创 2018-03-19 20:59:50 · 578 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (15)-实现监控点状态迁移功能
简单地设计以后,就可以开始着手实现了。接近监控点enterAlarmCheck: function (distance, accuracy){ if (this.state == 'ready') { //500m if (distance < 500) { this.checkBuffer.push(1) } else { this.ch...原创 2018-03-13 19:14:05 · 518 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (11)-稍微聪明一点
问题的提出小程序使用wx.playVoice播放音频时,需要从网上下载播放的对象文件,但是每次播放都要下载的话,就太傻了。好在小程序提供了保存文件的功能。思路准备一个url到缓存文件的映射,当小程序成功的下载播放铃声以后,自动保存下载的文件名。下次播放同一个文件时确认是否存在已经下载的文件,如果有则直接播放已经下载的文件。由于某些不知道的原因,我们假设已经下载的文件也可能播放失败,对策是重新下载该...原创 2018-03-05 20:37:46 · 524 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (14)-分析监控点状态
将监控点包装成一个类以后,接下来应该就是设计和实现监控点功能了。今天先是设计。我们分接近监控点和离开监控点两种情况讨论。接近监控点ready状态监控点工作状态,小程序会对设备位置进行监控,如果有连续三次设备到监控点的距离都小于1000m,进入armed状态。armed状态报警点预警状态,小程序加大对设备位置的监控频度,如果有连续三次设备到监控点的距离都小于100m,进入fired状态;如果有联系3...原创 2018-03-12 19:09:58 · 525 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (10)-定时器
需求设定了监控点位置以后就需要按照一定的时间间隔取得设备的位置,并比照设定好的监控点,如果有符合条件的监控点则触发相应的动作。为了实现上述功能首先需要实现按一定时间间隔做某件事的功能--定时器。说明function startTimer(interval, onTimer) { var time = setTimeout(function () { onTimer(); ...原创 2018-03-01 20:02:41 · 1113 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (9)-利用条件渲染实现列表控件
先看一小段视频,这是小程序目前的最新状态。到今天为止,小程序已经基本上实现了创建监控点和编辑监控点的功能。视频1M,请酌情观看。http://v.youku.com/v_show/id_XMzQzMDA5MzIyMA==.html需求在视频第32秒左右,有一个选择编辑对象的画面,它的功能是一个列表控件。用户通过它选择想要编辑的对象。今天说明这个画面的实现。listpoint.wxml(片段)<...原创 2018-02-28 22:09:07 · 507 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (16)-单元测试是个技术活
程序设计,实现之后的下一个环节就是单元测试了。对于位置闹铃小程序来讲,带着设备到处移动以测试监控点的状态迁移就是一个必经之路,但是如果所有环节都通过实地测试来解决,那将耗费大量的时间和体力。我们的选择是,在实地测试之前,用尽量少地代价做好单元测试。测试对象我们的测试对象是上一篇文章中说明的监控点状态迁移逻辑,也就是上面序列图右下角的enterAlarmCheck函数。这个函数可以说是这个小程序地核...原创 2018-03-14 19:06:29 · 603 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(8)-事件处理和数据绑定
文章的内容也好,关注数也好,似乎又到了爬坡阶段。你还在坚持阅读和转发么?吃过烧烤之后,继续Helloworld进行说明,今天的内容是wxml文件。WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。它的语法和XML保持一致。主画面主画面的内容由index.wxml定义。其内容原创 2018-01-08 21:47:00 · 505 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(16)-使用移动平均消除抖动
增加了表盘的图形显示以后,这个小程序看起来是那么回事了。但是还有一个小毛病,数字也好,表盘的旋转速度,都不是很均匀。今天就来解决这个问题。简单移动平均法移动平均的计算公式如下: Ft=(At-1+At-2+At-3+…+At-n)/n,式中Ft--对下一期的预测值;n--移动平均的时期个数;At-1,At-2,At-3和At-n分别表示前两次、前三次直至前n期的实际原创 2018-01-24 19:36:05 · 523 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(1)- 开篇
这是个真正从0开始的主题——微信小程序。原创 2017-12-20 20:32:15 · 1236 阅读 · 0 评论 -
【转载】Allowing applications to play nice(r) with each other: Handling remote control buttons
下文转自http://android-developers.blogspot.com/2010/06/allowing-applications-to-play-nicer.html因为原文不知道什么原因经常不能访问。特此转载。文章主要说明了两个问题。1.如何监听线控按钮2.如何在使用Android2.2的功能的同时使软件在Android2.2以前的版本上也能执行。另请高手指点转载 2011-09-05 07:19:54 · 1801 阅读 · 0 评论 -
Android函数计算器(含源码,Android测试工程)
1.Android环境下自己写的函数计算器的源代码,工程文件2. Android环境下的单元测试工程及源代码。http://download.youkuaiyun.com/detail/craftsman1970/39366983.已经上传到Anroid电子市场,可直接安装。https://market.android.com/details?id=calculator.xwg&feature原创 2011-12-18 14:41:11 · 7825 阅读 · 3 评论 -
Android歌词秀1.5版
功能简介:0.本软件可以在Android2.1以上(2.1,2.2,2.3测试通过)执行。1.自动读取与音乐相同位置的歌词文件。2.根据播放进度,表示当前的歌词3.按歌词语句快进,快退。5.选择不同于音乐文件名得歌词文件。(1.5版新增功能)6.选择歌词文件的编码格式,支持UTF-8和GB2312(1.5版新增功能)7.同时选择多个播放文件(1.5版新增功能原创 2011-11-27 19:48:51 · 7920 阅读 · 9 评论 -
Anroid源代码编译相关资源
必要资源虚拟机:VMPlayer操作系统Download Ubuntu源代码及编译方法:Android open source解决问题时的参考资料How do I install the build dependencies for Android?How to Setup Android into Ubuntu 10.04?原创 2011-11-06 22:26:50 · 1484 阅读 · 0 评论 -
促进AlertDialog通用化的另一种实现方式
在Android的技术文档中,关于AlertDialog的创建,有如下的代码。http://developer.android.com/guide/topics/ui/dialogs.htmlfinal CharSequence[] items = {"Red", "Green", "Blue"};AlertDialog.Builder builder = new AlertDialo原创 2011-10-29 22:59:10 · 1785 阅读 · 0 评论 -
原创:Android应用开发记录-Andorid歌词秀(3)使用的Service的音频播放器
在下文中我们实现的简单的音乐播放功能。原创:Android应用开发记录-Andorid歌词秀(2)先来一个音频播放器但是这样的方式在程序退出后播放也会停止,为了解决这个问题,使用的Service类。在参考网上播放器例子代码的基础上,运用Proxy模式简化的Servic原创 2011-08-17 23:50:41 · 3320 阅读 · 0 评论 -
原创:Android应用开发记录-Andorid歌词秀(1)想法
现在有好多外语资源都带有字幕信息,就是那个LRC文件,内容大致如此[00:23.49]我越慌张却越灿烂[00:28.65]倒退着跑到了前方[00:34.89]怎么忽然就成了这样[00:41.14]该下雨的时候出起了太阳[00:47.08]老天爷放弃各自的翅膀原创 2011-08-12 22:46:59 · 1829 阅读 · 0 评论 -
Android小游戏-九宫格,有源码的哦!
为了学习Android,自己编了一个小游戏,就是9宫格。特点:1.自动分析可选数字。2.自动判断结果3.支持Undo功能(Command设计模式)4.支持自编题目。 功能简介主画面功能:1.点击项目选择题目2.按【Menu】键新原创 2011-08-10 00:18:14 · 9491 阅读 · 17 评论 -
EA&UML日拱一卒-0基础学习微信小程序(2)- 关于小程序
关于微信小程序的基本想法。原创 2017-12-21 20:38:39 · 468 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(3)- 创建自己的小程序账号
注册自己的小程序账号。原创 2017-12-25 20:35:13 · 815 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(4)- 安装开发工具
小程序账号申请成功之后的工作就是准备开发环境。原创 2017-12-26 20:32:10 · 1049 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(12)-ECMAScript5数组操作方法
首先补充说明一下,ECMAScript是欧洲计算机制造商协会(European Computer Manufacturers Association) 为了统一各种script,以JavaScript1.1为基础搞出来的一种脚本语言规范。ECMAScript5是这个规范第五个版本。由于它得到了各 大浏览器厂商的响应积极,所以称得上是JavaScript的未来。微信小程序也支持ECMAScrip原创 2018-01-16 20:13:52 · 580 阅读 · 0 评论 -
EA&UML日拱一卒-微信小程序实战:位置闹铃 (2)-在地图上显示自己的位置
有了最终目标以后,我们继续采取每天一小步的方式进行开发,今天首先实现在地图上显示自己位置的功能。画面截图index.wxmlview class="container"> map longitude="{{longitude}}" latitude="{{latitude}}" markers="{{markers}}" style="原创 2018-01-31 18:23:21 · 563 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(15)-弄得像真的一样
光显示数字当然没什么意思,我们稍加修改,争取把这个小程序弄的像真的一样。创建/添加图像资源首先用Word画,然后转换成png。接下来在小程序工程中添加images目录,将png文件拷贝到该目录中。index.wxmlview class="container"> canvas style="width: 300p原创 2018-01-23 20:53:07 · 467 阅读 · 0 评论 -
EA&UML日拱一卒-0基础学习微信小程序(11)-ECMAScript3数组操作方法
在小程序中大量使用了数组和数组方法,有些代码从C/C++程序员的观点来看时会相当费解,我们暂且放下小程序的说明,尽量简单地说明一下数组的使用方法。ECMAScript3数组操作方法格式化输入数组可以指定输出是各个元素之间的连接字符串。 a = [2017, 8, 29];a.jion("/"); //输出结果:”2017/8/29“原创 2018-01-15 20:06:56 · 489 阅读 · 0 评论