生活中我们会常常遇到需要闹钟提醒;不管是起床还是生活中的事件提醒。
我们提供的服务有:成都网站制作、网站建设、微信公众号开发、网站优化、网站认证、延庆ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的延庆网站制作公司
那作为Android开发如何自己开发一个闹钟功能呢,是不是觉得很酷呢?接下来我们就实战一个闹钟。
本示例采用的是RecyclerView,其适配器类与常无二,其异在于继承一个代理类,为适配之后侧滑删除而准备
建立一个内部类ViewHolder实现控件定义申明
实现onCreateViewHolder方法载入子项布局文件
绑定实体类,实现onBindViewHolder获取数据
此处有三处状态,第一种状态:第一次进入程序,默认加载固定闹钟子项;第二种状态:进入添加子项页面,然后返回其主页面,并判断其switch是否为ture,如果为ture则添加子项;第三种状态:程序被系统回收或者用户停止程序,并再次进入程序,防止加载前一时刻闹钟子项;
添加依赖 实现侧滑主要依赖于一个第三方包,然后使用RecyclerView进行子项绑定 依赖如下:
并在目录build.gradle包下添加如下库
其实现侧滑删除主要的玄机在于布局文件当中,使用RelativeLayout布局,将删除按钮固定在布局右方,并使用其他布局将其覆盖,只有滑动时,才将其显示。掩盖侧滑删除按钮与暴露侧滑删除按钮效果对比图如下
然后,在适配器类中,实现WeSwipeHelper.SwipeLayoutTypeCallBack接口,实现如下三个方法,第一个方法为获取侧滑删除按钮的宽度;第二个方法为需要滑动的视图,也就是覆盖侧滑删除按钮的布局;第三个方法为当视图正在滑动时,用户触发单击事件,自动还原滑动状态
最后,在需要添加子项的视图中绑定RecyclerView即可
通过监听子项滑动删除按钮点击事件,实现子项删除
跳转新增闹钟子项Acticity需要传输实体类对象,传输对象一般需要序列化改类,其操作如下
定义实体类,并实现序列化
然后通过Intent传输Bundle对象
实现时间选择主要使用系统集成的组件TimePicker,其使用方法如下 其有两种显示方式,第一种为spinner,就是下拉滑动式,第二种为clock,即显示一个时钟,通过滑动指针选择时间
在style.xml文件中申明如下样式
然后再指定Activcty申明即可
获取数据比较简单,实现对应接口即可
将获取的数据通过SharedPreferences存储起来,然后点击存储时,进行页面跳转,然后再该界面进行取出数据
存储数据
首先判断回调的switch数据是否为ture,如果为ture则保存该子项,然后再适配器类中进行数据添加
选中与默认两种状态效果图如下
创建thumb和track样式
创建一个选择器文件,有选中和默认两种状态
创新open_thumb.xml文件
创建shut_thumb.xml文件
同样创建一个选择器,并用于两种状态
其中AlarmManager为系统主要操作类,参数为提醒模式、提醒时间(long型)、PendingIntent对象 以下有三种时间传入,第一种,直接传入一个Long型时间用于测试,第二种,通过设置系统启动至今而设置时间,第三种,通过取出设置的时间,然后获取系统当前时间,将其差传入其中。
然后再清单文件中注册服务
使用Intent实现服务启动
杀死程序
本示例总共使用到了三个单例类:SP(SharedPreferences封装)、TimeFormat(时间数据格式封装)、KillProcess(杀死所有Activity)
SharedPreferences
KillProcess
文章带这里就完成了一个简单的闹钟;Android开发还有许多更加更多的知识学习。进一步学习Android技术,我这里推荐这份笔记方便学习,我就放在私信, 发送“核心笔记”或“手册”即可获取。朋友们可以免费领取!
android app开发流程具体步骤如下:
一 应用开发规划:
※确定app软件功能。
※必须的app应用界面及界面跳转的流程。
※开发app需要的数据及数据的来源及格式。
※是否需要服务端支持。
※是否需要本地数据库支持。
※是否需要特殊权限。
※是否需要后台服务。
二 架构设计:
※分层。
※网络连接。
※数据处理-xml、domain。
※封装Activity。
三 界面设计:
※主界面确定。
※模块界面、列表、查看、编辑界面。
※菜单、按钮、对话框、提示信息。
※界面总体颜色。
四 数据操作和存储:
※数据来源。
※数据类型。
※存储方式。
五 业务实现:
※客户端业务解析。
六 页面跳转:
※每个页面间的跳转。
※菜单、按钮、事件等。
二、Android APP开发过程中需要注意的问题:
(1)Android APP开发有自己规范的一套标准,在开发中必须无条件遵守。
(2)在Android APP开发过程中,需要根据不同特性来进行优化。
(3)需要针对特定屏幕密度使用特定的图标和位图。
(4)避免利用那些智能手机可能不支持的硬件功能。
(5)还要针对网页的布局来调整字体的大小和触控按钮。
按照以下步骤可以开发app:
1、APP的idea形成;
2、那些idea来进行APP的主要功能设计以及大概界面构思和设计;
3、大功能模块代码编写以及大概的界面模块编写;
4、把大概的界面和功能连接起来;
5、进行app测试;
6、上传至应用商店。
从上面下载好软件,并解压2 打开里面的eclipse文件夹,找到运行文件3 双击打开,然后启动开发软件页面。开始开发软件了,是不是蛮激动?淡定点,后面慢慢来!4 点击 File ,进行新建项目,软件是英文,不要紧,认识26个英文字母就行!5 选择制作安卓应用项目 Andriod Application Project ,然后就点 “next”6 给你要开发的软件命名,这里就使用HelloApp作为软件名称,你会惊奇的发现下面的都已经自动生成了!好,不用管它,我们接着下面做7 下一步,也就是点“next”,next, 当然 这些不设置没多大影响,因为我们是进行初学,不用去做那么多外观效果,8 如果你认为白色的背景效果不好看,你就使用 background color 进行修改吧9 然后你就可以进入预览模式,继续下一步最后选择finish,完全生成了你的第一个项目,此时它会自动打开两个文件,不用管它,咱可以进行可视化页面设计按照图上的路径,打开样式设计页面双击文件窗口栏,窗口最大化左边有各种表单,空间,文本框,都可以选择。使用时选中,直接拖到设计页面相应位置就可以了。这里就以一个投票表单为例。建立登录表单页,设计表单,页面。ok,我们要做的基本界面就是这样。下面就是运行这个我们自己做的“软件”了。更加激动了吧!双击窗口栏回到原来的界面配置我们需要在电脑运行的虚拟机,当然也可以选择在自己手机运行。这里我们就先在电脑运行好后,在直接把apk软件包移动到手机安装即可如果在表格AVD里面没有任何记录时,选manage,如果已经有了虚拟机,我们就不用进行manage进行配置按照图中的框配置下,ram运行内存不要设得配置太高,够用就行,不然电脑会很卡接下来,我们就通过虚拟进行运行我们的程序吧可能虚拟机启动有点慢,具体看电脑的性能吧。一般在3到4分钟就可以启动完毕。一般做软件过程中,经常用到这个虚拟机,我们可以提前打开它,然后我们要使用时就会比较快了。
你这个问题有些笼统,一个完整的app有简单有复杂,不同的app应用功能的差异也导致不同的技术实现或者算法模型。大体来说,一个app从设计到最终实现需要你懂得以下几个必要方面: 1、前期需求规划与信息、交互设计——你需要制定出一个完整的需求文档,功能文档,流程图,时序图。2、交互设计、UI设计——设计出基本且完善的原型图和app基础的交互设计效果,之后再根据这些设计出完整的UI界面并学会切图,一些需要做自适应的素材图片需要做点9patch。 这里还需要你懂得px,pt和dp之间的换算,屏幕密度的换算和相互之间的系数,以便你的app能完美适应不同分辨率设备。其中交互设计需要你懂得很多人机操作的技巧经验,掌握Axure等交互工具的使用,UI设计需要你掌握Photoshop和Illustrator等操作。3、使用ADT之类的开发环境进行app开发,你最基本的也得掌握java语言,熟悉android环境和机制,这里面涉及面广,请根据项目自行学习相关知识。4、如果不是单机版的app,需要用到服务器,那你还得掌握WebService相关知识和开发语言,常用的有ASP.Net,PHP,JSP等。5、熟悉并能开发数据库。6、某些功能需要做算法,这还需要一定得专业知识,尤其是数学基础。7、熟悉API接口开发,这里包括你自行开发API的能力以及调用第三方API的经验。8、熟悉TCP/IP,socket等网络协议和相关知识。9、熟练掌握App发布的流程,真机调试技巧,证书,打包,上架。App开发其实不一定适合一个人搞,太费劲,除非是一个单机版的小应用,或者利用现成的api开发简单的第三方应用,否则还是让一个团队来完成各自擅长的领域。