对于java-可以在Android设备上接收315MHz以上的信号吗?感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解支持java手机,并且为您提供关于Android设备上的Javafxpo
对于java-可以在Android设备上接收315 MHz以上的信号吗?感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解支持java手机,并且为您提供关于Android设备上的Javafxports和SQLite、Android设备上的JavaScript / HTML / CSS应用程序 – 速度极慢、Android设备上的最大图片大小、Android设备上的照片方向的宝贵知识。
本文目录一览:- java-可以在Android设备上接收315 MHz以上的信号吗?(支持java手机)
- Android设备上的Javafxports和SQLite
- Android设备上的JavaScript / HTML / CSS应用程序 – 速度极慢
- Android设备上的最大图片大小
- Android设备上的照片方向
java-可以在Android设备上接收315 MHz以上的信号吗?(支持java手机)
我想制作一个Android应用程序,它将接收从RF Link Transmitter(https://www.sparkfun.com/products/10535?)发送的基本数据.我想先了解一下是否可以控制您可以接收信号的频率.
解决方法:
I want to kNow first off if it is possible to somehow control what frequency you can receive a signal on.
通常,不会. Android是一个操作系统.它不是硬件.具体来说,它不是软件定义的无线电(SDR)接收器.从原则上讲,Android可以为具有SDR功能的设备供电,但是Android本身与SDR没有任何关系,当然在SDK级别也是如此.或者,Android可以为恰好具有合适的315MHz接收器的设备供电,但是您的一般现成的Android设备可能没有这种接收器,并且操作系统没有针对该接收器的任何特定功能.
Android设备上的Javafxports和SQLite
我将使用sqlite编写示例代码,该代码必须同时适用于ANdroid和IOS(和桌面)
这是我的 build.gradle
buildscript { repositories { jcenter() mavenCentral() maven { url ''https://oss.sonatype.org/content/repositories/snapshots'' } } dependencies { classpath ''org.javafxports:jfxmobile-plugin:1.0.6'' }}apply plugin: ''org.javafxports.jfxmobile''repositories { jcenter() mavenCentral() maven { url ''https://oss.sonatype.org/content/repositories/snapshots'' } maven { url ''https://oss.sonatype.org/content/repositories/releases'' }}ext.CHARM_DOWN_VERSION = "1.0.0"dependencies { compile ''mysql:mysql-connector-java:3.1.12'' //compile ''org.xerial:sqlite-jdbc:3.9.0-SNAPSHOT'' compile ''org.sqldroid:sqldroid:1.0.3'' compile "com.gluonhq:charm-down-common:$CHARM_DOWN_VERSION" desktopRuntime "com.gluonhq:charm-down-desktop:$CHARM_DOWN_VERSION" //desktopRuntime ''org.xerial:sqlite-jdbc:3.9.0-SNAPSHOT'' androidRuntime "com.gluonhq:charm-down-android:$CHARM_DOWN_VERSION" androidRuntime ''org.sqldroid:sqldroid:1.0.3'' iosRuntime "com.gluonhq:charm-down-ios:$CHARM_DOWN_VERSION"}mainClassName = ''com.version17.Version17''jfxmobile { android { manifest = ''src/android/AndroidManifest.xml'' packagingOptions { exclude ''META-INF/INDEX.LIST'' } } ios { infoPList = file(''src/ios/Default-Info.plist'') forceLinkClasses = [''com.version17.**.*'', ''com.mysql.**.*'', ''SQLite.**.*'', ''com.gluonhq.**.*''] }}
sqliteHelper.java
public static void testSqli() throws SQLException, ClassNotFoundException{ Class.forName("SQLite.JDBCDriver"); String dbName = "mtt8.db"; File dir = null; try { dir = PlatformFactory.getPlatform().getPrivateStorage(); } catch (IOException e) { e.printStackTrace(); } File db = new File (dir, dbName); String dbUrl = "jdbc:sqlite:" + db.getAbsolutePath(); Connection conn = DriverManager.getConnection(dbUrl); //create table Statement st=null; st = conn.createStatement(); st.executeUpdate("DROP TABLE IF EXISTS village;"); st.executeUpdate("CREATE table village (id int, name varchar(20))"); //insert row for (int i=0; i<50; i++){ st.executeUpdate("INSERT INTO village VALUES (" +i+ ", ''Erkan Kaplan'')"); } //select String query = "SELECT id, name from village"; ResultSet rs = null; rs = st.executeQuery(query); while(rs.next()) { int id = 0; id = rs.getInt(1); String name = null; name = rs.getString(2); System.out.println("id:"+ id+ ", name: "+ name); st.executeUpdate("DELETE from village"); rs.close(); }}
该功能适用于Ipad设备和台式机,但不适用于Android设备(如Samsung Tablet)。
谁能告诉我为什么上面的代码在三星平板电脑上不起作用?还是取决于我必须在我的代码中添加?
感谢Erkan Kaplan
答案1
小编典典您可以加载每个平台所需的驱动程序,并使用Gluon Charm-Down查找并加载该平台。
在IDE上使用Gluon
插件,可以在build.gradle
文件中轻松添加不同的依赖项,具体取决于平台。
编辑
还添加了桌面。
对于桌面,我们可以使用org.sqlite.JDBC
;对于Android,我们可以使用org.sqldroid.SQLDroidDriver
。对于iOS,不需要依赖,因为SQLite.JDBCDriver
Robovm已经包含了它。
repositories { jcenter() maven { url ''https://oss.sonatype.org/content/repositories/snapshots'' }}ext.CHARM_DOWN_VERSION = "1.0.0"dependencies{ compile "com.gluonhq:charm-down-common:$CHARM_DOWN_VERSION" desktopRuntime "com.gluonhq:charm-down-desktop:$CHARM_DOWN_VERSION" desktopRuntime ''org.xerial:sqlite-jdbc:3.9.0-SNAPSHOT'' androidRuntime "com.gluonhq:charm-down-android:$CHARM_DOWN_VERSION" androidRuntime ''org.sqldroid:sqldroid:1.0.3'' iosRuntime "com.gluonhq:charm-down-ios:$CHARM_DOWN_VERSION"}
但是我们需要将其添加到forceLinkClasses
选项中:
jfxmobile { android { manifest = ''src/android/AndroidManifest.xml'' } ios { forceLinkClasses = [ ''your.package.**.*'', ''SQLite.**.*''] infoPList = file(''src/ios/Default-Info.plist'') }}
现在,在你的代码,你可以根据应用程序所运行的平台上加载一个驱动程序或其他,并创建一个连接,提供像讨论的本地路径在这里:
private void testSqli() throws SQLException, ClassNotFoundException { if (JavaFXPlatform.isAndroid()) { Class.forName("org.sqldroid.SQLDroidDriver"); } else if (JavaFXPlatform.isIOS()) { Class.forName("SQLite.JDBCDriver"); } else if (JavaFXPlatform.isDesktop()) { Class.forName("org.sqlite.JDBC"); } File dir; String dbUrl = "jdbc:sqlite:"; try { dir = PlatformFactory.getPlatform().getPrivateStorage(); String dbName = "yourDatabase.db"; File db = new File (dir, dbName); dbUrl = dbUrl + db.getAbsolutePath(); Connection conn = DriverManager.getConnection(dbUrl); ... } catch (IOException ex) { }}
现在,您应该可以在台式机,Android和iOS上运行它了。我已经使用NetBeans和IntelliJ对它们中的三个进行了测试,但是前者比后者更好地管理平台依赖性。
Android设备上的JavaScript / HTML / CSS应用程序 – 速度极慢
我们尝试使用传统方法使用div元素以及HTML5画布,但即使是简单的弹跳球示例也非常慢(如果要测试它,请访问http://sie.mautilus.com/canvas).
如果我们在Android上的调试菜单中禁用启用OpenGL渲染它稍微好一些,但仍然无法用于广大受众,而不是说这个事实,普通用户不会这样做…
这使得基于JavaScript的用户界面在Android上完全无法使用.
在我的英特尔386机器上运行MS-DOS的简单弹跳球在具有双核1 GHz Cortex-A9 cpu的高端平板电脑上无法使用?
另见:
http://code.google.com/p/android/issues/detail?id=17353
http://groups.google.com/group/phonegap/browse_thread/thread/fc13b40165db8a00?pli=1a
问候,
斯登
解决方法
我做了一些事情来加快速度(尽管质量较低).我也只检查了HTC Sensation和三星galaxy tab 10.1.我认为你需要为不同的手机使用不同的设置.
>设置屏幕尺寸,这样我的手机就不会创建更大的画布,然后再将其缩小.
>按系数2放大场景.这会将使用过的像素减半,因此实际上在整个屏幕上显示的是较小的画布
>不要使用clearRect清除整个画布,然后重绘所有内容.实际上,在弹跳球示例中移除clearRect将显示出很多改进.清除实际变化的区域(蝙蝠和球),然后重绘它就足够了.
在一方面我没注意到android 2和4的性能比3快,但这只是基于3个设备的测试,所以不是硬统计.
我还读到在画布上使用translate3d会触发硬件渲染(如果可用),但我没有检查/确认这一点.
一些可能对您有帮助的代码:
<Meta name="viewport" content="width=device-width,initial-scale=0.5,user-scalable=no"/> $(gameEl).css(''-webkit-transform'',''scale3d(2,2,0) translate3d(0,0)''); $(gameEl).css(''-webkit-transform-origin'',''0 0'');
Android设备上的最大图片大小
我正在将现有游戏从iOS移植到Android,并且想知道PNG图像是否有大小限制?在旧的iOS设备上,纹理图集大小不能超过1024 x 1024像素. Android设备是否存在类似的限制?
谢谢.
解决方法:
不,唯一的限制是使用的设备RAM.
Android设备上的照片方向
我正在开发Phonegap&适用于Android的jQuery移动应用程序.拍照后-使用phonegap API-我将其显示在图片标签中.一切正常,我的问题是照片的方向.
在我的HTC Desire(Android 2.2版)上进行测试时,以纵向模式握住手机时,照片始终处于正确的方向.
但是在我的galaxy Tab(三星GT-P1000 Android版本2.2)或我的GT I5800(三星Android版本2.2)上进行测试时,我会拍照,并且在将手机置于纵向模式下显示时,图片方向错误-图片顺时针旋转90度.
拍摄后如何确定照片的方位?
这是三星设备的问题吗?
每个制造商都以其他方式这样做吗?
提前致谢!
解决方法:
好吧,这肯定是三星设备上的问题,因为我不得不处理很多.问题归结为以下事实:Web浏览器没有查看Exif数据来查看照片的拍摄方向.当您复制以人像模式拍摄的照片并在“预览”或任何其他图像操作下查看时软件包可以正确显示,但是当您将其加载到浏览器中时,它将被打开.
目前,我还没有找到解决问题的简便方法,因此我们不得不向人们推荐尽可能在横向模式下拍照的方法.
关于java-可以在Android设备上接收315 MHz以上的信号吗?和支持java手机的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Android设备上的Javafxports和SQLite、Android设备上的JavaScript / HTML / CSS应用程序 – 速度极慢、Android设备上的最大图片大小、Android设备上的照片方向等相关内容,可以在本站寻找。
本文标签: