亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述Android - 使用纯Java而不是XML创建应用程序?相关的知识,希望能为你提供帮助。
我想知道是否有可能创建一个只有java的android应用程序。没有XML,没有其他东西。
【Android - 使用纯Java而不是XML创建应用程序()】在Eclipse中,当我创建一个新的Android项目时,会自动生成Manifest xml文件和主布局xml文件。我可以删除这些文件并用Java文件替换它们吗?
答案对于布局,您有两种选择
- 以XML格式声明UI元素。 Android提供了一个简单的XML词汇表,它对应于View类和子类,例如小部件和布局的类。
- 在运行时实例化布局元素。您的应用程序可以以编程方式创建View和ViewGroup对象(并操纵其属性)。
我想你无法摆脱manifest.xml。引用:
每个应用程序必须在其根目录中包含一个AndroidManifest.xml文件(具有该名称)。另一答案是否可以避免使用XML?是的,除了清单和可能的一些主题声明(我不确定是否存在我们可以通过主题设置的所有内容的公共Java等价物)。
这是个好主意吗?天哪,不。
资源系统背后的重点是允许Android根据永久设备特征(例如,屏幕密度)和瞬态设备特征(例如,纵向与横向方向)透明地为您提供当前设备所需的适当资源。 )。
为了避免资源,你将不得不通过一堆
if
语句来确定要运行哪些Java代码,手动检测所有这些事情。一旦考虑到Android本身的变化,这会变得非常复杂,因为新的配置更改和值会被添加,这使您难以以向后兼容的方式支持所需的一切。在此过程中,除了普通的Java编辑和调试之外,您将失去所有工具支持(拖放式GUI构建,MOTODEV Studio的字符串资源助手等)。
您似乎在所有其他考虑因素之前放置自己的个人技术倾向。如果这是一个小型的个人项目,这可能是一个很好的态度。但是,如果您要创建由其他人开发和/或维护的代码,则需要考虑其他开发人员的需求,并且他们可能比您更加开放XML。
另一答案看一下这个由android团队发布的视频:http://www.parleys.com/#st=5& id=2191& sl=8
这都是关于布局的,包括如何使用Java而不是XML来布局应用程序。但是,你被警告说android团队希望你使用XML ...
另一答案可以从代码创建所有布局文件。但建议使用布局XML文件。
AndroidManifest.xml
不能被代码替换,因为系统依赖于此文件中包含的数据。另一答案我完全同意Van Coding。如果您使用正确的编程语言,则可以编写比使用AXML更简洁的布局定义。 A C# example how to replace AXML layouts
ViewGroup Layout(ViewGroup layout, IList<
View>
contents) {
if (contents != null)
foreach (View v in contents)
layout.AddView(v);
return layout;
}
推荐阅读
- 如何创建WhatsApp中的项目分隔符()
- 样式化单选按钮在android中使用cardview
- 如何在Android中加载带有动画的cardview GridView()
- 为什么android studio会自动在图形布局编辑器中重新排序视图和元素
- Android微调器使用XML进行数据绑定并显示所选值
- 无法使用gradle 2.3.3向android添加bottomnavigation
- Android,XML(gravity = top无法正常工作(截图))
- 经过多少内存消耗Android抛出OutOfMemoryException
- Android(为什么setVisibility(View.GONE);或setVisibility(View.INVISIBLE);不工作)