Articles of android

ORM性能:是greenDAO比ORMLite快吗?

我一直在使用ORMLite在我的应用程序,我正在考虑是否移动到greenDAO。 性能是决定的一个重要组成部分, greenDAO的function页面说: 对于同一给定实体,greenDAO插入和更新实体的速度提高了2倍,加载实体的速度比ORMLite加载实体快4.5倍。 … (数字和图表更新10-23-2011) 我认为ORMLite的configuration文件生成步骤应该消除运行时reflection的需要。 ORMLite changlog表明greenDAO基准testing是在configuration文件function发布后完成的,但greenDAOfunction页面并没有明确说明是否为testing生成了一个静态configuration文件。 4.26:9/26/2011(svn r1978) * ANDROID:添加了字段configuration实用程序,以避免注释带来的Dao创build性能问题。 从那时起,也有ORMLite性能修复,例如 4.40:4/16/2012(svn r2516) * ANDROID:创buildDAO时出现性能问题。 外地领域总是使用reflection而不是表格configuration。 有谁能确认greenDAO和ORMLite之间是否还有很大的性能差异? 谢谢!

BOOT_COMPLETED不工作的Android

首先,我知道有几百个这样的问题,但我已经检查了一会儿,但仍然找不到任何解决办法。 我已经看到这个答案说BOOT_COMPLETED不发送到应用程序,除非用户启动您的应用程序,Android 3.1之后版本但我仍然看到一些应用程序正在这样做,一定有办法。 我真的需要处理它,否则我也反对做一些没有用户交互的东西。 所以这是我的AndroidManifest: <manifest … > <!– to be activated service on boot is completed –> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!– Keeps the processor from sleeping when a message is received. –> <uses-permission android:name="android.permission.WAKE_LOCK" /> <application … > <!– to receive data when boot completed –> <receiver android:name="myPackage.BootReceiver" android:enabled="true" android:exported="true" android:permission="android.permission.RECEIVE_BOOT_COMPLETED" > <intent-filter> <action […]

网格布局VS. 表格布局

我正在开发一个像航空公司预订系统的预订引擎android应用程序。 为了获取特定于乘客search的所有可用航空公司的内容,将这些内容显示在移动设备的屏幕上。 考虑到屏幕加载时间,系统内存消耗和附加function,哪一个表格布局或网格布局将是有效的?

Android崩溃报告库(pre Froyo)

你知道任何Android崩溃报告库吗? 我不想花很多时间写我自己的报告系统。 输出可以发送到电子邮件或某种服务器。 我知道Google在Froyo中引入了崩溃报告,但我想要一些老版本的系统。 我们来总结一下答案: android-remote-stacktrace – 发送raport到邮件或php脚本 acra – 发送报告到谷歌文档 Android错误报告器 – 通过HTTP发送请求发送报告

如何从内部存储 – Android应用程序中读取文件内容

我是一个与Android的新手。 已经在位置data/data/myapp/files/hello.txt创build了一个文件; 这个文件的内容是“你好”。 我如何阅读文件的内容?

ScrollView和ListView之间的区别

任何人都可以解释滚动视图和列表视图之间的区别吗? 何时使用哪一个? 哪一个更有效率?

Android WebView onReceivedError()

有没有人知道是否有方法来截获WebView中的“未find页面”或“页面加载错误”? 根据android文档, onReceivedError()应该能够拦截。 但我testing了一个应用程序,我deleberately给了错误的url,并没有做任何事情。 我想我的应用程序能够给我自己的自定义错误消息,如果URL由于任何原因不可用。 这是什么都没做的代码: public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // custom error handling … show and alert or toast or something }

使用gradle进行编译时,无效的源版本1.7错误

我需要一个使用钻石操作员的图书馆1.7。 我跟着这些答案……但没有喜乐。 从gradle构build compileSdkVersion 19 buildToolsVersion '19.0.3' compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } defaultConfig { minSdkVersion 10 targetSdkVersion 19 versionCode 22 versionName "1.3.1" } 错误:任务':MyApp:compileDefaultFlavorDebugJava'的执行失败。 无效的源版本:1.7 Java home设置:$ echo $ JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home

Android:使用UUID作为SQLite中的主键

我的应用程序需要与其他应用程序用户(在自己的设备上)同步。 我也想支持离线编辑,当用户连接到互联网时,离线编辑与其他协作用户同步。 因此,用户A(当他离线时)改变了一些数据(以其他方式,他将更新数据库条目)或向数据库添加新的logging。 当用户A连接到互联网时,所有更改和新logging都会传送给其他协作用户。 所以用户B将得到更改/更新,并且可以将它们插入/更新到用户B本地设备数据库中。 但是我需要确保数据库条目的id在整个系统中是唯一的。 所以我需要使用像UUID的东西。 我的问题是使用UUID(string/ Varchar)作为主键在android sqlite数据库表中而不是一个整数将自动增加是一个坏主意? 我想通过使用string(一个UUID有36个字符)作为主键会有性能问题。 我猜索引uuids而不是整数需要更长的时间(比较string比较整数)。 我也猜测,当我使用UUID时,每次插入一个新的数据库logging/条目,数据库需要重新索引主键列,因为他们的主键索引不是sorting顺序了(这将是当我将使用整数自动增加主键,因为每个将来的logging都是在最后添加的,因为新的自动增加的主键总是最大的数字,所以索引会自动sorting)。 我还需要做的是连接2 – 3表。 我也猜测比较连接而不是整数的string会减慢数据库查询。 但是我不能看到其他可能性来实现这样的协作同步系统,所以我必须使用UUID,对吧? 另一种可能性是使用整数自动增量主键和使用第二列uuid。 所以要在用户本地设备上工作,我会使用这个主键(整数)连接等,而我会使用uuid列与其他用户同步。 你们对这种方法有什么想法,或者你认为需要做很多工作,因为你不会直接将UUID作为主键,而是预料到一个重大的性能问题? 还有其他build议吗?

Android:CursorLoader,LoaderManager,SQLite

试图更新我的旧应用程序,其中一些方法已被弃用。 我发现,如果我想使用显示来自数据库的数据的ListView,我应该使用LoaderManager + CursorLoader。 CursorLoader与内容提供者协同工作。 所以对于我的数据库中的每个表,我现在应该创build内容提供者? 我为什么要 ? 据我所知,内容提供商是用来与其他应用程序共享一些分贝信息,但我的应用程序不分享任何信息。 所以我可以使用CursorLoader没有内容提供商?