Android编程(精选五篇)
Android编程 篇1
智能手机功能越来越强大,Android平台手机占智能手机的主要部分,在许多功能方面甚至已经超过平板和电脑,表现最为突出的就是智能手机支持越来越多的传感器,利用这些传感器,结合GPS等装置,可以创造出适用于自动控制、空间模拟、动漫游戏等领域各种各样丰富多彩的应用。手机配置的传感器如下表所示。
2 Android 平台传感器编程简介
Android手机传感器编程,首先要了解手机上传感器情况。
随着Android开发平台的功能扩展,传感器数据逐渐规整,调用接口更加规范,编程使用更加简便。
3 Android 平台传感器综合编程
传感器数据统一存放在event.values中,以方向传感器编程为例,在方向传感器中event.values数组变量的3个值分别表示三个方向的度数,含义如下表所示。
创建传感器管理器和传感器监听器,管理器管理传感器并创建传感器,监听器监视传感器状态和数值变化。
方向传感器要求手机具有电子罗盘,其他传感器编程大同小异,方法和步骤基本相同。
4 总结
Android编程 篇2
首先说一下,之所以选择android培训,主要有下面几个原因:因为我不是计算机专业,一些计算机语言高级的计算机语言也没学过,只学过c语言,本身想自学,但自学觉得效率太低,自己没有系统的学习方法,考虑到报班学习,有个老师带着,这样效果会好很多,因此决定上个编程培训班学习。
在看了好多家Android编程开发培训机构的官方介绍后,也在论坛上搜索了一些评价,之后和咨询老师进行了一些沟通,同时我还打听到了一些之前毕业学员的一些就业情况。相比同行业的其他培训机构,各方面的反馈都还不错,所以我选择了千锋android培训。四个月android学习过去了,老师给我的印象是非常负责,在课堂上,他们会一一为同学答疑解惑,甚至当看到你带有疑惑的眼神,他们也会问下你有没有不懂的地方, 这一点我很感动。这里的课程安排的很合理,从基础的java,以及培养面向对象的一些细节,白天老师讲课,晚上自习有老师辅导,一直到Android编程开发最后的大项目,课程都安排的很有层次,深入浅出。
在学习android编程的这段时间里,我学到很多之前没有接触到的知识,过得挺充实的。这里的授课老师讲课方式各有特色,但是课后对于我们来说都很亲切。刘老师讲话风趣幽默,让我们在轻松环境中掌握java语言基础,课程中,老师更加注重我们对于代码的积累,并强调实用性,让我们自己在项目中理解,很多老师都知识面很广,亲和力又强,让我们能够在轻松地氛围中更好地融会贯通所学android编程知识。
Android编程 篇3
1 极限编程核心思想
1996年KentBeck提出了极限编程 (Extreme Programming, 简称XP) 。这种软件开发方法高效、轻量、有柔性、可预测、风险低、科学且充满乐趣, 其应对需求的变化是通过迭代周期短来实现的[1]。Kent Beck建议, 在进度紧、需求变化大、规模小且质量要求严格的项目中使用极限编程[2]。其核心思想有以下几点。
沟通:设计者与Android终端用户、设计者与开发者间沟通不畅, 由此产生了项目开发中90%的问题, 所以, 在极限编程中沟通是必须的。
极简:编程尽量保留简单的代码, 只要能正常工作就行。Kent Beck表示, 编一个复杂的系统, 还不如设计一个简单且又能满足需要的系统, 因为有可能永远都不会发生预先所考虑的情况。
反馈:对用户反馈的意见要尽快获取, 且越详细越好, 这样开发出来的成果才能更好地满足用户的需求。
2 极限编程软件 (APK) 实施准则
极限编程核心思想衍生的基本准则使极限编程的开发规范化。
(1) 快速反馈:反馈要尽可能的早, 使Java编程人员在主要的Android软件功能上能精力集中。
(2) 假设简单性:注意力集中在简单设计的实现上, 并结合燃烧图加以完成。
(3) 提倡更改:“拥抱变化”是极限编程需强调的, 反馈及时, 就可对反馈结果采取相应的措施。
3 极限编程软件 (APK) 实施要领
(1) 里程碑:根据Google发布Android周期, 决定功能计划发布的里程碑。
(2) 原子发布:TG团队以最短时间为周期迭代开发、增量方式发布新版本。
(3) 统一描述语言:通过统一描述开发人力、用户和项目管理人力语言来描述功能。
(4) 极简设计:只完成当前功能, 复用Android SDK及Java本身的API。
(5) 测试驱动:完成CUnit/JUnit等测试用例开发, 再进行编码之后进行白盒测试。
(6) 重构:利用Java的重构思想完成架构变化, 同时通过重构删除冗余代码逻辑, 简化系统依赖, 增加代码设计的灵活性。
(7) 结对编程:共用开发设备, 一人对代码进行编写, 另一人负责评审以确保代码正确。
(8) 代码共享:利用Git/Perforce等工具管理整个团队的代码, 团队成员都可以更改。
(9) 代码集成:注重Mainbranch与Trunk branch的集成时机, 以原子发布为思想进行集成, 构造APK, 自动发起检查APK版本的所有测试工作。
4 极限编程软件 (APK) 的实施开发流程
与传统的软件工程方法相同, Android极限编程也分为计划、设计、编码和测试四个步骤, 不过具体操作方面, 明显不同于传统的软件工程方法[3]。用户是Android极限编程项目的起点。APK的功能描述由用户定义, 并提供测试用例。据此, 若干个迭代周期可由开发人员来组织, 当前用户认为最重要的APK功能是每个迭代周期的集中开发工作。一个可用的小版本在每一个迭代周期结束后提供给用户, 用户并以此作为反馈依据, 根据用户的反馈意见, 相应的变化和改进在下一个迭代周期中再进行。具体来说:
(1) 倾听:用户、设计人力, 开发人力, 通过头脑风暴, 使得三方人员可以彻底沟通需求。
(2) 设计:整个APK的设计工作不能是自顶向下的, 其有着不断变化的需求。所以, 设计不是一劳永逸的过程, 而是一个长期性的工作。把当前需要的功能放到APK中来, 就是设计的核心思想。
(3) 编码:针对Android最新版本的各个API能力, 完成从C层的驱动, C++中间件及Java上层编码工作。
(4) 测试:投入测试人力, 可以让开发人力有更长的时间进行Bug修正。随着时间的变化, APK的稳定性会不断增加。测试有两种, 即白盒测试和黑盒测试。白盒测试是编程人员的测试用例, 使程序能够正常运行;另一种由测试人力或是用户指定编写的功能测试, 是为了保证APK与用户需求及期望的运行方式一致。
在实践时, 开发人员往往只重视眼前需求, 对未来需求的变动所带来的项目风险和开销则通过Java的重构来适应, 这是一个非常关键的假设。解决用户当前的问题是通过高效率和高质量来完成的, 在满足用户未来需求方面付出的代价最小且灵活性最大, 在平衡短期和长期之间, 极限编程的安排比较巧妙[4]。
5 结语
与用户交流、正确理解需求、简单设计、注重测试、迭代编程, 是Android极限编程开发方法的核心。它使未来需求的设计弱化了, 软件开发的速度也加快了, 并开发出满足用户需求的高质量软件。
摘要:基于谷歌Android智能操作系统平台, 通过一种软件工程开发模式中非常流行的、轻量级的、高效的、科学的软件开发方案——极限编程开发模式, 并通过Java迭代重构开发方法来满足逐渐变化的用户需求, 完成Android APK (Android Package) 的开发工作。该文对极限编程开发模式的核心思想、极限编程软件 (APK) 实施准则、极限编程软件 (APK) 实施要领、极限编程软件 (APK) 开发流程进行讨论。
关键词:极限编程,Android,APK开发,软件工程
参考文献
[1]Kent Beck, 雷剑文译.解析极限编程[M].北京:机械工业出版社, 2011.
[2]谷秀岩.关于极限编程的理论研究[J].计算机与网络, 2004 (Z1) :93-95.
[3]Robert C.Marti.敏捷软件开发:原则、模式与实践[M].北京:清华大学出版社, 2003.
Android编程 篇4
1.首先我们要定义一个接口,接口里定义我们需要实现的方法
?
1
2
3
4
public interface ICount {
public int getcount;
}
2.接下来我们需要一个Service的子类实现本接口,定义一个ServiceBinder的内部类,通过它的对象来绑定数据,要注意的是我们如果要进行耗时操作的话,仍然需要在Service中创建线程,Service自身就是运行在主线程中的,还有一个就是OnBind的返回值是IBinder,但是这里我使用ServiceBinder对象是继承Binder的,那为什么这里可以这么写呢?因为Binder是Base class for a remotable object, the core part of a lightweight remote procedure call mechanism defined by IBinder,是直接从IBinder这里的直接子类。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
public class BackGroundService extends Service implements ICount {
private boolean disable; //线程是否执行的标识位
private int count; //计数
private ServiceBinder serviceBinder = new ServiceBinder();
public class ServiceBinder extends Binder implements ICount {
@Override
public int getcount() {
// TODO Auto-generated method stub
return 0;
}
}
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return serviceBinder;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
new Thread(new Runnable() {
// @Override
public void run() {
while (!disable) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
count++;
System.out.println(“CountService Count is ” + count);
}
}
}).start();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
return super.onStartCommand(intent, flags, startId);
}
@Override
public int getcount() {
return count;
// TODO Auto-generated method stub
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
this.disable = true;
// Log.v(“ CountService ”, “ on destroy ”);
System.out.println(“Service destroy...”);
super.onDestroy();
}
Android编程 篇5
关键词:Android,Linux,编程软件
一、需求分析和可行性分析
1、需求分析。
对基于Android系统的C语言手机编程软件的功能性需求分析如下:界面设计应该简洁明了,使用户操作方便。程序运行的结果应有清晰明确的显示。操作按钮和菜单设置合理。各模块分区明确,相互切换方便。尽可能压缩客户端的大小。对基于Android系统的C语言手机编程软件的非功能性需求分析如下:本论文研究开发的软件是基于Android 2.2开发,适用于Android 2.2及以上版本。安全性需求是在用户没有得到需要的结果时系统会尽可能的为用户提供有用的错误信息提示,使用户可以很明确的知道错误是出自何处该如何处理。
2、可行性分析。
技术上的可行性可以从硬件的性能要求,软件的性能要求和开发者自身技术要求等几个方面去考虑。在硬件平台方面:基于Android系统的C语言手机编程软件的开发环境Eclipse可以基于Windows、Linux,具有良好的跨平台兼容性。在软件平台方面:Android操作系统已经成熟稳定并且有大量的Android开发经验。Android系统是一个开源的平台,对Java具有良好的兼容性。Java语言是一个非常成熟的面向对象语言,它有着良好的可移植性、安全性,且支持可视化图形界面。
二、系统总体结构设计
2.1系统架构设计
基于Android系统的C语言手机编程软件由客户端和服务器组成,前台和后台实现分离,客户端和服务器通过SOCKET进行通信。系统架构如图1所示。
客户端是在Android系统下实现用户登录及编写代码的功能,服务器是在Linux下使用GCC编译器来编译和运行代码,Mysql数据库用来存储用户的用户名和密码以及代码和运行结果。
2.2功能模块设计
基于Android系统的C语言手机编程软件应具有如下功能:用户可以在注册登录之后进行个人设置操作,修改个人信息和登录密码。用户可以编辑代码,然后进行编译和运行。可以对代码进行保存,打开已经保存过的代码进行修改。功能模块如图2所示。
三、系统实现
客户端包含了一个编辑框,用来进行C语言代码的编写,两个按钮实现编译和运行,菜单栏实现新建、保存、打开、退出。保存是将编写完成的代码以文本形式保存在本机上。打开是通过单项选择消息框来选择打开已经保存的代码。
客户端与服务器socket连接:服务器端将端口打开,并将IP地址和传输所使用的协议进行分配一个套接口的描述字及其所用的资源。int server_sockfd=socket(AF_INET,SOCK_STREAM,0)。然后使用bind()将本地地址与套接字进行捆绑,成功之后便可使用listen()来监听客户端与服务器的连接情况。bind(server_sockfd,(struct sockaddr*)&server_addr,sizeof(server_addr))。真正与客户端连接是在accept()函数成功之后,accept(server_sockfd,(struct sockaddr*)&client_addr,&len)。在成功调用之后,从socket的等待连接队列中抽取第一个连接,传递一个与socket同类的新的套接口并返回句柄。
数据处理:使用Linux的GNU编译套件对数据进行处理。对于数据回传,即将编译和运行结果回传到客户端,首先要确定回传的是哪一个文件夹,是error.txt还是sussess.txt,这里使用的是文件交换方法。选定之后,将文件写入到buffer中,使用send回传到socket。
四、结论
本设计主要完成的内容是基于Android的编程软件的设计与实现。包括在客户端编辑代码,保存和打开代码以及将代码发送到服务器端进行编译和运行并将结果返回显示到客户端。虽然完成了基本的功能,但语法高亮等功能没有实现,还需不断改进完善。
参考文献
[1]李刚:疯狂Android讲义[M],电子工业出版社,2013.3
相关文章:
甲醛甲酚01-06
Android监控01-06
Android课程01-06
android学习路线01-06
android面试题01-06
android常用控件总结01-06
Android终端01-06
Android Activity 详述01-06
android项目心得01-06
android面试题目01-06