移动手机互联网app开发发,一个完整的APP是如何从零

我喜欢,看别人写的程序手记,那种真实的理解和感受,看这样的文章,是一种享受,一种飘浮在意识空间中的独立世界的纯意识层面思考的快乐,全息而富有色彩,真实而无极限。下面是看到一段移动端开发者的博文手记:
......“AndroidManifest.xml 是每个 android 程序中必须的文件。它位于 application 的根目录,描述了 package 中的全局数据,包括了 package 中暴露的组件( activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置。”......
当我看到这段文字的时候,感到很精彩,显然看到了作者条理逻辑分明的逻辑中枢神经,这种精彩,就像是看到了《黑客帝国》中描述的一个精密的控制中心,一个处理大厅或各条走廊和控制中心,,延伸开来各种处理组件和处理程序,结构清晰,逻辑丰富而充实。以此为例,我试图来理解看到的这段代码:&?xml version="1.0" encoding="utf-8"?&&manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.knight.android.test"
android:versionCode="1"
android:versionName="1.0" &
&application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" &
android:name="AndroidTestActivity"
android:label="@string/app_name" &
&intent-filter&
&action android:name="android.intent.action.MAIN" /&
&category android:name="android.intent.category.LAUNCHER" /&
&/intent-filter&
&/activity&
&/application&
&!-- 授权访问网络 --&
&uses-permission android:name="android.permission.INTERNET"/&&/manifest& 第一段显然是标明xml的版本号和编码字符集。1、第一层(&Manifest&):(属性)&manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.woody.test"
android:sharedUserId="string"
android:sharedUserLabel="string resource"
android:versionCode="integer"
android:versionName="string"
android:installLocation=["auto" | "internalOnly" | "preferExternal"] &&/manifest&A、xmlns:android定义android命名空间,一般为http://schemas.android.com/apk/res/android,这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。B、package指定本应用内Java主程序包的包名,它也是一个应用进程的默认名称C、sharedUserId表明数据权限,因为默认情况下,Android给每个APK分配一个唯一的UserID,所以是默认禁止不同APK访问共享数据的。若要共享数据,第一可以采用Share Preference方法,第二种就可以采用sharedUserId了,将不同APK的sharedUserId都设为一样,则这些APK之间就可以互相共享数据了。详见:http://wallage.blog.163.com/blog/static//D、sharedUserLabel一个共享的用户名,它只有在设置了sharedUserId属性的前提下才会有意义E、versionCode是给设备程序识别版本(升级)用的必须是一个interger值代表app更新过多少次,比如第一版一般为1,之后若要更新版本就设置为2,3等等。F、versionName这个名称是给用户看的,你可以将你的APP版本号设置为1.1版,后续更新版本设置为1.2、2.0版本等等。。。G、installLocation安装参数,是Android2.2中的一个新特性,installLocation有三个值可以选择:internalOnly、auto、preferExternal选择preferExternal,系统会优先考虑将APK安装到SD卡上(当然最终用户可以选择为内部ROM存储上,如果SD存储已满,也会安装到内部存储上)选择auto,系统将会根据存储空间自己去适应选择internalOnly是指必须安装到内部才能运行(注:需要进行后台类监控的APP最好安装在内部,而一些较大的游戏APP最好安装在SD卡上。现默认为安装在内部,如果把APP安装在SD卡上,首先得设置你的level为8,并且要配置android:installLocation这个参数的属性为preferExternal)这位天才的博文总结如下:
此文件一个重要的地方就是它所包含的 intent-filters 。这些 filters 描述了 activity 启动的位置和时间。每当一个 activity (或者操作系统)要执行一个操作,例如:打开网页或联系簿时,它创建出一个 intent 的对象。它能承载一些信息描述了你想做什么,你想处理什么数据,数据的类型,和一些其他信息。Android 比较了 intent 对象中和每个 application 所暴露的 intent-filter 中的信息,来找到最合适的 activity 来处理调用者所指定的数据和操作。除了能声明你程序中的 Activities, Content Providers, Services, 和 Intent Receivers,你还能指定 permissions 和 instrumentation (安全控制和测试)在 AndroidManifest.xml 文件中。天哪?!!这些都是什么啊?别着急,呵呵,这些都是运行手机app程序需要定义好的一些文件,以后会逐渐的知道,先不用管,看看有这么多的内容为我们服务,有多么好?
一般打开AS,一般我们首先会发现AndroidManifest.xml,这是什么文件呢?一个基本而重要的全局文件。这是一个简单的AndroidManifest.xml。& ?xml version="1.0" encoding="utf-8"?&& manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.my_domain.app.helloactivity"&& application android:label="@string/app_name"&& activity class=".HelloActivity"&& intent-filter&& action android:value="android.intent.action.MAIN"/&& category android:value="android.intent.category.LAUNCHER"/&& /intent-filter&& /activity&& /application&& /manifest&值得一提一些常用之处:   · 几乎所有的 AndroidManifest.xml (以及许多其他Android的xml的文件)在第一个元素中包含了命名空间的声明xmlns:android="http://schemas.android.com/apk/res/android"。这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。   · 大部分manifests包含了单个& application&的元素,它定义了所有的application级别组件和属性,并能在package中使用。   · 任何被用户看作顶层应用程序,并能被程序启动器所用的package,需要包含至少一个Activity组件来支持MAIN操作和LAUNCHER种类,如上述代码中所见。   这里是AndroidManifest.xml文件结构的一个详细的列表,描述了所有能被使用的标记。
manifest  根节点,描述了package中所有的内容。在它之下能放置:   uses-permission  请求你的 package 正常运作所需赋予的安全许可。见 SecurityModel 来获得许可的更多的信息。一个 manifest 能包含零个或更多此元素。
permission  声明了安全许可来限制哪些程序能你 package 中的组件和功能。见 SecurityModel 来获得许可的更多的信息。一个 manifest 能包含零个或更多此元素。
instrumentation  声明了用来测试此 package 或其他 package 指令组件的代码。见 Instrumentation 来获得许可的更多的信息。一个 manifest 能包含零个或更多此元素。
application  包含 package 中 application 级别组件声明的根节点。此元素也可包含 application 中全局和默认的属性,如标签,icon,主题,必要的权限,等等。一个 manifest 能包含零个或一个此元素(不允许多余一个)。在它之下能放置零个或更多下列组件声明:
activity  Activity 是用来与用户交互的主要工具。当用户打开一个应用程序的初始页面时一个 activity ,大部分被使用到的其他页面也由不同的activity所实现并声明在另外的 activity 标记中。   注意:每一个 activity 必须要一个 标记对应,无论它给外部使用或是只用于自己的 package 中。如果一个 activity 没有对应的标记,你将不能运行它。   另外,为了支持运行时查找你的 activity, 你能包含一个或多个 元素来描述你 activity 所支持的操作:
intent-filter  声明了指定的一组组件支持的 Intent 值,从而形成了 IntentFilter。除了能在此元素下指定不同类型的值,属性也能放在这里来描述一个操作所需的唯一的标签,icon 和其它信息。
action   组件支持的 Intentaction。
category  组件支持的 IntentCategory.
type  组件支持的 Intentdata MIME type.
schema  组件支持的 Intentdata URI scheme.
authority  组件支持的 Intentdata URI authority.
path  组件支持的 Intentdata URI path.
receiver  IntentReceiver 能使的 application 获得数据的改变或者发生的操作,即使它当前不在运行。利用 activity 标记,你能选择地包含一个或多个 receiver 所支持的 元素;
service  Service 是能在后台运行任意时间的组件。利用 activity 标记,你能选择地包含一个或多个 receiver 所支持的 元素;
providerContentProvider 是用来管理持久化数据并发布给其他应用程序使用的组件。AndroidManifest.xml 是每个 android 程序中必须的文件。它位于 application 的根目录,描述了 package 中的全局数据,包括了 package 中暴露的组件( activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置。
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至: 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。当前位置:&
  作为互联网从业者,被行外朋友们问及最多的问题是「 做一个网站需要多少钱?」 或者「做一个APP需要多少钱?」。作为做过完整网站项目和APP的人,今天从产品经理的角度,一起来算一下中小型APP从无到有需要做哪些工作,以及为达成使命,需要付出多少金钱。
  以下内容的前提是:深圳、移动互联网方向。包含研发一个新产品过程中一些常见的工作,并非十全十美。
  首先假设在做APP之前我们已经有了一个成熟的团队(这是非常幸运的前提,很多产品研发进度极其缓慢的原因之一就是在过程中不断在招人),团队的结构以架构师兼后台开发1名 + 安卓1名 + iOS开发1名 + 产品经理1名 + 前端开发1名 + 设计师1名。你可能也发现了这些人员配备都是单点的,一旦有人生病或请假,某个职位就会缺失,项目进度就会拖后,所以我们大约配备2个浮动名额,也就是,初始团队大概有8名,我们假设团队平均工资在13000左右(憋惊讶,深圳需要这个数,还是比较低的&),需要给员工缴纳五险一金,详见下表(假设我们是老实善良的公司,公积金按最低标准缴纳):
  除工资的部分,还要平均为每个员工多缴纳 3653元的五险一金支出,员工部分的支出是 ()*8=133224元/月。
  好,有了团队,下一步要解决的是工作场所的问题,8人团队可以选择创业孵化器(前提是你能找到孵化器)或者中低端的办公场所(这类的办公场所,深圳大约是120元/㎡,大约100平米)。这里有必要稍微提以下孵化器,孵化器的租金会比较便宜(或者不要钱),在接纳创业团队之前一般会签署协议,需要以场地作为股权置换条件,或者是优先投资权,是否划算,得创业团队自己掂量。算上水电、物业,一个月15000左右算比较省了。
  有了场地和团队,接下来置换办公耗材、宽带之类的(假设电脑自己带),普通的人体工程学椅子价格在150元左右,如果不买工程学椅子也可以,用普通的椅子,加上桌子平摊成本,桌椅需要200左右的成本,这算一次性付出。拍脑袋,6000元可以搞定吧。
  唔,人、场地、作案工具齐活了,开始进入正题吧。
  一、产品定位、扯皮、早期工作准备阶段。
  做APP之前一般会有个老板,老板大概知道自己想要什么功能(对,老板一般不知道自己要做什么东西,需求是什么,产品定位是什么),这时候产品经理要出马了,跟老板各种扯皮、厘清需求、找产品定位,这里大概扯个两周,好说歹说会把产品的定位、一期的需求想清楚(期间架构师可以开始构思产品的技术架构了,未能正式开工)。
  产品定位以及早期的需求确定出来之后,需要想个产品的名字、需求调研、竞品调研分析、注册域名、购置服务器以及周边基础能力(如CDN存储、短信服务、消息推送等)、商标(未注册商标、很多团队就是吃了这个亏)、抢注域名、设计Logo,这里在老板不中途改变想法、变更产品需求和定位的前提下,最起码扯一周,这时候产品的原型、技术架构的雏形也出来了,基本可以进入真刀真枪的干活了。这一步假设域名不需要花大价钱购买,全部费用算起来拍脑袋10000元/年 可以搞定。
  二、产品版本策划、架构设计阶段。
  看似一切都准备就绪之后,产品开始整理需求,按照需求优先级规划版本。架构师按照产品的发展方向构想,开始着手进入开发环境、生产环境部署、基础代码研发阶段。
  很有必要提一下的是,做APP比较常见的两种功能实现方式有Native原生和Webview 方式,这两种方式的优劣不在本文的讨论范围,一般为了保证体验,以原生的方式为主,Webview的方式为辅。以原生的方式做开发,版本是尤为重要的。其一,APP开发完成之后,需要把上架到APP store(假设我们只上iOS和安卓),iOS 的APP Store 有冗长的应用审核周期,你必须提前把往后几个中小版本的功能规划好了才不至于在这个环节自乱阵脚;其二,你的APP安装到用户的手机上时你肯定希望他大部分时候运行的都是最新的版本,如果你的版本更新过于频繁,用户也会烦。
  看起来过程似乎非常顺利,产品经理把产品的思路厘清之后,开始准备产品V1.0 的规划。
  新产品从无到有常见的工作:
  产品官网,产品官网是产品、公司、团队的脸面,让用户进入之后能以最快的速度了解你的定位以及产品特性,也就是什么样的人在为解决什么样的问题,做着什么样的事情。
  用户协议。是的,如果用户要注册、使用你的产品,你得起草你的用户协议,跟律师或法务不断沟通调整。
  种子用户。嗯,你要思考你的第一批种子用户从哪里来,如何组织,怎么管理,他们是检验你产品的第一群人,对于验证你的产品定位、发现产品问题、提升产品体验来说至关重要。
  基础数据上报规划。你要知道产品一旦发布,在对用户行为一无所知的情况下,需要收集什么数据来优化、调整你的产品设计,思考你的产品方向。
  UI设计与交互标准制定。不能保证产品的UI以及交互一上线就有让用户觉得惊艳的效果,但是必须保证UI/交互在一致性上没有问题。
  后台管理系统。如论是查看数据还是内容管理,后台管理系统是你工作的有效辅助,也不能少。
  APP。这是你的产品的重中之重,密切观察跟踪。
  如果一切顺利,那么在3-6个月之后,你的APP第一版应该有了第一个雏形了。
  三、内部测试、打磨阶段
  在这个阶段,你要跟设计、研发、种子用户之间保持密切沟通,不断收集问题、发现问题、优化、解决问题,期间可能需要发布1-3个beta子版本。同时,你要想办法保持种子用户的活跃与配合的激情,这是一项艰巨的工作,谁做谁知道。
  四、发布阶段
  发布的时候,不算渠道宣传费用,不打广告,上线iOS APP Store 需要注册开发者账号,购买证书,也需要花费一定的费用,不多,也就99美元/年。
  如果你做得多一些,找安全团队帮你做安全评估,这里也要花上一些钱,这里就不算了。至于负载均衡、加速技术什么的,你的APP刚上线,应该用不上。
  6个月的时间,算快,一个APP从无到有需要的费用大概这么算:
  人工费用: 133224元*6个月 & 80 w。
  场地租金: 15000元*6个月 = 9w。
  办公耗材+桌椅支出:1w。
  服务器、域名、周边IT基础费用:2w。
  大约算下来,不算营销费用,第一个版本,你需要准备100w。
  是的,当有人问题做一个APP需要多少钱时,你可以回答一个不太复杂的APP,从无到有做出来,半年第一个版本出来,需要100万。
Copyright &
Shangxiacehua.com
版权所有&新乡市上下品牌策划有限公司
上下服务热线如何从零开始设计一款漂亮的移动APP? | 设计生活小组 | 果壳网 科技有意思
4659人加入此小组
以下内容由团队翻译整理,仅供学习交流,。我13岁时开始学习平面设计。我从网上课程学会了设计网站,并习惯于全天使用Photoshop和Affinity Designer进行设计。那些经历教会了我如何像设计师那样思考。我设计和开发应用程序将近有一年时间了。我参加了麻省理工学院的一个项目,与一个团队合作开发Universeaty。 两个月前,我开始研究一个新的应用程序-Crypto Price Tracker,这款APP我会在1月28日发布。在这篇文章中,我将配合实例说明我在从事应用程序设计时的一步一步的过程。这应该对任何想学习或改进数字设计技能的人有所帮助。设计并不是全部了解如何使用设计软件,这篇文章也不会教你如何使用软件。网络上有数以百计的优质教程资源可以教你学习如何使用设计软件。想做好设计,你需要理解你的产品,熟知它的特点和功能,以及在设计时始终将终端用户放在心里。这就是这篇文章的意义所在。设计过程:1.为每个页面创建一个用户流程图。2.创建/绘制线框图。3.选择设计图案和调色板。4.创建模型。5.创建一个动画应用程序原型,并要求人们对其进行测试并提供反馈。6.给出最后调整确定的模型,并交由开发按原型编写代码。我们正式开始吧!用户流程图第一步是想出在你的应用程序中想实现的功能。一旦你有了你的想法,设计一个用户流程图。用户流程图是用户通过app/网站进行访问的一个非常高级的表示。通常,用户流程图由三种形状组成。矩形用于表示页面。方块用于表示决策(例如,点击登录按钮,向左滑动,缩放)。箭头将页面和决策连接在一起。用户流程图是非常有用的,因为它们给出了应用程序如何运作的良好逻辑思路。下面是我在开始设计应用程序时绘制的用户流程图。主界面的用户流程图。线框图一旦你完成了每个页面的用户流程图并设计了用户路线,你就可以开始为所有页面做线框图了。线框图在本质上是以低保真度形式表示你的应用程序外观。基本上是图像,标签,按钮,和其它元素的一个草图或一个轮廓,这些元素都会在页面上做好布局和定位。你的应用程序的草图会体现它是如何使用的。我使用UI模板打印的模板来绘制线框图。 它既可以节省时间,而且给为我提供了一个很好的画布来绘图和做笔记。下面是我绘制的一个线框图例子。主界面的线框图。绘制好线框图后,你可以使用一款名为Pop的应用程序,并使用该应用程序将草图拍照存档,再通过「连结」(link to)的功能,将一张张草图串联起来,就能直接在手机屏幕上展示原型实际运作的样子。设计图案和颜色调色板这是我最喜欢的部分。这就像逛街一样。有大量的设计图案和调色板可供选择。我可以去选择我喜欢的,并感受它们给我带来的视觉效果。寻找设计图案的最佳平台是和。想要找到好的调色板,你可以去“ ”平台。创建模型这是当你最终使用设计软件的时候了。设计意义上的模型是以高保真的形式来表示你的应用程序。这就像你将来实际使用时进入这个应用程序,然后你从这里面做一些截图。它看起来应该很现实,非常像真实的东西。有一些用于创建模型的设计软件和工具。我使用Affinity designer来创建模型。iOS设计中最常用的工具是Sketch。下面是我早期设计APP中的一些实例。我使用了各种各样的调色板来进行设计。我给我的朋友分享了最初的模型,以获得他们的反馈。很多人似乎更喜欢黄金渐变和黑色背景。我愿意接受更多的反馈并尝试新的建议!想获得更好的用户体验的方法是多与终端用户交流。当你与终端用户交谈时,你会发现用户有很多奇妙的想法,而不是去疯狂地翻阅Dribbble或Behance。所以我重新设计了模型并删除了背景图,因为生成它们在技术上是一个耗时的过程,除此之外,它们还降低了可读性。下面就是我重新设计模型后的样子。黄金渐变和黑色背景看起来非常不错!我对这套颜色方案、标签栏上的图标和整体布局都非常满意。我继续按照相同的设计指南设计了其余的页面。这是一个漫长而有趣的过程!一旦我的页面准备就绪,我就在Adobe XD上制作了一个原型,并请几个朋友进行使用并给出反馈。经过最终的润色,下面是我确定的设计界面。这就是最终的主界面!所有的页面完成后,我将它们导入到Xcode中并开始编写应用程序代码。这就是我今天要分享的内容!我希望这篇文章能够帮助你开始在设计应用程序时找到灵感,或者帮助你成为更好的设计师。如果你喜欢我的应用程序,你可以在。我将以我最喜欢的设计名言之一来结束这篇文章。设计不在于它看上去如何摸起来如何,设计在于它是确定产品如何运作的。——史蒂夫o乔布斯原文作者:Harshita Arora原文地址:
,现在,免费体验畅快的原型设计之旅。
(C)果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号&&&&
违法和不良信息举报邮箱:&&&&举报电话:&&&&&&&&扫码下载官方App
学习过该课程的人还学习过:
其他联系方式
所属系列课程
& 网易公司 版权所有
关注我们:
APP开发从0到1,APICloud,IT与互联网,移动开发,Broad,如何用标准WEB技术轻松开发IOS、Android原生应用,APICloud CTO手把手交你写代码!官网:www.apicloud.com
适用人群:web前端开发工程师,iOS开发工程师,Android开发工程师等移动App相关人员您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
发私信给宗仁
导语:2012年年底,我们听到App商店数量激增的消息,科技博客The Sociable预测Android应用程序的数量可能超过iOS应用程序,有望今年6月突破100万大关,虽然App开发不再是那么激动人心的一回事,但是两个App商店的App数量丝毫没有放缓的意思。这些App是从哪里来的?成千上万的开发者正卯
同步到新浪微博
专注AIR(人工智能+机器人)
专注人工智能+机器人报道,经验分享请加微信keatslee8(请注明原因)。
科学的本质是:问一个不恰当的问题,于是走上了通往恰当答案的路。
当月热门文章
为了您的账户安全,请
您的邮箱还未验证,完成可获20积分哟!
您的账号已经绑定,现在您可以以方便用邮箱登录
请填写申请人资料

我要回帖

更多关于 商城app开发 的文章

 

随机推荐