Articles of java

Glide是否有加载PNG和SVG的方法?

我正在使用Glide将一些图像asynchronous加载到一些ImageView ,我知道它可以处理像PNG或JPG这样的图像,因为它可以处理SVG 。 事实上,据我所知,我加载这两种图像的方式不同。 喜欢: 加载“正常”的图像 Glide.with(mContext) .load("URL") .into(cardHolder.iv_card); 加载SVG GenericRequestBuilder<Uri, InputStream, SVG, PictureDrawable> requestBuilder = Glide.with(mContext) .using(Glide.buildStreamModelLoader(Uri.class, mContext), InputStream.class) .from(Uri.class) .as(SVG.class) .transcode(new SvgDrawableTranscoder(), PictureDrawable.class) .sourceEncoder(new StreamEncoder()) .cacheDecoder(new FileToStreamDecoder<>(new SVGDecoder())) .decoder(new SVGDecoder()) .listener(new SvgSoftwareLayerSetter<Uri>()); requestBuilder .diskCacheStrategy(DiskCacheStrategy.NONE) .load(Uri.parse("URL")) .into(cardHolder.iv_card); 如果我尝试使用第一种方法加载SVG,则不起作用。 如果我尝试使用第二种方法加载PNG或JPG,则它也不起作用。 有没有一种通用的方式来加载两个图像types使用Glide? 在我下载之前,从中获取这些图像的服务器不会告诉我图像types。 这是一个REST服务器,资源将以"http://foo.bar/resource"的方式检索。 知道图像types的唯一方法是读取HEAD响应。

JVM与Dalvik和/或ART有什么不同?

首先,我觉得我可能把这个问题的题目写得不好,但是我想不出合适的话,所以请随意提出一个编辑,我会做出来,这样问题就更具教育意义和相关性。 我知道javax.Swing根本不能用于Android项目,我已经接受了这个,学习了基于Android XML的UIdevise,但是出于好奇,我想知道为什么 。 我意识到电话的屏幕尺寸可能是Swing不能很好地处理的,但是如何阻止开发人员仅仅导入javax.Swing包(除了Android Studio之外根本就不让它发生)变形和可怕的Swing窗口可能在Android设备屏幕上? 我也意识到,AWT和SWT也必须导入,但同样的问题也适用于这些包。 我认为我对这个问题的理解可能真的来自于对Java虚拟机和Android等价物(Dalvik仍然使用,或者他们是否将冷火鸡转换为ART?)缺乏了解。 与往常一样,任何信息或阅读您可以提供的主题非常感谢。 我真的想更多地了解JVM,Dalvik和ART如何工作的基础知识。

RecyclerView.ViewHolder总是必须是一个内部类吗?

我有两个RecyclerView.Adapter使用完全相同的RecyclerView.ViewHolder作为内部类。 我想摆脱代码重复,并使这些ViewHolder免费,单独的类,所以现在全新的类可以用于任何RecyclerView.Adapter s。 但是,我遇到了很多麻烦,例如访问适配器对象的困难。 getAdapterPosition()总是返回-1 。 所以我改变了主意,做了一个由这些适配器扩展的超级RecyclerView.Adapter类,并将ViewHolder放在超类中,以便这些适配器可以从子类中使用它。 但是我想知道ViewHolder是否必须是内部类。 这让我很烦恼。 请不要指教我结合适配器类,他们是完全不同的ViewHolder只是一个特殊的viewType可以出现在任何RecyclerView 我正在等待你的更好的方法,让我感觉更好。 问候。

NDK支持是一个实验性function,Android Studio中还没有支持所有的用例错误?

我想将NDK集成到Android Studio中,但是我面对NDK支持是一个实验性function,并且用例还不支持error.I已经使用SDKpipe理器下载了NDK,并且NDK被触发了C:\ Users \ TheAppData \ Local \的Android \ SDK \ NDK束。 我还为Java和C ++交互创build了NativePanorama java类。 这是NativePanorama.java类的代码 public class NativePanorama { public native static void processPanorama(long[] imageAddressArray, long outputAddress); { } } 我在terminal中使用了javah命令,为NativePanorama java类中的processPanorama方法创build相应的C ++头文件。 这里是创build的com_example_the_myapplication_NativePanorama.h c ++头文件。 /* DO NOT EDIT THIS FILE – it is machine generated */ #include <jni.h> /* Header for class […]

如何使用固定长宽比视图膨胀视图

在我的应用程序中,我有一个滚动视图。 在应用程序的生命周期中,我dynamic地向滚动视图添加新的视图。 我可以添加意见很less的问题,但我不能得到正确的尺寸。 这里是我想要的布局的草图: 在图像中我有一个屏幕的尺寸Width的Height 。 它包含一个HorizontalScrollView (或者也许是一个RecyclerView但我不知道如何使用这个),当视图添加到它时,它将会增长。 我想要添加到视图中的每个项目的宽度等于屏幕高度的五分之一,并且具有匹配的高度。 我可以做这个工作,如果我硬编码充气视图的宽度,但是,我的看法不会在所有手机上的纵横比相同。 注意:我尝试使用PercentRelativeLayout,但是我无法使其工作。 不知道如何解决这个问题…任何想法? 关于赏金的说明 :我将接受Java或C#(Xamarin)的答案! 我的项目是在Xamarin,所以它会很好,如果它的工作,或者如果它可以很容易地适应工作在C#

如何使用ThreeTenABP将ZonedDateTime / OffsetDateTime转换为date?

使用ThreeTen Android Backport库,将ZonedDateTime或OffsetDateTime转换为旧式的java.util.Date实例最简单的方法是什么? 如果我拥有完整的Java 8 libs,那么这当然就是做这件事的方法( 就像这个问题一样 ): Date.from(zonedDateTime.toInstant()); 但是我不能在Android上使用它; 特别是Date.from(Instant instant)缺失。

无法在Android Studio(libGDX)中运行项目

每次尝试在Android Studio中运行我的桌面项目时,我都会立即得到以下错误: Error:com.android.tools.idea.gradle.util.Projects.lastGradleSyncFailed(Lcom/intellij/openapi/project/Project;)Z 没有发生gradle build,或者任何types的同步。 Android Studio只是直接跳到这个错误。 我有重新启动/无效的caching,我已经删除我的.gradle文件夹在项目和家庭的位置,我已经重新安装android studio,我创build了一个新的项目,但我仍然得到同样的错误。 当我手动运行Gradle构build时,构build成功完成。 我甚至可以运行Android项目没有问题。 这只是桌面项目,给我的问题。 任何build议将不胜感激。 我正在使用最新版本的android gradle(2.3.0),而我的JDK是正确的版本(1.8)。 更新到Android Studio 2.3后出现此错误。 为了澄清,Gradle构build/同步完成成功。

我的Java应用程序中的所有.class文件是在appliaction启动之后加载到内存中的吗?

我正在为Android做一个应用程序,在我的活动我需要加载一个约10000string的数组。 从数据库加载它很慢,所以我决定把它直接放到一个.java文件(作为一个私人领域)。 我有大约20个包含string数组的类,我的问题是,所有的类在我的应用程序启动后加载到内存中? 如果是这样的话,我需要这些string的活动将被快速加载,但整个应用程序将有一个缓慢的开始…有没有其他的方法,如何非常快速地从文件加载一个10000string数组? 更新:为什么我需要这些string? 我的Android应用程序允许您在布拉格的公共交通中find“旅程” – 您select出发站点,到达站点,并find您的旅程(看看这里 )。 我的应用程序有一个build议function – 你inputleter“c”作为你的出发停止和一个build议ListView出现停止以“c”开始。 对于这些build议,我需要string。 从数据库中获取build议很慢(G1上大约为400ms)。

Android:触觉反馈:视图中的onClick()事件vs hapticFeedbackEnabled

如果您想要一个button来提供触觉反馈(例如,手机振动非常短暂,这样您就可以感觉到您确实按下了button),那么标准方式是什么? 看来你可以明确地设置一个onClick()事件,并调用vibrate()函数,给出几毫秒振动,或者你可以在视图中设置hapticFeedbackEnabled。 该文件似乎表明,后者只适用于长按或虚拟屏幕上的键: http : //developer.android.com/reference/android/view/View.html#performHapticFeedback(int) 如果这是正确的,那么我需要做我的button一个虚拟的屏幕上的按键或手动设置onClick()事件。 你有什么build议? 另外,如果我想要在用户的手指触摸button时立即发生振动,而不是当他们的手指“释放”button时,最好的方法是什么? 相关问题: 如何在button视图上启用触觉反馈

实现OnClickListener VS. 新的Button.OnClickListener(){};

我有一个关于如何使用ADT开发OnClickListeners的问题。 我不确定哪一种方法更有效率,谁能给我提供每种方法的专业和服务? class x extends Activity implements OnClickListener { button.SetOnClickListener(this); OnclickListener(View v) { switch(v.getGetId()); { case R.id.y: //do stuff here break; . . . } } } <-VERSUS-> class a extends Activity { . . . btn.setOnClickListener(new Button.OnClickListener() { OnClickListener(View v) { //do stuff here } }); }