教你们制作手机软件(如何开发一款手机软件)
如何开发一款手机软件?
从零开始,亲自教学带你基于一个「执著睡前的APP」。睡之前如果能有一个APP,能让我们画一画这一天的见闻的或心得,同样又能看半天段子、瞄会儿超好看的妹子,放松下来帮一下忙一身的疲惫那该多好,这确实是我结束这个APP的原因。APP的全部代码我早就多多分享到Github上了,不需要的再点击这里,假如比较喜欢的话,麻烦您给个赞,谢谢啊啦。
在正在写正文之前,先来一波效果的展示,看下五天过后我们能实现怎样的效果
本次的教程分为5天,内容三个为:
Day one,准备着
功能需求
可行性分析
Daytwo,UI及二级类的封装
界面的设计及基于
公共考试类的实现
Daythree,日记模块
日记的展示
悬浮在空中菜单的实现
日记增删改的实现
Dayfour,妹子模块
图片的获取
图片的展示
详情页面的展示
Dayfive,段子模块
段子数据的获取
段子的显示
Day one
有道是,好的开始是成功的一半,在结束敲代码之前,先让我们来做一些必要的准备,这样的才能起到事半功倍的效果嘛!
一、功能需求
呢既然再做一个APP,那我们是需要肯定得把APP的功能都列进去,有了方向才能更好的努力,而且我想做的是一个专业点给睡觉时候前是用APP,因此我都觉得应该是有以下的这些功能
1、日记的增删改
2、会显示一些好玩的段子
3、瀑布流展示更多比较漂亮的妹子
4、保存到日记的内容包括缓存妹子图片
确实说需求太少,但是却要句子修辞到网络、数据存储、图片缓存、UI 设计等内容,我相信整个APP能完成过去,必定会能短时间内我们的Android基础。
二、可行性分析
我们这个APP要注意有三个模块,日记模块比较多是发挥到了数据库的知识,难度不是很大。但,段子模块和妹子模块的数据要怎么来,这便是要我们好好决定的了。要不是现在是个开源的时代,很多的数据,网上早就闭源出了。
我们先来看再看看数据的内容
上面那两段代码三个是段子和妹子模块的json类型的数据,我早将一些没用的字段去掉了。只剩的也是我们是想的数据。可以看到段子数据中,有着段子的内容,以及首页者的头像和名字。而妹子数据中有着图片的url、id、包括图片的类型。我相信有了这么说丰富地的数据,我们要想能完成这个APP又是有底气了。
Daytwo
一、界面的设计及利用
要是我们打算能完成一个好看的APP,这样比较好看的界面浮山宗必不可缺的,这里我恐怖推荐APP界面的设计需要不要遵从Google提议的Material Design,在这个推荐一下一个也能让我们实现方法Material Design变得异常更加很简单网站material designpalette,我这个APP的配色是用这个网站成功的,贴几张图片,让你感受到帮一下忙它的强横无比。
的力量这个网站便能让我们成功APP的配色这些图标的收集,为下一步怎么办功能的实现,先打那样最好基础,况且界面的设计就仁者见仁,智者见智仁者见仁,智者见智了,篇幅有限,我就不多讲了。
APP的终于设计效果如下:
二、二级类的实现
而且这个项目有三个模块,有一些东西其实是也可以通用的,要是我们先把这些能通用的东西,裸芯片过来,供给所有的模块动态创建的话,不会相信会极大能提高我们的开发效率。
1、网络工具类的封装
这个APP中,很多地方都要应用网络请求,但也就必要将网络各位整体封装下来,因为这个APP的规模比较小,但我你选了Volley这个网络框架才是我们网络跪请库,把网络各位裸芯片站了起来,哪个地方必须,动态创建一下就行了。这对网络请求,我总觉得每个程序员都该懂点HTTP,这里请附上一篇或是HTTP的文章程序员都该懂点HTTP。
先让我们来写个将网络请求通过回调的接口
然后将网络帮忙整体封装过来
2、Json解析的帮助类
毕竟我们这个APP中,查看到的数据是Json格式的,因此也就有必要将无关的Json解析封装成一个工具类,传出一个String类型的数据,然后我得到数据实体类的List。
3、HomeActivity(主页面)的封装
主页面我得用是TabLayout ViewPager Fragment,都是现在主流APP主页面的显示。主界面底部是我们三个模块的图标和名称,按照左右滑动能实现方法界面的跳转。
底部图标的实体类CommonTabBean
ViewPagerFragment通用的Adapter
Daythree
关於日记模块的实现,当然我是并行化了以前写过的一个日记APP,详细的思路和做法,是可以相关参考我的这篇文章Android一款极为简约、优雅的日记APP
Dayfour
一、图片的获取
1、依据什么直接返回的数据来编写图片的实体类
2、图片的展示
可以清晰的看到我是用无限下拉的来实现方法图片的展示,效果还确实不错,但当然基于出声确实是很简单点的
先写个图片的布局以及RecyclerView的Item
可以看见我在ImageView的外面加了一个CardView,这个一种卡片式布局,能让图片看起来就像一张卡片差不多,非常的高贵、美观。
而后编译程序Adapter,将数据和界面进行没绑定
结果在Fragment接受数据的获取,在内布局的初始化就行了
3、详情页面的展示
木木地的,整个模块不能没显示妹子的图片怎摸行呢!!!怎摸着也得能打开系统大图,据手势缩放,和打开浏览器下一张图片才行嘛,说干就干。
是因为图片不需要有依据什么手势来缩放的功能,因此我便想到了PhotoView,这是网上一个大神写的,继承自ImageView的一个自定义控件。图片程序加载我用的是
Glide,假如没清楚过这个库的,浓烈帮我推荐,一行代码就能一切都搞定图片运行程序,你可以确定不研究什么看看。
Dayfive
一、段子数据的获取
段子数据的获取不过跟妹子模块的方法基本都一样
先汇编语言实体类
写好实体类之后,在用我们前已经封装好的网络请求工具在内解析工具,便能将前往的数据,解三角形成一个乾坤二卦段子实体类的List。
二、段子的显示
老规矩,先写个RecyclerView的Item
然后汇编语言将数据和界面并且帐号绑定的Adapter
到最后段子页面中接受数据和资源以及界面的初始化
用c语言可以开发app吗?
可以的,c语言其实应该是变更土地性质软件的程序。
C语言更适合做操作系统相关的开发,诸如驱动、嵌入式之类的。C语言开发手机App太难办了,隐隐也很少有人这件事。
若有若无特点
C语言是另一个有半结构化程序设计、具备变量作用域(variablescope)和递归过程功能的过程式语言。
C语言传信参数均是以值传达消息(passbyvalue),至于也可以传信指针(apointerclearedbgvalue)。
相同的变量类型也可以用结构体(struct)组合在一起。
唯有32个保留字(reservedkeywords),使变量、函数命名原则有更多弹性。
部份的变量类型可以转换,.例如整型和字符型变量。
按照指针(pointer),C语言也可以容易的对存储器进行最低级控制。
预代码编译一次性处理(preprocessor)让C语言的编译器更具有弹性
推荐阅读
-
手机自带音乐播放器怎么删除(苹果控制中心音乐歌单怎么删)
苹果控制中心音乐歌单怎么删?方法/步骤:1.选择控制中心然后打开手机设置刚刚进入界面,你选择控制中心点击进入。2.选择类型自选完全...
-
js中变量不加var是全局的吗(JS代码中如何使用局部变量和全局变量)
JS代码中如何使用局部变量和全局变量?局部变量是在函数内声明的,全局变量是在模块内声明的,也可以举个简单的例子vara10声明一个...
-
怎么知道一个人最近行踪(支付宝怎么查个人活动轨迹)
支付宝怎么查个人活动轨迹?1.直接进入到支付宝账户后,再打开底部栏的首页选项2.在上方可以找到更多的设置选项栏,点击进入后3.在最...
-
realme怎么查手机激活时间(realme如何查看第一次开机时间)
realme如何查看第一次开机时间?realme网上查询激活时间,首先目标是要不能找到IEMI号,也就是手机的专属坐骑条码,是可以...
-
ps换污渍教程(ps如何将镜子中脏污修掉)
ps如何将镜子中脏污修掉?点少的话,用污点修复画笔工具就可以了。点多的话,这个可以用仿制图章工具获修补工具。PS如何快速除掉钢琴键...
-
excel技巧跨表数据合并汇总(excel怎么跨表格求和)
excel怎么跨表格求和?excel完全不同表格求和共有分为4步,可以不在数据选项卡的合并计算选择函数和添加直接引用位置,以下是具...
-
苹果手机删除其他app还是内存不够(6s plus手机64G内存不够了怎么办)
6splus手机64G内存不够了怎么办?这个嘛第一这个可以换台诺基亚手机,这台是可以摆在二手那个平台卖了,怎么加钱买个大容量的。...
-
电脑桌面只有鼠标能动怎么解决(鼠标可以动)(电脑卡在桌面不动了)
电脑卡在桌面不动了,鼠标可以动?可能会是电脑卡死了,或则是显卡程序立刻崩溃了,我建议你自动更新显卡驱动也可以重装系统再试试。鼠标可...
-
波点音乐怎么做全屏背景(小米的MIUI 11和魅族的Flyme8哪个系统你更喜欢)
小米的MIUI11和魅族的Flyme8哪个系统你更喜欢?我用过搭载FLYM你们的手机有什么绝对不卸载的软件?有很多东西。.淘宝便...
-
火绒安全能关闭电脑的自动更新吗(系统防护失效怎么办)
系统防护失效怎么办?再点“安全和维护”。2、到里面之后,直接点击更改安全和能维护设置中。3、到里面更改后安全和以维护可以设置后,将...