对于想了解您可以在Android和Linux上运行相同的应用程序和代码吗?的读者,本文将提供新的信息,我们将详细介绍linux可以跑android应用程序,并且为您提供关于Vaadin8:您可以在Tr
对于想了解您可以在 Android 和 Linux 上运行相同的应用程序和代码吗?的读者,本文将提供新的信息,我们将详细介绍linux可以跑android应用程序,并且为您提供关于Vaadin 8:您可以在 TreeGrid 组件列的 HorizontalLayout 组件单元格中右对齐 Button 吗?、“要编辑 iOS 故事板,您可以在 Mac 上使用 Xcode”、您可以在
- 您可以在 Android 和 Linux 上运行相同的应用程序和代码吗?(linux可以跑android应用程序)
- Vaadin 8:您可以在 TreeGrid 组件列的 HorizontalLayout 组件单元格中右对齐 Button 吗?
- “要编辑 iOS 故事板,您可以在 Mac 上使用 Xcode”
- 您可以在
中使用字符 '}' 并在模拟器上显示它吗? - 您可以在 Android Studio 的 SQLite 中创建自己的 Enum 类型吗?
您可以在 Android 和 Linux 上运行相同的应用程序和代码吗?(linux可以跑android应用程序)
如何解决您可以在 Android 和 Linux 上运行相同的应用程序和代码吗?
我想构建一个用 Java 编写的新应用程序,我可以编写一个可以在运行 Linux 的操作系统和运行 android 的操作系统上执行的代码吗?还是我需要为每个系统编写两个不同的代码?
解决方法
理论上是。
Android 应用在 Dalvik Virtual Machine 中运行,该 NDK documentation 带有 Java 语言实现,可编译为 Dalvik 字节码,但不编译为 JVM 字节码。因此,代码必须用 Java 或某种语言编写,这些语言可以编译为使用 Android API 的 Dalvik VM 字节码。
但是,虚拟机运行在底层Linux OS之上,并且有调用本机代码的方法。见https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=56ac0313fe2a3bf7af32a3ed9a3ea78a。
因此,在 Android 上运行本机 Linux 程序在技术上是可能的,因为在一切之下都有一个 Linux 内核在运行。
Vaadin 8:您可以在 TreeGrid 组件列的 HorizontalLayout 组件单元格中右对齐 Button 吗?
如何解决Vaadin 8:您可以在 TreeGrid 组件列的 HorizontalLayout 组件单元格中右对齐 Button 吗?
我有一个包含 2 个组件列的 TreeGrid。第一个组件列包含一个带有标签和按钮的 HorizontalLayout。第二个组件列包含一个带有 Button 的 HorizontalLayout。我无法右对齐第一个组件列中的 Button。可行吗?如果它不可行,您有任何解决方法建议吗?我的约束是 TreeGrid,两列,第一列应该包含一个标签和一个右对齐的按钮。 到目前为止我尝试了什么
TreeGrid<Object> treeGrid = new TreeGrid<>();
treeGrid.setSizefull();
treeGrid.addComponentColumn(vp -> {
Button button = new Button("button");
HorizontalLayout cell = new HorizontalLayout(new Label("label"),button);
cell.setSizefull();
cell.setExpandratio(button,1.0f);
cell.setComponentAlignment(button,Alignment.MIDDLE_RIGHT);
return cell;
}).setCaption("st column").setExpandratio(1).setId("st column");
treeGrid.addComponentColumn(vp -> new HorizontalLayout(new Button("some other button")))
.setCaption("nd column").setId("nd column").setWidth(200.0d);
TreeData<Object> objectTreeData = new TreeData<>();
objectTreeData.addRootItems(new Object());
treeGrid.setDataProvider(new TreeDataProvider<>(objectTreeData));
window.setContent(treeGrid);
UI.getCurrent().addWindow(window);
window.center();
window.setWidth("40%");
window.setHeight("40%");
输出在附加的图像中。
解决方法
看起来节点没有设置宽度,HorizontalLayout 的整个宽度从节点而不是整个单元格中获取该宽度。
作为一个稍微有点麻烦的解决方法,您可以使用 StyleGenerator 为列指定样式名称 (column.setStyleGenerator(item -> "myColumn");
),然后将诸如 ".myColumn .v-treegrid-node {width:100%;}
之类的内容添加到您的主题中。如果您的主题现在将内容稍微向右推得太远,您也可以添加一些填充来抵消:.myColumn .v-horizontallayout {padding-right: 10px;}"
如果您添加一些层次结构,您可能需要为每个级别添加更多填充:.myColumn .depth-1 .v-horizontallayout {padding-right: 26px;}
、.myColumn .depth-2 .v-horizontallayout {padding-right: 42px;}
等等(实际值取决于您的主题)。使用普通 Valo 会为每个深度级别增加 1em (16px) 的缩进,这是您需要解决的问题。
对于更复杂的 SASS 解决方案,请参阅Valo does the indenting。请记住在计算中添加从 depth-0 级别的基本填充。
“要编辑 iOS 故事板,您可以在 Mac 上使用 Xcode”
如何解决“要编辑 iOS 故事板,您可以在 Mac 上使用 Xcode”
我今天更新了 Visual Studio,显然从 16.9 版开始,我们不能再像以前那样编辑 iOS 故事板了。 VS 中显示的消息(见标题)链接到此页面:https://docs.microsoft.com/en-us/xamarin/ios/user-interface/storyboards/#creating-a-storyboard-with-xcode。这很好,但这只是向我们展示了如何在 Mac 上从 VS 打开文件。是否有任何内置方式将故事板文件发送到 Mac 进行编辑,或者我是否需要手动传输文件和我需要参考的任何资源/图像?我想我可以在 Mac 上安装 Git 并拉下整个项目,但随后我需要提交未经测试的故事板更新,以便在 Windows 上测试它们。那么我们最好只在 Mac 上开发吗?故事板的 5 分钟更新让我们不得不重新考虑我们的整个开发策略。希望有人能告诉我们一些好消息!
更新
为了推动这一进程,我们在我们的云 Mac 上安装了 GitHub,拉下该项目并按照有关从 VS for Mac 在 Xcode 中打开故事板的说明进行操作。尝试打开故事板时,我们收到消息“Visual Studio 无法与 Xcode 通信”。我没有找到太多关于如何解决这个问题的信息,但我发现(重新安装 Xcode)对我们来说不是一个选择。如果我们为我们找到解决方案,我会再次更新。无论如何,我们使用的是共享的 Macincloud.com 云 Mac。
更新 2
一旦我们购买了专用 Macincloud mac(而不是托管/共享),我们就能够开始编辑故事板。即便如此,在 Xcode 中更新故事板是一个很大的学习曲线,如果可能的话,我们更愿意留在我们的 Windows 环境中。我们已在此处请求在 VS 中重新实现故事板编辑器:https://github.com/xamarin/Xamarin.Forms/issues/14148
您可以在 中使用字符 '}' 并在模拟器上显示它吗?
如何解决您可以在 <Text> 中使用字符 ''}'' 并在模拟器上显示它吗?
这只是我突然想到的一个问题,你能在 Hello World! ... main.js:3
中使用字符 ''}'' 并在模拟器上显示吗?
我的第一个想法就是这样做:
<Text>
但是您能否只将 ''}'' 放入 const characterInString = "{" ... return( <View> { characterInString } </View> )
中并在模拟器上显示它,还有其他方法吗?
简单地说,您可以执行此操作 <Text>
并在模拟器上显示 <Text>{</Text>
吗?
解决方法
因为 { 是 <Text>
中的一个特殊字符,所以你不能像那里那样写。也没有办法逃避这个角色。最简单的方法是写<Text>{''{''}</Text>
您可以在 Android Studio 的 SQLite 中创建自己的 Enum 类型吗?
如何解决您可以在 Android Studio 的 SQLite 中创建自己的 Enum 类型吗?
您好,我正在使用 Java 在 Android Studio 上开展管理餐厅项目,由于我有 6 种类别,我想将它们按特定的类别分组像我们在 Database table
type 中一样输入我的 MysqL Enum
,当然以后可以访问它们。
这是我在 Java 上的表代码,我使用 sqlite
作为数据库:
public static final String CREATE_RESTAURANT_TABLE_ =
"CREATE TABLE " + RESTAURANT_TABLE + "(" +
ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
NAME + " TEXT " +
CITY + " TEXT " +
CATEGORY + "TEXT" +
PHONE_NUMBER + "TEXT" +
LAT + "TEXT" +
LON + " TEXT );";
解决方法
SQLite 中没有 ENUM
数据类型,但即使有它也不是定义此列的最佳方式。
如果要添加新类别怎么办?您必须在表的定义中重新定义枚举值,这在 SQLite 中是不可能的,除非您重新创建表(如您所见)here。
在这种情况下,正确的设计是创建一个表 categories
如下:
CREATE TABLE categories(id INTEGER PRIMARY KEY,category TEXT);
并将所有类别存储在那里:
INSERT INTO categories(category) VALUES
(''category1''),(''category2''),....,(''categoryn'');
并在您的 RESTAURANT_TABLE
中定义一个引用 id
的 categories
列的列:
public static final String ID_CATEGORY = "id_category";
public static final String CREATE_RESTAURANT_TABLE_ =
"CREATE TABLE " + RESTAURANT_TABLE + "(" +
ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
NAME + " TEXT," +
CITY + " TEXT," +
ID_CATEGORY + " INTEGER REFERENCES categories(id)," +
PHONE_NUMBER + " TEXT," +
LAT + " TEXT," +
LON + " TEXT);";
在您的 SQLiteOpenHelper
类中,您必须通过像这样覆盖 onConfigure()
来启用外键约束:
@Override
public void onConfigure(SQLiteDatabase db) {
db.setForeignKeyConstraintsEnabled(true);
}
现在,在餐厅表的 id_category
列中,您将存储 ID,这些 ID 是对您在 categories
表中拥有的类别的引用。
您可以毫无问题地在 categories
中添加新类别。
当您查询表餐厅并希望检索每一行的类别时,您必须连接这两个表:
SELECT r.id,r.name,r.city,c.category,r.phone_number,r.lat,r.long
FROM restaurants AS r INNER JOIN categories AS c
ON c.id = r.id_category
关于您可以在 Android 和 Linux 上运行相同的应用程序和代码吗?和linux可以跑android应用程序的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Vaadin 8:您可以在 TreeGrid 组件列的 HorizontalLayout 组件单元格中右对齐 Button 吗?、“要编辑 iOS 故事板,您可以在 Mac 上使用 Xcode”、您可以在
本文标签: