Articles of java的

尝试在Android studio中运行默认地图活动时出现模拟器错误

//我正在尝试运行android // studio中提供的默认地图活动。 我在xml文件中添加了我的API密钥并使用默认的AVD //设备运行并获得以下错误(说我的应用程序停止在模拟器中工作) // logcat: 01-03 19:13:51.647 2399-2399/com.example.user.maptest I/art: Not late-enabling -Xcheck:jni (already on) 01-03 19:13:51.671 2399-2399/com.example.user.maptest W/System: ClassLoader referenced unknown path: /data/app/com.example.user.maptest-2/lib/x86 01-03 19:13:51.675 2399-2399/com.example.user.maptest I/GMPM: App measurement is starting up, version: 8487 01-03 19:13:51.675 2399-2399/com.example.user.maptest I/GMPM: To enable debug logging run: adb shell setprop log.tag.GMPM VERBOSE 01-03 19:13:51.758 2399-2399/com.example.user.maptest I/zzad: Making […]

如何实现可配置的单例?

此问题与Android有关,但在其他情况下也可以询问。 我需要创建一个暴露单身人士的图书馆; 或者我想确保只存在我的类的一个实例,并且可以在代码中的任何位置抓取而不传递引用。 但是单身人士需要一些参数。 例如,在Android中,通常需要Context对象。 我还必须确切地说,因为我提供了一个库,所以我希望用户能够轻松操作,而且我无法控制 Android 中的Application类 (此类有时可用于管理整个应用程序的对象实例)。 一种已知的解决方案是执行以下操作: static MySingleton sInstance; MySingleton.getInstance(Context c) { if (sInstance == null) { sInstance = new MySingleton(c.getApplicationContext()); } return sInstance; } 但这很奇怪,因为getInstance的参数实际上只在第一次创建单例时使用。 我可以为单例提供一个setter并要求开发人员正确设置所需的参数,但可能会出现一些奇怪的情况: // Good usage MySingleton.getInstance().setContext(context.getApplicationContext()); MySingleton.getInstance().doSomethingThatRequiresContext(); // OK // Bad usage MySingleton.getInstance().doSomethingThatRequiresContext(); // Error! MySingleton.getInstance().setContext(context.getApplicationContext()); 我可以检查每个方法的开头是否正确配置了单例,并在状态为错误时启动了一些exception,但API使用起来不那么简单: MySingleton.getInstance().setContext(context.getApplicationContext()); try { MySingleton.getInstance().doSomethingThatRequiresContext(); } catch(BadSingletonConfiguration e) { } […]

在TextView -Android中逐字母显示字符串

我有这个代码: public void setText(String s){ TextView tv= (TextView)HomeActivity.tf.getView().findViewById(R.id.textViewFragment); char c; for(int i=0; i< s.length(); i++){ c= s.charAt(i); tv.append(String.valueOf(c)); try{ Thread.sleep(100); }catch(Exception e){} } } 问题是我不能让TextView逐个显示字母。 循环完成并执行所有操作后,即文本显示时。 我想让它逐个字母显示,以给TextView一个animation效果。

为什么Android Wear DataMap没有putIntArray方法?

我很好奇为什么Android Wear SDK中的DataMap没有putIntArray方法,而是为整数提供了putIntegerArrayList方法。 DataMap有putByteArray , putByteArray , putFloatArray , putLongArray ,但不是putIntArray 。 不允许int数组但需要ArrayListtypes而不是整数数组的原因是什么。 您可以在via putInt放置原始int值,但是如果要放入它们的数组,则必须将Integers而不是int存储为ArrayList

Android Wear检测“静音”

应用程序如何检查Android Wear设备的“静音”状态? 无论如何,所有卷似乎都是0。 Log.d(“VOLUME – STREAM_SYSTEM”, Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM))); Log.d(“VOLUME – STREAM_NOTIFICATION”, Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION))); Log.d(“VOLUME – STREAM_RING”, Integer.toString(audioManager.getStreamVolume(AudioManager.STREAM_RING))); 给我 D/VOLUME – STREAM_SYSTEM(32598): 0 D/VOLUME – STREAM_NOTIFICATION(32598): 0 D/VOLUME – STREAM_RING(32598): 0

内存不足使用Retrofit 2下载文件

我有一个pdf查看器应用程序,我必须下载大的pdf文件(例如136mb)我正在使用retrofit2-beta2进行此过程。 问题是我总是耗尽内存。 我如何告诉改装我将下载一个大文件,请给我一个byteStream? 我的界面是: @GET(“url”) Call getData(params); 我有一个ProgressResponseBody类,它正在扩展ResponseBody,我在这里设置progressListener,以便能够刷新我的进度条, 在onResponse函数中我只是得到了InputStream InputStream input = response.body().byteStream(); FileOutputStream out = new FileOutputStream(file); int bufferSize=1024; byte[] buffer = new byte[bufferSize]; int len = 0; while (len = input.read(buffer) != -1) { out.write(buffer,0,len); } if(out!=null) out.close(); UPDATE 我已将@Stream添加到接口但现在我在ProgressResponseBody.java中得到NetworkOnMainThreadException。在super.read(sink,byteCount)中抛出错误; 行。 我怎么能把它放到一个单独的线程? @Override public BufferedSource source() throws IOException { if (bufferedSource == null) […]

如何在android上选择线程池的大小

我想从SDP读取多个文件并与ThreadPoolExecutor并行。 选择Threads数的最佳方法是什么? 是否可以根据可用处理器的数量选择尺寸?

节拍匹配算法

我最近开始尝试创建一个移动应用程序(iOS / Android),它将自动击败匹配( http://en.wikipedia.org/wiki/Beatmatching )两首歌曲。 我知道这存在,并且有其他人取得了一些成功,但我遇到了与球员准确性有关的问题。 具体来说,我遇到“同步”问题,其中“节拍”不排队。 迄今使用的各种方法是: 提前计算BPM,识别“节拍”(使用像sonicapi.com这样的东西),并尝试正确排队,并开始调整其播放速率(速度调整) 利用一堆元数据来触发特定的启动和停止 什么不起作用: 利用echonest的API(它击败了服务器上的匹配,我们希望在客户端上进行) pydub之类的东西(实时不做) 谁今天使用这个算法: iwebdj 拖拉机 有没有人对如何解决这个问题有任何建议? 我见过很多人这样做,但在移动设备上实时做这件事似乎是一个问题。

选择在运行时从java扩展的子类

我有两个类(比如B&C),它们都来自一个类(比如说A)。 现在我需要编写一个类(比如D),它应该在运行时从B或C动态派生。 B,C&A是通过图书馆提供给我的课程,我控制的唯一课程是D课程。 如何针对上述约束编写D. 显然B和C来自不同的供应商,因此需要在D中覆盖不同的方法,这取决于它的父类。 我不能编写将从B&C子类化的不同版本的D,因为重写方法在不同的方法名称下具有相同的代码。

如何使用Permissionsdispatcher库获取新的Android M运行时权限?

我遇到了一篇奶酪工厂文章(google it因为我不能发布超过2个链接和我的声誉),这解释了如何处理Android Marshmallow的新权限系统。 在本文中,他引用了Permissionsdispatcher库 ,旨在减少样板代码。 所以我从GitHub下载了库演示,但是我收到一条错误,说明MainActivityPermissionsDispatcher无法解析。 根据我的理解,应该生成这个类 。 如何生成它以删除错误? MainActivity.java @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { // delegate the permission handling to generated method // MainActivityPermissionsDispatcher cannot be resolved MainActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults); }