Tag: android

Android USB主机 – bulkTransfer()正在丢失数据

我试图从基于FTDI 2232H芯片的定制设备接收数据。 我正在使用一个简单的asynchronousFIFO模式,input数据速率是3.2MB /秒。 一切工作完美与我的电脑上的testing代码,但我有问题接收我的东芝茁壮成长的数据。 TDI的Android驱动失败,所以我使用Java编码。 我可以完美地获得95%以上的数据,但是每隔一段时间,数据就会“飞溅”,并且将相同的4-5K数据的一部分分两次或三次,然后返回到正确的数据。 对于Thrive或者Android来说,我不会太快,因为之前我的数据是双倍的(6.4MB / sec),而且也有95%的数据。 (所以它应该没有问题,一半的速度。) 似乎在Android中发生的缓冲(或双缓冲)中存在某种错误。 (这不是FTDI 2232H内的缓冲区,因为重复的数据大于芯片的4K内部缓冲区。) 设置代码很简单,而且几乎完美地工作。 数据抓取的循环非常简单: while(!fStop) if(totalLen < BIG_BUFF_LEN-IN_BUFF_LEN) { len=conn.bulkTransfer(epIN, inBuff, IN_BUFF_LEN, 0); System.arraycopy(inBuff, 0, bigBuff, totalLen, len); totalLen+=len; } 如果你认为这是arrays拷贝的时间延迟 – 即使我发表评论,我仍然会丢失数据。 IN_BUFF_LEN是16384(即使增加inBuff的大小,bulkTransfer也不会返回更多的值)。 bigBuff是几兆字节。 作为第二个问题 – 有谁知道如何传递一个指向bulkTransfer的指针,直接填充bigBuff —在一个偏移量(不是从位置'0'开始?

Android持久套接字连接规则

我一直在使用持久套接字对Android设备进行自定义推送通知解决scheme的testing。 我想分享我的发现并validation结果。 简单的描述 应用程序运行前台服务,并build立与服务器的连接,并通过主动ping(10秒间隔)来维护连接。 如果连接被检测为死亡,应用程序会一直试图无限期地重新连接。 服务器通过双工通道发送通知。 testing1: Pinging is done using a timer at 10 second intervals. Server sends notification every minute. Applications acquires wifi and wake locks. Duration : 8 hours Battery loss : ~14% testing2: Pinging is done using AlarmManager at 10 second intervals. Server sends notification every minute. Application acquires only a […]

Android Honeycomb中的装载器

我试图找出如何在Android 3.0中使用Loaders ,但似乎无法得到它的工作。 文档只描述使用CursorLoader但我使用AsyncTaskLoader 。 从文档看来,你应该只需要实现AsyncTaskLoader.loadInBackground()但是它在getLoaderManager().initLoader()之后永远不会被调用,然后在callback中创build加载器。 我可以看到debugging消息说Created new loader LoaderInfo{4040a828 #0 : ArticleDataLoader{4036b350}}所以它看起来像它被成功创build。 目前SDK中的加载器是否可能被破坏,或者在创build加载器后需要调用某些方法? (他们没有在CursorLoader例子中做到这一点)。 编辑:好像调用forceLoad()返回的加载程序上的initLoader()开始加载至less,但这意味着你不能正确处理旋转:(

Android的function发现animation

自5月份以来,Google已经在其网站上更新了材料devise指南。 我在一个名为“ 特征发现 ”的新章节中看到了一个有趣而酷炫的devise模式。 我想实现“发现”导航抽屉button的animation 。 导航抽屉和浮动操作button在Google Fit的上一次更新中有类似的animation。 像往常一样,对于Androidanimation,Google提供了一个非常棒的UI指南,但我们没有任何进一步的信息来为我们自己的应用程序开发它。 你知道是否有Android的本地解决scheme库来实现这些animation? 如果是的话,它是否可用于Android 5.0以下(API 21) – 它可以超过Android 4.1+? 编辑:我做了一个Github项目来实现相同的animation。 你可以在这里find它: https : //github.com/Guimareshh/Feature-discovery-animations 谢谢 !

build议避免位图内存不足错误

我正在研究一个Android应用程序。 该应用程序有一个包含大量图像的视图。 我有一个错误,我会尽量提供尽可能多的信息,希望有人能给我一些build议。 该应用程序在所有的本地testing中工作良好。 但是,我收到了很多来自用户的崩溃: java.lang.OutOfMemoryError: bitmap size exceeds VM budget 这是堆栈跟踪 0 java.lang.OutOfMemoryError: bitmap size exceeds VM budget 1 at android.graphics.Bitmap.nativeCreate(Native Method) 2 at android.graphics.Bitmap.createBitmap(Bitmap.java:507) 3 at android.graphics.Bitmap.createBitmap(Bitmap.java:474) 4 at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:379) 5 at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:498) 6 at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:473) 7 at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336) 8 at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:359) 9 at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:385) 我最大的问题是,即使在旧设备上,我也无法在本地重现问题。 我已经实现了很多东西来解决这个问题: 没有内存泄漏 :我确定没有内存泄漏。 当我不需要他们时,我删除了这些意见。 我也回收了所有的位图,并确保垃圾收集器正常工作。 我在onDestroy()方法中实现了所有必要的步骤 图像大小正确缩放 […]

如何缩放多点触摸整个活动?

Problem: 放大图像和Web视图很容易。 但是我想放大整个活动。 我怎样才能做到这一点? Here, I provide wire-frame: 从这个你可以明白,我想要做什么。 Request 如果您有任何解决scheme,请分享。 谢谢。

Android:分组通知和摘要仍然分别显示在4.4和以下

我想在Android Wear上实施堆叠通知为此,我为每个“商品”创build了1个摘要通知和N个单独通知。 我只想要摘要在手机上显示。 这是我的代码: private void showNotifications() { NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); showNotification1(notificationManager); showNotification2(notificationManager); showGroupSummaryNotification(notificationManager); } private void showNotification1(NotificationManager notificationManager) { showSingleNotification(notificationManager, "title 1", "message 1", 1); } private void showNotification2(NotificationManager notificationManager) { showSingleNotification(notificationManager, "title 2", "message 2", 2); } protected void showSingleNotification(NotificationManager notificationManager, String title, String message, int notificationId) { NotificationCompat.Builder builder = new […]

ListView是否可以包含碎片

在中,ListView的ELEMENTS可以是Fragments。 我知道你可以将一个TextView XML分配给一个ListView来改变它的外观,但是你可以将Fragments添加到一个ListView中。 例如:我有一个片段。 所述片段的XML包含一个ImageView,几个大样式的TextView和一个小型的TextView。 Fragment类代码接收一个Bundle,然后根据内容填充TextViews和ImageView。 片段XML和片段代码工作没有问题(我可以显示一个单独的片段就好了)。 我有一个FragmentActivity,我想要显示上述碎片列表。 这里是我用来试图填充FragmentActivity的视图里面的ListView的代码: ArrayList<Fragment> fragList = new ArrayList<Fragment>(); Fragment fragment = Fragment.instantiate(this, TileItem.class.getName()); Bundle bundle = new Bundle(); bundle.putInt("key", 0); fragment.setArguments(bundle); fragList.add(fragment); ArrayAdapter<Fragment> adapter = new ArrayAdapter<Fragment>(this, R.layout.tile_item, fragList); listItems.setAdapter(adapter); 这是我的思维模式。 我做了一个碎片ArrayList来保存我所有的实例化视图。 然后我创build一个Fragment,创build一个Bundle,向Bundle添加数据(这样Fragment可以正确地将数据封装到Views中),将Bundle添加到Fragment中,最后将这个Fragment添加到ArrayList中。 之后,我制作了一个ArrayAdapter,添加了我想要使用的元素布局以及我制作的碎片列表。 然后设置ListView从我的适配器读取。 任何运行这个代码的人都可能得到NPE @实例化ArrayAdapter。 是什么赋予了? 这甚至有可能吗? 在我不停地喋喋不休之前,有人可以告诉我是不是在浪费我的时间? 有没有更好的办法? 我一直在考虑使用ScrollView,但是ListView的很多function都需要重新实现,而当我不需要的时候,我讨厌 – 讨厌 – 讨厌重新发明轮子。 感谢任何人的阅读,特别是感谢你的想法,如果你决定离开他们。 我试着寻找一个既定的答案,但我似乎find的所有问题/网页有关使用一个片段的Lis​​tView INSIDE; […]

运行Jelly Bean / 4.2.1的一些设备的Android操作系统错误 – TextView.setError(CharSequence错误)Missing icon

运行Jelly Bean(4.2.1)的一些设备(但不是全部)似乎缺less应该出现在TextView上的感叹号错误图标(或者更常见的是EditText ),该图标通过TextView.setError(CharSequence error) 。 Galaxy Nexus绝对似乎缺less了这个图标。 效果是由setError设置的错误状态只有在EditText具有焦点时才会显现。 这使得setError(…)更加有用,因为它经常被用来鼓励用户返回EditText来解决问题。 例如,您有一个标准的login屏幕,其中包含用户名和密码表单条目,当用户单击提交button时,该条目将被validation。 在用户名表单上设置的validation错误消息将不会显示,除非用户单击回到该表单 – 这是错误图标旨在鼓励他们这样做! testing:(可能有一个更容易访问的EditText,但这个是非常广泛的可用) 打开设置 select“添加帐户”(这是在旧设备上的“帐户和同步”) select“Google”作为帐户types select“现有”(在旧设备上点击“下一步”和“login”后) 将“电子邮件” EditText留空,单击“密码” EditText 此时,在“电子邮件” EditText上设置了一个错误,表示它不能为空。 在没有此问题的设备上,会显示常见的错误图标,当EditText具有焦点时,会将其展开为完整的错误消息。 在运行Jelly Bean的Galaxy Nexus上,没有图标显示,只有当' EditText重新对焦时,错误才会显示,但仍然没有图标。 这看起来像一个错误,但我想检查其他人是否可以重现它,有什么问题的想法,并有一个很好的解决方法。 使用setError(CharSequence error, Drawable icon)可能会修复一些问题,但能够在不同的Android版本中使用股票错误graphics将会很好。

getSupportFragmentManager()。getFragments()显示编译时错误

调用getSupportFragmentManager().getFragments()显示下面的消息编译时间错误: getSupportFragmentManager()。getFragments()只能从同一个库组中调用(groupId = com.android.support) 我在MainActivity导入了以下类: import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.BottomNavigationView; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.MenuItem; import android.widget.Toast; MainActivity扩展了AppCompatActivity 。 我的项目模块级build.gradle文件如下: apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.mycompany.floatingdemo" minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } […]