两小时快速掌握Android界面开发
"两个小时精通Android开发之界面篇,通过学习可以快速掌握Android界面开发,适合有J2ME基础的开发者" 本文将深入探讨如何在两小时内精通Android开发中的界面构建,特别是针对已有J2ME背景的开发者。Android界面设计与J2ME有所不同,但基本概念相似,使得从J2ME到Android的迁移成为可能。为了实现这一目标,我们首先需要理解两者之间的关键差异,并着重于接口的重写。 在J2ME中,`Graphics`、`Image`和`Font`类是界面绘制的基础。在Android平台上,我们需要对应地处理这些类。Android不直接支持J2ME的`Font`类,而是使用`Typeface`来处理字体样式和定制。`Typeface`的灵活性更高,可以创建自定义字体,但这也意味着我们需要对`Font`类进行封装,以便与J2ME的代码兼容。 下面是一个简单的`Font`类封装示例: ```java public class Font { public static final int STYLE_PLAIN = 0; public static final int STYLE_BOLD = 1; public static final int STYLE_ITALIC = 2; public static final int STYLE_UNDERLINED = 4; public static final int SIZE_SMALL = 22; public static final int SIZE_MEDIUM = 31; public static final int SIZE_LARGE = 40; public static final int FACE_SYSTEM = 0; private int face; private int style; private int size; private int baseline; private int width; private int height; public void setWidth(int width) { this.width = size; } // 其他getter和setter方法... } ``` 在这个封装的`Font`类中,我们保留了与J2ME类似的基本样式常量(如`STYLE_BOLD`),并添加了Android所需的属性,如`Typeface`所没有的`baseline`和`width`。通过这种方式,我们可以使用J2ME的代码逻辑,但在Android环境中调用封装后的`Font`类。 接下来,我们需要关注`Graphics`和`Image`的重写。在Android中,绘图主要通过`Canvas`类进行,而图像加载通常使用`Bitmap`类。因此,我们需要创建相应的包装类,例如`AndroidGraphics`和`AndroidImage`,将它们的行为转换为J2ME接口的调用方式。 `AndroidGraphics`可能包括以下方法: ```java public class AndroidGraphics { private Canvas canvas; // ... public void drawImage(AndroidImage image, int x, int y) { Bitmap bitmap = ((AndroidImage) image).getBitmap(); canvas.drawBitmap(bitmap, x, y, null); } // 其他绘图方法... } ``` `AndroidImage`则需要处理J2ME的`Image`对象,并将其转换为Android的`Bitmap`: ```java public class AndroidImage { private Bitmap bitmap; // ... public Bitmap getBitmap() { return bitmap; } // 其他方法... } ``` 通过这样的包装,J2ME程序可以几乎原封不动地在Android平台上运行,只需将依赖的`Graphics`、`Image`和`Font`类替换为我们的包装类。 在实际开发中,还需要注意Android的布局系统,它基于XML文件,允许开发者创建复杂的用户界面。对于J2ME开发者来说,这是一个全新的概念,需要学习如何使用`LinearLayout`、`RelativeLayout`等布局组件,以及`TextView`、`ImageView`等视图组件来构建界面。 最后,别忘了Android的事件处理机制,它基于回调函数和事件监听器,不同于J2ME的事件模型。理解`OnClickListener`、`OnTouchListener`等接口对于创建响应式界面至关重要。 总结来说,从J2ME迁移到Android开发,特别是界面部分,需要掌握以下几点: 1. 理解Android的`Typeface`与J2ME的`Font`的区别,以及如何封装`Font`以保持兼容性。 2. 学习如何重写`Graphics`和`Image`类,以适应Android的`Canvas`和`Bitmap`。 3. 掌握Android的布局系统,学习XML布局文件的编写。 4. 熟悉Android的事件处理机制,包括回调和监听器。 通过以上步骤,即使在只有两个小时的时间内,具备J2ME背景的开发者也能快速掌握Android界面开发的关键点。然而,真正精通Android开发还需要更深入的学习和实践,包括主题样式、动画效果、性能优化等方面。
![](https://csdnimg.cn/release/download_crawler_static/2923399/bg9.jpg)
![](https://csdnimg.cn/release/download_crawler_static/2923399/bga.jpg)
![](https://csdnimg.cn/release/download_crawler_static/2923399/bgb.jpg)
剩余51页未读,继续阅读
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/d747a7f24737470c8d5836b17cc62701_small_wei2010.jpg!1)
- 粉丝: 8
- 资源: 69
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)