打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
伯乐在线博客

写给Python初学者的设计模式入门

有没有想过设计模式到底是什么?通过本文可以看到设计模式为什么这么重要,通过几个Python的示例展示为什么需要设计模式,以及如何使用。 设计模式是什么? 设计模式是经过总结、优化的,对我们经常会碰到的一些编程问题的可重用解决方案。一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码。反之,设计模式更为高级,它是一种必须在特定情形下实现的一种方法模板。设计模式不会绑定具体的编程语言。一个好的设计模式应该能够用大部分编程语言实现(如果做不到全部的话,具体取决于语言特性)。最为重要的是,设计模式也是一把双刃剑,如果设计模式被用在不恰当的情形下将会造成灾难,进而带来无穷的麻烦。然而如...
全文↓

AngularJS 指令(Directives)实践指南(一)

指令(Directives)是所有AngularJS应用最重要的部分。尽管AngularJS已经提供了非常丰富的指令,但还是经常需要创建应用特定的指令。这篇教程会为你讲述如何自定义指令,以及介绍如何在...
全文↓
抢沙发评论

Android Studio vs Eclipse:你需要知道的那些事

来自:hanson  2014-03-12 00:00:06 |
阅读原文

转用Android Studio开发前,你需要知道

我写的这个指引里,包含了一些当你要把Eclipse项目转到Andorid Studio前需要知道的基本信息。如果你有一个大型项目还没完成从Eclipse到Android Studio的转换,如果考虑节省时间,花一到两个小时就可以和那些曾经做过这事的AirPair的专家一起完成。不然的话,请继续读下去吧。

对WorkSapces和Sub-Projects说再见

在Eclipse中,你可能对“Workspace”的概念很熟悉。甚至很可能就正有一个这样的安卓项目:包含了各种成员项目和编译成”.jar”的文件,这些文件还会包含在最终生成的应用里。在Andorid Studio中,project被“Modules”和“Library Modules”取代。

Modules

Modules是“一种独立的功能单元,可以运行、测试并且独立调试”,和Eclipse project的概念有点像,但有几点不同。

每一个Module需要有属于自己的Gradle build file(当你新建一个Module时会自动帮你生成的,当你导入一个Eclipse的项目时需自己创建)。这些Gradle文件包含了一些很重要的内容,
比如所支持的安卓版本和项目依赖的东西,以及安卓项目中其它重要的数据。

和Eclipse上的一样,一些Modules可能是”Library Modules”,功能上与”Library projects”一样的。

改进的界面设计

Android Studio有一个改进的设计窗口界面,在这里你可以看到你设计的界面以及相关的元素。Eclipse中也有一个相似的界面设计窗口,所以应该不会带给你太大的震撼。在Eclipse中,这个窗口提供了视图和可见动作,以及和资源文件关联的分发机制、多任务和信息过滤。

包含对jar文件的支持

与Eclipse中遇到的一样,你会经常需要用到第三方开发的JAR文件。然而你现在需习惯将这些.jar依赖包加入到你的Gradle中。右击”libs”目录下的.jar文件,然后选择”Add As Library”。这样你所选择的Jar文件将会自动地添加成Gradle的依赖包在你对应的Moule中。

添加Module依赖

与Eclipse类似,一个Module可能依赖于其他Module。请跟着这些步骤来建立两个modules之间的依赖,然后Android Studio将会自动地生成需要的Gradle元素。

向Android Studio迁移

阅读关于如何从Android Studio向Eclipse迁移项目,可在我的这篇文章——“向AndoridStudio导入或导出已经存在的Elipse项目”中了解具体的流程。文章里写了很多可能会发生的潜在问题,所以在这里就不讲更多的细节了。

Gradle 基础知识

新增的Gradle将会是你转到Android Studio上最大的障碍。下面有几个你需要知道的基础知识:

  • 你的Android Studio项目将有一个关于整个项目的settings.gradle文件。
  • settings.gradle文件包括项目中所有modules的引用,当你导入或者创建一个新的module时,这个文件会自动更新。
  • 每一个Andorid Studio module会有自己的build.gradle文件。
  • 如果一个Module向上依赖于另一个module,你需要添加这个依赖到所依赖部分的build.gradle文件上。
  • 如果你的Module需要一个jar文件,这个jar必须列在Module的build.gradle文件中。
  • 你可以在module的build.gradle文件上列出你要添加的远程依赖到你的项目中。
  • 有时候,你需要人工修改这些gradle文件。

更多有关Gradle的内容可以在这里找到。

使用测试

支持JUnit单元测试让Andorid Studio更完整,更多请参考这里。建立和运行一个单元测试包括:建立一个新的单元测试类和添加它们到项目的run configuration中。跟着链接的指引可以了解更多的细节。流行的测试框架如Roboguice到现在还没完全支持,但如果近期内出现,我也不会觉得惊讶。

通过Maven导入远程依赖

Android Studio允许你从Maven Central中导入远程库文件。在Maven Central中浏览你可能会感兴趣的远程库文件,然后跟着这些指示确保这些依赖能在编译的时候自动下载进去。

那么这就是你需要知道的一些基础知识。Android Studio正在高速的发展中,而且看起来每周都变得越来越好,去看一下吧

Android Studio vs Eclipse:你需要知道的那些事,首发于博客 - 伯乐在线

开发者逆向工程将《星际争霸》移植到ARM平台

没有源代码就无法移植的规则并不完全正确。OpenPandora项目开发者宣布利用逆向工程技术将经典即时战略游戏《星际争霸》移植到了ARM平台。开发者利用ia32rtools工具将星际争霸的代码从x86...
全文↓

iOS7 最佳实践:一个天气应用案例(下)

开始 你有两个选择开始本教程:您可以使用在本教程的第1部分你已完成的项目,或者你可以在这里下载第1部分已完成的项目。 在前面的教程中你创建了你的App的天气模型 – 现在你需要使用OpenWeat...
全文↓

技术经理应该把 30% 的时间用在编程上

本文的作者Eliot Horowitz是MongoDB的创始人和技术总监。 在一个科技公司里,软件技术经理用在编程上的时间应该不低于总工作时间的30%。无论是管理一个团队,还是一个分部,还是整个公...
全文↓

iOS7 最佳实践:一个天气应用案例(上)

在这个两部分的系列教程中,您将探索如何使用以下工具和技术来创建自己的App:Cocoapods Manual layout in code(纯代码布局) ReactiveCocoa OpenW...
全文↓

让PHOTOSHOP运行速度变快的10个技巧

如果你在处理较大尺寸的图片、使用像HDR、图像合成或者3D和视频等类似的功能,优化Photoshop的性能是非常关键的。这篇文章中,我会为大家介绍几种提高Photoshop性能的建议,使其在你的电脑...
全文↓

iOS系列译文:玩转字符串

在每个应用里我们都大量使用字符串。下面我们将快速看看一些常见的操作字符串的方法,过一遍常见操作的最佳实践。 字符串的比较、搜索和排序 排序和比较字符串比第一眼看上去要复杂得多。不只是因为字符串可以...
全文↓

iOS系列译文:字符串渲染

在这次issue中我们已经讨论了很多关于字符串不同的话题,从编码到本地化再到语法分析。但多数情况下,字符串最终还是需要被绘制到屏幕上供用户查看、交互。这篇文章涵盖了最基本、最好的练习,以及在用户界面上...
全文↓

SQL Server内存遭遇操作系统进程压榨案例

场景: 最近一台DB服务器偶尔出现CPU报警,我的邮件报警阈(请读yù)值设置的是15%,开始时没当回事,以为是有什么统计类的查询,后来越来越频繁。 探索: 我决定来...
全文↓

12款很棒的浏览器兼容性测试工具推荐

对于前端开发工程师来说,确保代码在各种主流浏览器的各个版本中都能正常工作是件很费时的事情,幸运的是,有很多优秀的工具可以帮助测试浏览器的兼容性,让我们一起看看这些很棒的工具。 Spoon Brows...
全文↓

金庸笔下的良好代码风格

我零九年看过一本小说,讲程序员的故事,从此,了解了一个新物种。最近又看《红楼梦》,史湘云有条谜语:“溪壑分离,红尘游戏,真何趣?名利犹虚,后事终难继。”我一想,这不就是程序猿吗? 我学过半年编程,唯...
全文↓

比特币之父中本聪:神秘身份与虚假投影

有一群人,他们生活在一个洞中,头颈被铁链固定着,只能看到前方的洞壁。而他们的后方有堆火,有人举着各种各样的假人兽雕像,在洞穴墙壁上投射出不同的影像,时而做声时而缄默。因此,那些被蒙蔽的人们就把这些影像...
全文↓

苹果发布iOS 7.1更新 支持CarPlay

苹果公司今天正式推送iOS 7.1更新,支持链接CarPlay,只要将用户的iPhone连接到启用了CarPlay的汽车,可支持“电话”、“音乐”、“地图”、“信息”和第三方音频应用程序,并可通过Si...
全文↓

依赖 IDE 做开发,会让你成为一名糟糕的程序员么?

使用Notepad++编程比使用Visual Studio让你感觉更好? 那晚我正读着Rob Conery写的一篇文章,其中谈到了他对职业生涯的选择,对编程语言的选择以及这过程中留有的一些遗憾。很多...
全文↓

设计模式已经陨落了?

你现在是坐在一个程序员旁边吗?如果是的话,那么在你读下面的段落之前,有一个简单的实验。让他们到一边去,问问他们两个问题并记录下答案。首先问他们“什么是设计模式?”然后再问“说出你能回忆的设计模式的名字...
全文↓

卓越的层级

Google+上,麦吉尔大学的计算机科学家Artem Kaznatcheev上传了一份关于数学学习的文章,该文作者署名“man after midnight”,其主要内容如下: 高中时我被告知,整个...
全文↓

安卓开发者必备的几个工具

作者Rex St.John不仅是UX-RX.com的创始人,还是AirPair里的安卓专家。作为一名手机软件高级工程师,他曾为世界500强的公司开发了一些企业级手机和平板应用。他开发的一个应用有数百万...
全文↓

Android热点回顾第九期

文章、教程 使用Robolectric对远程图像进行单元测试 Chuck Greb在aweber网站上描述了他们是如何实现对开源Picasso图像下载库的单元测试。 幻灯片:高效的Android...
全文↓
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
将Eclipse代码导入到AndroidStudio的两种方式
android studio学习----目录结构
IDEA 及 Gradle 使用总结
如何将Eclipse中的项目迁移到Android Studio 中
Android 中.aar文件生成方法与用法
Android Studio导入Project的方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服