㈠ 安卓开发 通用手机助手项目介绍 使用什么技术等等
首先, 看一下要创建"Hello, World"程序从高级层面上有哪些步骤:
1, 通过File -> New -> Project 菜单,建立新项目"Android Project"
2, 填写新项目各种参数。
3, 编辑自动生成的代码模板。
仅此而已,我们通过下面的详细说明来完成每个步骤。
1、创建一个新的Android项目
启动Eclipse, 选择File -> New -> Project 菜单, 如果你安装好了Android的Eclipse插件,你将会在弹出的对话框中看到"Android Project" 的选项。
选择“Android Project”,点击Next 按钮。
2、填写项目的细节参数
下面的对话框需要你输入与项目有关的参数:
这个表格中详细介绍了每个参数的含义:
Project Name: 包含这个项目的文件夹的名称。
Package Name: 包名,遵循java规范,用包名来区分不同的类是很重要的,例子中用到的是"com.google.android",你应该按照你的计划起一个有别于这个的路径的名称。
Activity Name: 这是项目的主类名,这个类将会是Android的Activity类的子类。一个Activity类是一个简单的启动程序和控制程序的类。它可以根据需要创建界面,但不是必须的。
Application Name:一个易读的标题在你的应用程序上。
在"选择栏"的"Use default location" 选项,允许你选择一个已存在的项目。
3,编辑自动生成的代码。
当项目创建后,你刚才创建的HelloAndroid就会是包含下面的代码.
public class HelloAndroid extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
}
}
下面我们开始修改它
[构建界面]
当一个项目建立好以后,最直接的效果,就是在屏幕上显示一些文本,下面是完成后的代码,稍后我们在逐行解释。
代码
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
注意你还需要添加 import android.widget.TextView; 在代码开端处。
在Android程序中, 用户界面是由叫做Views类来组织的。一个View可以简单理解为可以绘制的对象,像选择按钮,一个动画,或者一个文本标签(这个程序中),这个显示文本标签的View子类叫做TextView.
如何构造一个TextView:
TexiView tv = new TextView(this);
TextView的构造参数是Android程序的Context实例, Context可以控制系统调用, 它提供了诸如资源解析, 访问数据库等等。Activity类继承自Context类,因为我们的HelloAndroid 是Activity的子类,所以它也是一个Context类,所以我们能用"this"在TextView构造中。
当我们构造完TextView后,我们需要告诉它显示什么:
tv.setText("Hello, Android");
这个步骤很简单,当我们完成了这些步骤以后,最后要把TextView显示在屏幕上。
setContentView(tv);
Activity的setContentView()方法指示出系统要用哪个View作为Activity的界面, 如果一个Activity类没有执行这个方法,将会没有界面并且显示白屏。在这个程序中,我们要显示文本,所以我们传入已创建好的TextView。
好了,程序代码已经写好,下面看看运行效果。
运行代码: Hello, Android
使用Android的Eclipse插件就可以很轻松的运行你的程序,选择Run -> Open Run Dialog。你将会看到下面的对话框
下一步,高亮"Android Application" 标签, 然后按下左上角的图标(就是像一片纸带个小星星那个),或者直接双击"Android Application" 标签, 你将会看到一个新的运行项目,名为"New_configuration".
取一个可以表意的名称,比如"Hello, Android", 然后通过Browser按钮选取你的项目(如果你有很多个项目在Eclipse中,确保你选择要运行的项目), 然后插件会自动搜索在你的项目中的Activity类并且将所有找到的添加在"Activity"标签的下拉列表中。我们只有"Hello, Android"一个项目,所以它会作为默认选择。
点击"Apply" 按钮,下图
到这里,已经完成了,你只需要点击"Run"按钮,然后 Android的模拟器将会启动,你的应用程序就会被显示出来。
㈡ 有没有什么好的android 实例开发的源代码网站
github.com上有很多,想找那种类型的去这个网站上搜索就行,github主要是代码托管,好多公开的项目,都可以在上面找到源码
㈢ 有关安卓APP开发的毕业设计课题!急!
Android 的开发语言是Java,C,C++,如果你是开发app的话,应该主要是应用Java。
至于Android的配置回开发环境,在网上找找答,很多的也很详细。需要用Eclipse和SDK。
直接网络一下Android开发环境搭建就可以了。
至于app的开发,网上也有很多的demo或者实例。
㈣ Android APP开发需求文档范本
软件需求文档格式的标准写法
1.引言
1.1 编写目的
· 阐明开发本软件的目的;
1.2 项目背景
· 标识待开发软件产品的名称、代码;
· 列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户;
· 说明该软件产品与其他有关软件产品的相互关系。
1.3 术语说明
列出本文档中所用到的专门术语的定义和英文缩写词的原文。
1.4 参考资料(可有可无)
列举编写软件需求规格说明时所参考的资料,包括项目经核准的计划任务书、合
同、引用的标准和规范、项目开发计划、需求规格说明、使用实例文档,以及相关产品
的软件需求规格说明。
在这里应该给出详细的信息,包括标题、作者、版本号、发表日期、出版单位或资
料来源。
2.项目概述
2.1 待开发软件的一般描述
描述待开发软件的背景,所应达到的目标,以及市场前景等。
2.2 待开发软件的功能
简述待开发软件所具有的主要功能。为了帮助每个读者易于理解,可以使用列表或
图形的方法进行描述。使用图形表示,可以采用:
· 顶层数据流图;
· 用例UseCase图;
· 系统流程图;
· 层次方框图。
2.3 用户特征和水平(是哪类人使用)
描述最终用户应具有的受教育水平、工作经验及技术专长。
2.4 运行环境
描述软件的运行环境,包括硬件平台、硬件要求、操作系统和版本,以及其他的软
件或与其共存的应用程序等。
2.5 条件与限制
给出影响开发人员在设计软件时的约束条款,例如:
· 必须使用或避免使用的特定技术、工具、编程语言和数据库;
· 硬件限制;
· 所要求的开发规范或标准。
3.功能需求
3.1 功能划分
列举出所开发的软件能实现的全部功能,可采用文字、图表或数学公式等多种方法
进行描述。
3.2 功能描述
对各个功能进行详细的描述。
4.外部接口需求
4.1 用户界面
对用户希望该软件所具有的界面特征进行描述。以下是可能要包括的一些特征:
· 将要采用的图形用户界面标准或产品系列的风格;
· 屏幕布局;
· 菜单布局;
· 输入输出格式;
· 错误信息显示格式;
建议采用RAD开发工具, 比如Visio,构造用户界面。
4.2 硬件接口
描述系统中软件产品和硬件设备每一接口的特征,以及硬件接口支持的设备、软件与硬件接口之间,以及硬件接口与支持设备之间的约定,包括交流的数据和控制信息的性质以及所使用的通信协议。
4.3 软件接口
描述该软件产品与其有关软件的接口关系,并指出这些外部软件或组件的名字和版本号。比如运行在什么操作系统上,访问何种类型的数据库,使用什么数据库连接组件,和什么商业软件共享数据等。
4.4 通信接口
描述和本软件产品相关的各种通信需求,包括电子邮件、Web浏览器、网络通信协议等。
4.5 故障处理
对可能的软件、硬件故障以及对各项性能而言所产生的后果进行处理。
5.性能需求
5.1 数据精确度
输出结果的精度。
5.2 时间特性
时间特性可包括如下几方面
·响应时间;
·更新处理时间;
·数据转换与传输时间;
·运行时间等。
5.3 适应性
在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,软件的适应能力。
6.其他需求
列出在本文的其他部分未出现的需求。如果不需要增加其他需求,可省略这一部分。
7.数据描述
7.1 静态数据
7.2 动态数据
包括输入数据和输出数据。
7.3 数据库描述
给出使用数据库的名称和类型。
7.4 数据字典
对于数据流图、层次方框图中出现的所有图形元素在数据字典中都要作为一个词条加以定义,使得每一个图形元素都有唯一的一个清晰明确的解释。
数据字典中所有的定义必须是严密的、精确的,不可有二意性。
7.5 数据采集
·列出提供输入数据的机构、设备和人员
·列出数据输入的手段、介质和设备;
·列出数据生成的方法、介质和设备。
8.附录
包括分析模型,待定问题图表等。
㈤ 安卓开发中,a = (A) b(),b是A的方法,来创建A的实例a,这是什么用法
b方法是有返回值的吧,然后把b方法返回的对象强转成A类型
㈥ 安卓开发如下一段代码,实例程序可以正常运行,但是把这个加到另一个项目里就这段代码就不执行,也不报错
从方法第一行开始打断点调试喽
㈦ 如何开发一个简单的 Android Wear 应用程序
你可以选择Eclipse或AndroidStudio作为AndroidWear的集成开发环境(IDE)。谷歌建议用AndroidStudio进行开发。通过Android的SDK管理者下载API20(4.4KitKatWear):AndroidStudio提供了在现有应用程序中添加AndroidWear支持或创建新项目的便捷方式:AndroidStudio用的是组件模型,其中手机和AndroidWear是单项目的一部分。如果要在AndroidStudio创建一个新项目,点击文件->新项目。在向导的第二页,选择构成因子,确保选择AndroidWear模块作为你开发的构成因子(见下图)。一旦完成所有选项选择,项目就会自动生成。你会看到这个Android项目有两个模块:移动和Wear。移动的使用于手机的应用程序,Wear是在AndroidWear上运行的程序。Wear应用程序不可以作为单独的软件包放在谷歌商店里。你需要把移动和Wear应用程序放在同一个应用程序APK中。当用户在手机上下载APK时,Wear应用程序就会自动传到配对的Wear设备。AndroidStudio产生的默认项目并没有什么特别。在测试期间,我们需要自己写代码,这取决于我们想要应用程序的“可穿戴“执行什么。通知AndroidWear的开发可以从两个角度进行分析:通知和AndroidWear应用程序本身(包括在APK文件夹)。对于已经从谷歌商店安装官方AndroidWear到手机的用户,以及已经把手机和Wear设备配对的用户,不需要在应用程序中对通知进行任何更改。虽然这样说,但为了让Wear真正发挥作用,有时候更改是有必要的。你可以令通知只出现在手机或可穿戴设备或两者都有。此外,如上所述,开发商应该想下如何利用用户界面(UI)优势——即背景图像、通知标题、文本等等。创建将发送到可穿戴设备的手持式通知,谷歌建议使用通知兼容生成器。Android的支持库提供了一系列类别,你需要添加到你的项目中。如果使用AndroidStudio,你需要添加下列属于移动模块中的build.gradle文件的编译时间。compile"com.android.support:support-v4:20.0.+"要创建通知,你可在你的移动应用程序中尝试下面的代码:NotificationCompat.Builderbuilder=newNotificationCompat.Builder(this);builder.setContentTitle(“NewAPI”).setContentText(“XYZAPIgotaddedtoFoodCategory”).setSmallIcon(R.drawable.ic_mynotification).setContentIntent(PhoneActivityPendingIntent);然后,你可以根据你的逻辑触发通知,如下所示:=NotificationManagerCompat.from(this);notificationManager.notify(notificationId,notificationBuilder.build());现在,当用户在Wear设备上收到通知时,他们在手机上点击通知或者滑动到左边就可以启动等待模式,然后显示开始动作。作为扩展部分,如果想要通知只出现在手机,你可以通过具体说明setLocalOnly来创建通知。在上面的例子中,我们只显示了一个卡片,但你可以看下有多页甚至折叠的通知卡片。可穿戴应用程序虽然AndroidWear支持来自手机的通知,但有时候还不够。有几种情况,包括:在手机上收到数据时想要在Wear设备启动活动;从Wear设备向手机发送信息,反过来执行一些活动或者在后台做点什么;在Wear设备上创建自定义界面;编写一个可以在Wear设备上启动和运行的程序,并且可以通过接收语音输入启动不同动作指令。以上提到的都有可能实现,前提是你了解一些WearAPI的基础知识。连接和数据交换前面提供的案例中,共同的主题是手机和Wear设备都需要一个可连续双方的机制,然后一旦建立联系,就需要相互的信息交换。这反过来可以触发相应设备上的正确指令。手机和可穿戴设备之间的联系是由谷歌提供服务的。谷歌API客户端提供了这种联系的实例。执行实例为了了解全局,我们来看一个实例应用程序,包括手机和Wear组件。为了让事情简单化,手机应用程序将会有单独的活动指令名称——MainActivity.java。它设计了一个按钮,点击时会发送消息到Wear应用程序。首先,让我们看下MainActivity.java在手机应用程序上的情况(主要方法如下所示):同样,用户只要向Wear设备说出“开始【活动名称】”就可以开始一个活动指令。你所需要做的就是在活动清单中为该活动提供一个文件属性
㈧ Java开发安卓应用实例教程
推荐下面几种方式
方式一:看书学习 推荐《第一行代码》《android疯狂讲义》
方式二:看视频学专习 网上属有很教学视频 可以网络搜索
方式三:报培训班学习
以上三种方式各有优缺点 看书比较难懂 而且乏味 看视频比较容易懂 但有问题没人问 如果想要系统的学习 建议报培训班 专门的老师教 学习贵在坚持 最后的成果还是靠自己努力
㈨ 基于android系统的手机游戏的开发
如果你有兴趣为Android平台开发游戏,有很多你需要了解的东西。如果你有过游戏开发经验,那么转移到移动平台上来将不是特别困难。你主要只需学习其架构以及API就行了。如果你是一名游戏开发新手,我总结了一张列表,上面有你必需知道的东西,供你起步用。这些知识适用于很多类型的游戏,包括动作类、策略类、模拟类和益智类。 Android是一个基于Java的环境。这对初学者来说是个好消息,因为相对于C++,Java被广泛认为是一门更容易上手的语言,它是移动开发的规范。Google也做了一件出色的工作,它将API文档化并提供示例代码供使用。其中有个叫做API Demos的示例几乎展示了所有API的功能。如果你熟悉Java并且用过Eclipse,要让你的第一个应用跑起来那是相当简单。如果你以前从没写过代码,在你前进路上还要学习很多,但别气馁。
获取SDK
新手上路的第一步便是获取Android SDK(软件开发工具包)。SDK里有一个核心类库,一个模拟器,一些工具和示例代码。我强烈建议使用Eclipse和Android Eclipse插件。如果你玩Android的话,Eclipse IDE对Java开发者来说很好用。如果这是你第一次开发Java项目,你可能会需要下载全套JDK,它里面包括签名和部署你的应用程序的一些工具。
学习应用程序架构
别急着一头扎进开发的海洋里,理解Android应用程序架构是很重要的。如果你不学一下,你设计出来的游戏在线下将很难调试。你将需要理解Applications、Activities、Intents以及它们怎样相互联系。Google提供了很多有用的架构信息。真正重要的是要理解为什么你的游戏需要多于一个的Activity,以及什么才是设计一个有良好用户体验的游戏。要理解这些,首先要了解什么是Activity生命周期。
学习Activity生命周期
Activity生命周期由Android操作系统来管理。你的activity创建、恢复、暂停、销毁都受操作系统的支配。正确处理这些事件是很重要的,这样应用程序才能表现良好,做用户认为正确的事。在你设计你的游戏之前了解所有这些是如何工作的是件好事,因为以后你可以为自己节省调试时间和昂贵的重新设计时间。对大多数应用来说,默认的设置将工作正常,但对于游戏,你可能需要考虑将SingleInstance标志打开。当设置为默认时,Android在它认为合适时会创建activity的新实例。对于游戏来说,你可能只需要一个游戏activity的实例。这对于你要怎样管理事务的状态有些影响,但对于我来说,这解决了一些资源管理的问题,应予以考虑。
主循环
根据你写的游戏的类型,你可能需要也可能不需要一个主循环。如果你的游戏不依赖于时间或者它仅仅对用户所做的加以回应,并且不做任何视觉上的改变,永远等待着用户的输入,那么你就不需要主循环。如果你写的是动作类游戏或者带有动画、定时器或任何自动操作的游戏,你应该认真考虑下使用主循环。
游戏的主循环以一个特定的顺序通常尽可能多的在每秒钟内“滴答”提醒子系统运行。你的主循环需要在它自己的线程里运行,原因是Android有一个主用户界面线程,如果你不运行自己的线程,用户界面线程将会被你的游戏所阻塞,这会导致Android操作系统无法正常的更新任务。执行的顺序通常如下:状态,输入,人工智能,物理,动画,声音,录像。
更新状态意思是管理状态转换,例如游戏的结束、人物的选择或下一个级别。很多时候你需要在某个状态上等上几秒钟,而状态管理应该处理这种延迟,并且在时间过了之后设置成下一个状态。
输入是指用户按下的任何键、对于滚动条的移动或者用户的触摸。在处理物理之前处理这些是很重要的,因为很多时候输入会影响到物理层,因而首先处理输入将会使游戏的反应更加良好。在Android里,输入事件从主用户界面线程而来,因此你必须写代码将输入放入缓冲区,这样你的主循环可以在需要的时刻就从缓冲区里取到它。这并非难事。首先为下一个用户输入定义一个域,然后将onKeyPressed或onTouchEvent函数设为接到一个用户动作就放到那个域里,有这两步就够了。如果对于给定游戏的状态,这是一个合法的输入操作,那么所有输入需要在那一刻做的更新操作都已经定下来了,剩下来就让物理去关心怎样响应输入吧。
人工智能所做的类似于用户在决定下一个要“按”哪个按钮。学习怎样写人工智能程序超出了这篇文章的范围,但大体的意思是人工智能会按照用户的意图来按按钮。这些也有待物理去处理和响应吧。
物理可能是也可能不是真正的物理。对于动作类游戏来说,关键点是要考虑到上一次更新的时间、正在更新的当前时间、用户输入以及人工智能,并且决定它们朝着什么方向发展和是否会发生冲突。对于一个你可视化地抓取一些部件并滑动它们的游戏来说,物理就是这个游戏中滑动部件或者使之放入合适的位置的部分。对于一个小游戏来说,物理即使这个游戏中决定答案是错还是对的部分。你可能将其命名为其他东西,但每个游戏都有一个作为游戏引擎的红肉部分(译者注:可能是主体部分的意思),在这篇文章里,我把这部分称为物理。
动画并非像在游戏里放入会动的gif图片那样简单。你需要使得游戏能在恰当的时间画出每一帧。这并没有听起来那么困难。保留一些像isDancing、danceFrame和lastDanceFrameTime那样的状态域,那样动画更新便能决定是否可以切换到下一帧去了。动画更新真正做的事就那么多。真正来显示动画的变化是由录像更新来处理的。
声音更新要处理触发声音、停止声音、音量变化以及音调变化。正常情况下当写游戏的时候,声音更新会产生一些传往声音缓冲区的字节流,但是Android能够管理自己的声音,因而你的选择将是使用SoundPool或者MediaPlayer。它们都需要小心处理以免出错,但你要知道,因为一些底层实现细节,小型、低比特率的声音文件将带来最佳的性能和稳定性。
录像更新要考虑游戏的状态、角色的位置、分数、状态等等,并将一切画到屏幕上。如果使用主循环,你可能需要使用SurfaceView,并做一个“推”绘制。对于其他视图,视图本身能够调用绘制操作,主循环不必处理。SurfaceView每秒产生的帧数最多,最适合于一些有动画或屏幕上有运动部件的游戏。录像更新所要做的工作是获取游戏的状态,并及时地为这个状态绘制图像。其他的自动化操作最好由不同的更新任务来处理。
代码看起来是什么样的?这儿有个例子。
1: public void run() {
2: while (isRunning) {
3: while (isPaused && isRunning) {
4: sleep(100);
5: }
6: update();
7: }
8: }
9:
10: private void update() {
11: updateState();
12: updateInput();
13: updateAI();
14: updatePhysics();
15: updateAnimations();
16: updateSound();
17: updateVideo();
18: }
3D还是2D?
在开始写游戏之前,你要决定是做3D的还是2D的。2D游戏有一个低得多的学习曲线,一般更容易获得良好的性能。3D游戏需要更深入的数学技能,并且如果你不在意的话会有性能问题产生。如果你打算画比方框和圆圈更复杂的图形,还需要会使用3D Studio和Maya那样的建模工具。Android支持OpenGL用来3D编程,并且在OpenGL方面有很多很好的教程可供学习。
建立简单、高质量的方法
上手时,要确保你整个游戏不要就用一个庞大而冗长的方法。如果你遵循我上面描述的主循环模式,这将相当简单。每个你写的方法应当完成一个非常特定的任务,并且它就应该无差错地那样做。举例来说,如果你需要洗一副纸牌,你应该写一个“shuffleCards”的方法,并且该方法就应该只做这一件事。
这是一个适用于任何软件开发的编码实践,但对于游戏开发来说这尤为重要。在一个有状态的、实时的系统里,调试将变得非常困难。使你的方法尽量的小,一般的经验法则是每个方法有且仅有一个目的(译者注:完成且仅完成一个功能)。如果你要为一个场景用编程方式画一个背景,你可能需要一个叫做“drawBackground”的方法。诸如此类的任务能够很快完成,因而你可以按照搭积木的方法来开发你的游戏,而你能够继续添加你要的功能,并且不会使得这一切难以理解。
最重要的是效率!
性能是任何游戏的主要问题。我们的目标是使得游戏的反应越快越好,看起来越流畅越好。某些方法如Canvas.drawLine比较慢。并且要将屏幕大小的位图画到主画布上,每一帧都是代价昂贵的。如何权衡对于达到最佳性能很有必要。确保管理好你的资源,使用技巧来以最少量的CPU资源完成你的任务。如果性能不好的话,即使是最好的游戏玩起来也没劲。人们一般对于游戏卡或者响应慢几乎难以容忍。
提示和技巧
看一下SDK中的示例LunarLander。它使用SurfaceView,这对于一个每秒需要处理最多帧的游戏来说是合适的。如果你要做3D,示例中有GLView可以处理3D显示的很多初始化工作。对LightRacer来说,我不得不优化把所有东西都画出来这种方法,否则帧率将会大大地降低。我只在视图初始化的时候把背景画进一个位图里一次。路径放在它们自己的位图里,随着车手的前进而更新。这两个位图在每一帧里都被画进主画布中去,车手画在顶端,到最后会有一个爆炸。这种技术使得游戏运行在一个可以玩的程度。
如果适用的话,使得你的位图的大小精确等于你打算画到屏幕上的大小,这也是个好的实践。这么做了以后就需要缩放,可以节省CPU资源。
在游戏中始终一致的位图配置(如RGBA8888)。这将会通过减少不同格式之间转换的时间来节省图形库的CPU时间。
如果你决定开发3D游戏但没有3D方面的知识,你需要挑选一两本3D游戏编程方面的书并学习线性代数。你最少要理解点积、叉积、向量、单元向量、法线、矩阵和变换。这方面我遇到的最好的书是叫《3D游戏编程和计算机图形学数学》。
声音文件要小而且低比特率。需要加载的越少,加载速度越快,游戏所需内存越少。
声音使用OGG文件,图片使用PNG文件。
确保释放所有媒体播放器,当Activity销毁时空出所有的资源。这能保证垃圾收集器清除了所有东西,也能保证在两次游戏开始之间没有内存泄露。
加入Android谷歌小组,寻求社区支持。这里有人可以在开发过程中给你帮助。
最重要的是,花时间测试再测试,确保每一小部分都如你所愿地工作。改善游戏是整个开发中最耗时最困难的部分。如果你匆匆将其推向市场,你很可能会使用户们失望,你会感到你的努力都白费了。你不可能使所有人都喜欢你写的东西,但你至少要尽量发布你最高质量的作品。
Google在这里有帮助你上手的绝佳的文档。
电驴上也有很多不错的书籍和视频教程~希望对你有帮助