一个Android Sample的总结

本文作者通过开发GuessFace应用,总结了Android开发中遇到的问题和解决方案,包括XML布局使用、findViewById的时机、图片资源处理等。同时提出了未来要研究的Android特性,如嵌套Layout、LogCat工具和DroidDraw UI设计。此外,还讨论了Android与Java平台的关系以及Java语法的细节,如for-each循环、数组初始化和匿名局部对象的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天写了一个Android上的Sample,了解了Android上开发Activity的一些基础的东西。

GuessFace这个应用是一个纯本地应用,在屏幕上显示4*4的图片,点击打开图片,如果和前一张图片匹配, 则就称之为完成了一对匹配,两张图片保持打开;否则试图匹配失败,关闭前一张图片,并将这次的图片设置为“前一张图片”。

先零碎的记录一下开发过程中遇到的问题:

1.布局xml里使用<Button>...</Button>的格式不能通过,得采用<Button .../>。

2.不能再onCreate外面使用findViewById。

原因是还没有setContentView(R.layout.main)!典型的不求甚解!

3.使用图片资源不需要后缀。

想到的未去研究的问题:

1.嵌套的Layout,如在一个TableLayout里的某一行使用LinearLayout。

2.调试程序时候的LogCat工具。

3.使用DroidDraw设计UI。

4.关于Android和java的关系:

java被设计为一个虚拟机平台,可以认为java平台的系统调用就是java提供的各种API,那儿Android提供了什么?功能库,框架?

记录一些和java语法有关的:

1.for-each语法

for(Button button : buttons) {

button = (Button)findViewById(...);

}

据说这种方法会比普通的循环遍历快(自己试验了,的确是快1/3左右,JAVA内部做了相应的优化吧),但是如果追求这样子的速度改进的话,请用C/C++。这种语法只是,呃,少敲几个字符。

 

并没有把buttons的每一项都赋值为find到的。因为赋值的使用重新定义了button的引用。

2.数组

Face[] faces = new Face[16]

并没有像C++一样,对数组的每一个元素调用Face的构造函数,faces里的现在都是null,不能被使用。需要一个循环来new元素。

3.在Android的例程里大量充斥着匿名局部对象。我没写过多少JAVA程序,但是这一个特性的确带来灵活性,随用随写?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值