① 如何开发一款完整的android App
你这个问题有些笼统,一个完整的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开发简单的第三方应用,否则还是让一个团队来完成各自擅长的领域。
② 如何做好安卓应用的界面设计
现在的软件应用大致可以分为安卓系统和ios的系统。而iOS系统只适用于苹果软件,不适用于其他的软件。而现在大多数的电子产品,国产的基本上都是安卓系统.随着中国市场的迅速发展。安卓系统比越来越多的人使用,但是怎么样才能做好安卓应用的页面设计呢?
首先我们要想做好安卓应用的页面设计,我们必须对安卓系统进行更深入的了解。充分理解安卓应用所使用的范围和继续开发,研究安卓应用的一些拓展的功能。深入的剖析安卓系统,他的优点和缺点,以及有什么改进的地方。以及改进的方法。
总体而言,就像我们现在的社会主义道路一样。虽然是借鉴恩格斯和马克思他们的先进思想,但是我们还必须结合我们的毛泽东思想和邓小平理论。走出一条属于我们中国的特色的社会主义道路。安卓应用的页面设计也是这样,要结合自己本身的实际情况。设计出独特的,吸引人的设计。
③ android界面设计有什么好的方案
多看android官方规范,灵活使用8dp(一般间距)与48dp(一般可触摸区域)。
灵活使用点九切图。图标与按钮分开切,字全让研发自己输入。千万不要切死图。
早期的时候跟研发约好时间。比如某个半天,你弄个笔记本,跟研发坐一起,严格的把你的规范执行下去,后期大家合作起来就方便了。
图一定要像素级别(包括720的图标),所有锚点都优化好。
还是研发吧,没事多往那边跑,带点干果花生什么的一边吃一边改。他是怎么实现的,你一定要问清楚,你想怎么实现,你也得跟他讲清楚。
仍然还是研发,他们不怕麻烦,只是怕做好后又改。所以不要老让他们尝试,自己多做效果图,严谨一点,多用axure把效果图转手机里看看。
做一个UI套件(dribbble上搜索UI kit看下别人怎么做的),后期你也会方便很多,重要的是交接工作会很好。
多看知乎,有些关于ps的技巧,作图技巧还蛮实用的。
④ 如何设计android.app
打开里面的eclipse文件夹,找到运行文件
3
双击打开,然后启动开发软件页面。开始开发软件了,是不是蛮激动?淡定点,后面慢慢来!
4
点击 File ,进行新建项目,软件是英文,不要紧,认识26个英文字母就行!
5
选择制作安卓应用项目 Andriod Application Project ,然后就点 “next”
6
给你要开发的软件命名,这里就使用HelloApp作为软件名称,你会惊奇的发现下面的都已经自动生成了!好,不用管它,我们接着下面做
7
下一步,也就是点“next”,next,
当然
这些不设置没多大影响,因为我们是进行初学,不用去做那么多外观效果,
8
如果你认为白色的背景效果不好看,你就使用 background color 进行修改吧
9
然后你就可以进入预览模式,继续下一步
10
最后选择finish,完全生成了你的第一个项目,此时它会自动打开两个文件,不用管它,咱可以进行可视化页面设计
11
按照图上的路径,打开样式设计页面
12
双击文件窗口栏,窗口最大化
13
左边有各种表单,空间,文本框,都可以选择。使用时选中,直接拖到设计页面相应位置就可以了。这里就以一个投票表单为例。建立登录表单页,设计表单,页面。
14
ok,我们要做的基本界面就是这样。下面就是运行这个我们自己做的“软件”了。更加激动了吧!双击窗口栏回到原来的界面
15
配置我们需要在电脑运行的虚拟机,当然也可以选择在自己手机运行。这里我们就先在电脑运行好后,在直接把apk软件包移动到手机安装即可
16
如果在表格AVD里面没有任何记录时,选manage,如果已经有了虚拟机,我们就不用进行manage进行配置
17
按照图中的框配置下,ram运行内存不要设得配置太高,够用就行,不然电脑会很卡
18
接下来,我们就通过虚拟进行运行我们的程序吧
19
可能虚拟机启动有点慢,具体看电脑的性能吧。一般在3到4分钟就可以启动完毕。一般做软件过程中,经常用到这个虚拟机,我们可以提前打开它,然后我们要使用时就会比较快了。
20
ok,我们做的软件成功运行了。好下面就找到安装包apk文件,发送到手机里面尝试了。在bin目录下,就会出现我们的apk文件。然后发送到你的手机中,安装!!呵呵,已经完成了我们自己的第一个安卓软件了,是不是很自豪啊。。。。当然要实现其他的安卓丰富功能,可以好好参考相关的开发教程,,努力+坚持=good!相信你会成为一个很棒的安卓开发者!以上步骤如有任何疑问,可以私信本人,欢迎大家的友情交流!!谢谢
⑤ Android程序界面设计有哪些方式
一、 界面布局之线性布局(LinearLayout)
这种布局比较常用,也比较简单,就是每个元素占一行,把它按照横向排放,也就是每个元素占一列。在布局中都按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。
二、 界面布局之相对布局(RelativeLayout)
相对布局是android界面设计中比较常用和好用的一个布局方式。
三、 界面布局之表格布局(TableLayout)
表格布局采用行、列的形式来管理元素组件。TableLayout的行和列不需要声明,而是采用添加方法控制。
每次在TableLayout中添加一个TableRow,一个TableRow就代表表格中的一行,也同样是容器,往里面添加一个子组件就代表增加一列。在表格布局中,列的宽度由最宽的那个单元格决定,整个表格布局宽度取决于父容器的宽度
四、 界面布局之绝对布局(AbsoluteLayout)
特点:以坐标的方式来定位在屏幕上的位置,引起缺乏灵活性,在没有绝对定位的情况下相比其他类型的布局更难维护
五、 界面布局之帧布局(FrameLayout)
FrameLayout是五大布局中最简单的一个布局。在帧布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
⑥ 如何设计Android APP测试用例
您好,Android
APP测试用例一般需要设计以下几个内容:
用例编号、模块、测试描述、前提条件、测试步骤、预期结果、影响等级、用例类型、测试数据、用例属性、设计人、执行人、测试结果、备注。
⑦ 如何设计android的登录界面
在网上在到一个登录界面感觉挺不错的,给大家分享一下~先看效果图:
这个Demo除了按钮、小猫和Logo是图片素材之外,其余的UI都是通过代码实现的。
?
一、背景
背景蓝色渐变,是通过一个xml文件来设置的。代码如下:
background_login.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:andro>
<gradient
android:startColor="#FFACDAE5"
android:endColor="#FF72CAE1"
android:angle="45"
/>
</shape>
startColor是渐变开始的颜色值,endColor是渐变结束的颜色值,angle是渐变的角度。其中#FFACDAE5中,FF是Alpha值,AC是RGB的R值,DA是RGB的G值,E5是RGB的B值,每个值在00~FF取值,即透明度、红、绿、蓝有0~255的分值,像要设置具体的颜色,可以在PS上的取色器上查看设置。
?
?
二、圆角白框
效果图上面的并不是白框,其实框是白色的,只是设置了透明值,也是靠一个xml文件实现的。
background_login_div.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:andro>
<solid android:color="#55FFFFFF" />
<!-- 设置圆角
注意: bottomRightRadius是左下角而不是右下角 bottomLeftRadius右下角-->
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp"
android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp"/>
</shape>
?
三、界面的布局
界面的布局挺简单的,就直接贴代码啦~
login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:andro
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_login">
<!-- padding 内边距 layout_margin 外边距
android:layout_alignParentTop 布局的位置是否处于顶部 -->
<RelativeLayout
android:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="15dip"
android:layout_margin="15dip"
android:background="@drawable/background_login_div_bg" >
<!-- 账号 -->
<TextView
android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:text="@string/login_label_username"
/>
<EditText
android:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/login_username_hint"
android:layout_below="@id/login_user_input"
android:singleLine="true"
android:inputType="text"/>
<!-- 密码 text -->
<TextView
android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/username_edit"
android:layout_marginTop="3dp"
android:text="@string/login_label_password"
/>
<EditText
android:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/login_password_input"
android:password="true"
android:singleLine="true"
android:inputType="textPassword" />
<!-- 登录button -->
<Button
android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/password_edit"
android:layout_alignRight="@id/password_edit"
android:text="@string/login_label_signin"
android:background="@drawable/blue_button" />
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView android:
android:text="@string/login_register_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:textColor="#888"
android:textColorLink="#FF0066CC" />
<ImageView android:
android:src="@drawable/cat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="25dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="25dp" />
<ImageView android:src="@drawable/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/miniTwitter_logo"
android:layout_alignBottom="@id/miniTwitter_logo"
android:paddingBottom="8dp"/>
</RelativeLayout>
</LinearLayout>
⑧ 设计并开发出一个完整的android app 需要掌握哪些知识
你这个问题有些笼统,一个完整的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开发简单的第三方应用,否则还是让一个团队来完成各自擅长的领域。
⑨ 如何设计Android App测试用例
一般安卓开发者在其日常工作中面临的最大挑战之一是:终端设备和[url=]操作系统[/url]版本的范围太广。OpenSignal进行的一项研究表明,2013年7月市场上有超过11,828的不同安卓终端设备,所有设备在类型/大小/屏幕分辨率以及特定配置方面有所不同。考虑到前一年的调查仅记录有3,997款不同设备,这实在是一个越来越大的挑战障碍。
从一个移动APP开发角度出发,定义终端设备有四个基本特征:
1.操作系统:由“API指标”( 1 ~18 )专业定义的安卓操作系统版本( 1.1~ 4.3 ),。
2.显示器:屏幕主要是由屏幕分辨率(以像素为单位),屏幕像素密度( 以DPI为单位),和/或屏幕尺寸(以英寸为单位)定义的。
3.CPU:该“应用程序二进制接口” (ABI )定义CPU的指令集。这里的主要区别是ARM和基于Intel的CPU。
4.内存:一个设备包括内存储器( RAM)和Dalvik 虚拟存储器( VM堆)的预定义的堆内存。
这是前两个特点,操作系统和显示器,都需要特别注意,因为他们是直接由最终用户明显感受,且应该不断严格地被测试覆盖。至于安卓的版本, 2013年7月市场上有八个同时运行导致不可避免的碎片的不同版本。七月,近90%这些设备中的34.1 %正在运行Gingerbread版本( 2.3.3-2.3.7 ),32.3 %正在运行Jelly Bean( 4.1.x版),23.3 %正在运行Ice Cream Sandwich( 4.0.3 - 4.0.4 )。
考虑设备显示器,一项TechCrunch从2013年4月进行的研究显示,绝大多数(79.9%)有效设备正在使用尺寸为3和4.5英寸的“正常”屏幕。这些设备的屏幕密度在“MDPI”(~160 DPI),“hdpi”(~240 DPI)和“xhdpi”(~320 DPI)之间变化。也有例外, 一种只占9.5%的设备屏幕密度低“hdpi”(~120 DPI)且屏幕小。
如果这种多样性在质量保证过程中被忽略了,那么绝对可以预见:bugs会潜入应用程序,然后是bug报告的风暴,最后Google Play Store中出现负面用户评论。因此,目前的问题是:你怎么使用合理水平的测试工作切实解决这一挑战?定义测试用例及一个伴随测试过程是一个应付这一挑战的有效武器。
用例—“在哪测试”、“测试什么”、“怎么测试”、“何时测试”?
“在哪测试”
为了节省你测试工作上所花的昂贵时间,我们建议首先要减少之前所提到的32个安卓版本组合及代表市场上在用的领先设备屏的5-10个版本的显示屏。选择参考设备时,你应该确保覆盖了足够广范围的版本和屏幕类型。作为参考,您可以使用OpenSignal的调查或使用手机检测的信息图[3],来帮助选择使用最广的设备。
为了满足好奇心,可以从安卓文件[5]将屏幕的尺寸和分辨率映射到上面数据的密度(“ldpi”,“mdpi”等)及分辨率(“小的”,“标准的”,等等)上。
有了2013手机检测研究的帮助,很容易就找到了代表性的一系列设备。有一件有趣的琐事:30%印度安卓用户的设备分辨率很低只有240×320像素,如上面列表中看到的,三星Galaxy Y S5360也在其中。另外,480×800分辨率像素现在最常用(上表中三星Galaxy S II中可见)。
“测试什么”
移动APP必须提供最佳用户体验,以及在不同尺寸和分辨率(关键字“响应式设计”)的各种智能手机和平板电脑上被正确显示(UI测试)。与此同时,apps必须是功能性的和兼容的(兼容性测试),有尽可能多的设备规格(内存,CPU,传感器等)。加上先前获得的“直接”碎片化问题(关于安卓的版本和屏幕的特性), “环境相关的”碎片化有着举足轻重的作用。这种作用涉及到多种不同的情况或环境,其中用户正在自己的环境中使用的终端设备。作为一个例子,如果网络连接不稳定,来电中断,屏幕锁定等情况出现,你应该慎重考虑压力测试[4]和探索性测试以确保完美无错。
有必要提前准备覆盖app最常用功能的所有可能的测试场景。早期bug检测和源代码中的简单修改,只能通过不断的测试才能实现。
“怎么测试”
将这种广泛的多样性考虑在内的一种务实方法是, 安卓模拟器 - 提供了一个可调节的工具,该工具几乎可以模仿标准PC上安卓的终端用户设备。简而言之,安卓模拟器是QA流程中用各种设备配置(兼容性测试)进行连续回归测试(用户界面,单元和集成测试)的理想工具。探索性测试中,模拟器可以被配置到一个范围广泛的不同场景中。例如,模拟器可以用一种能模拟连接速度或质量中变化的方式来设定。然而,真实设备上的QA是不可缺少的。实践中,用作参考的虚拟设备依然可以在一些小的(但对于某些应用程序来说非常重要)方面有所不同,比如安卓操作系统中没有提供程序特定的调整或不支持耳机和蓝牙。真实硬件上的性能在评价过程中发挥了自身的显着作用,它还应该在考虑了触摸硬件支持和设备物理形式等方面的所有可能终端设备上进行测试(可用性测试)。
“何时测试”
既然我们已经定义了在哪里(参考设备)测试 ,测试什么(测试场景),以及如何( 安卓模拟器和真实设备)测试,简述一个过程并确定何时执行哪一个测试场景就至关重要了。因此,我们建议下面的两级流程:
1 .用虚拟设备进行的回归测试。
这包括虚拟参考设备上用来在早期识别出基本错误的连续自动化回归测试。这里的理念是快速地、成本高效地识别bugs。
2 .用真实设备进行的验收测试。
这涉及到:“策划推广”期间将之发布到Google Play Store前在真实设备上的密集测试(主要是手动测试),(例如,Google Play[ 5 ]中的 alpha和beta测试组) 。
在第一阶段,测试自动化极大地有助于以经济实惠的方式实现这一策略。在这一阶段,只有能轻易被自动化(即可以每日执行)的测试用例才能包含在内。
在一个app的持续开发过程中,这种自动化测试为开发人员和测试人员提供了一个安全网。日常测试运行确保了核心功能正常工作,app的整体稳定性和质量由测试数据透明地反映出来,认证回归可以轻易地与最近的变化关联。这种测试可以很轻易地被设计并使用SaaS解决方案(如云中的TestObject的UI移动app测试)从测试人员电脑上被记录下来。
当且仅当这个阶段已被成功执行了,这个过程才会在第二阶段继续劳动密集测试。这里的想法是:如果核心功能通过自动测试就只投入测试资源,使测试人员能够专注于先进场景。这个阶段可能包括测试用例,例如性能测试,可用性测试,或兼容性测试。这两种方法相结合产生了一个强大的移动apps质量保证策略[ 7 ] 。
结论 - 做对测试
用正确的方式使用,测试可以在对抗零散的安卓的斗争中成为一个有力的工具。一个有效的测试策略的关键之处在于定义手头app的定制测试用例,并定义一个简化测试的工作流程或过程。测试一个移动app是一个重大的挑战,但它可以用一个结构化的方法和正确的工具集合以及专业知识被有效解决掉。
⑩ 如何做好安卓应用的界面设计
android界面设计的工作在正规情况下,会和编程部分分开,属于UI设计师的工作范畴,当然UI设计师与程序开发者必须了解相关的android的UI构建机制(接口,实现方法等等)方便协同工作。 安卓的按钮包括系统默认的其实都是图片,调用的图片资源由具体的代码控制,这些代码的实现方法开发者必须弄懂,droiddraw也不过是生成一些预先写好的调用默认图片的代码。 UI设计要涉及,点对点显示,效果实现方式,界面人机交互原理,内存占用优化优化等等好多原则,因此不同dpi的界面实际上不仅仅是简单地调整一下png大小而已(如果只是简单缩放直接用全局的代码实现快得多)。不同的UI设计师会有自己的不同实现方法,例如我就比较喜欢用photo的动作自己做批处理脚本。