Articles of 安卓

Android Studio 2.0:为什么Instant Run在修改xml布局资源时不起作用?

这是一个非常新的function,因为Android Studio 2.0只在Canary发行版中可用,但是我希望有人能够进一步解释Instant Runfunction的工作原理。 如果我修改我的Java类(活动,片段等)中的代码,则即时运行将顺利进行。 它使应用程序的实例运行,并在后台交换代码,极大地缩短了我testing的时间(这很棒,顺便说一下)。 但是,如果我修改现有的布局xml资源 ,那么它必须重新编译构build并部署它 。 所以我的问题是: 为什么在修改现有布局xml资源时需要重build? 是否有将来的计划允许热插拔XML资源,以便我不必每次重新编译布局时都要进行更改。 (虽然,我知道我只能查看devise视图中的更改)。 问题#1对我来说现在更重要,因为我想了解它是如何工作的。 另外,祝贺Android Studio团队。 IDE已经走了很长的一段路。 性能改进是改变生活的。

java.lang.IllegalStateException:使用YouTubePlayerApi时,YouTubeServiceEntity未初始化错误

我正在使用YouTubePlayerAPI和YouTubePlayerSupportFragment在我的应用程序,我收到以下错误,但我无法找出是什么原因造成的。 我一直在寻找信息,但我没有find有用的东西。 java.lang.IllegalStateException: YouTubeServiceEntity not initialized at android.os.Parcel.readException(Parcel.java:1433) at android.os.Parcel.readException(Parcel.java:1379) at com.google.android.youtube.player.internal.l$a$aa(Unknown Source) at com.google.android.youtube.player.internal.oa(Unknown Source) at com.google.android.youtube.player.internal.ad.a(Unknown Source) at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source) at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source) at com.google.android.youtube.player.internal.rg(Unknown Source) at com.google.android.youtube.player.internal.r$ca(Unknown Source) at com.google.android.youtube.player.internal.r$ba(Unknown Source) at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) […]

Android地图库V2缩放控制自定义位置

如何自定义GoogleMap V2中的内置缩放控件的位置? Google地图库的第1版有许多与此主题相关的问题。 将缩放控件放置在MapView中 如何在MapView中重新定位内置缩放控件? 如何使用setBuiltInZoomControls(true)布局缩放控件? 但是,我无法find有关图书馆V2的任何问题。 在V2中,没有办法 (LinearLayout) mapView.getZoomControls(); 所有前面提到的问题都变得过时了。 提前致谢

如何在Android Studio中设置应用的版本号

我想在Android Studio中升级应用程序的版本号(显示在Play商店中),但是我不是Android开发者,所以我不确定我在做什么是对的。 我googled如何做到这一点,和Android指南说,我应该必须在AndroidManifest.xml ,但我不能在该文件中findandroid:versionCode , android:versionName 。 不过,我发现build.gradle这些行: minSdkVersion 16 targetSdkVersion 22 versionCode 1 versionName "1.1" Play商店中的实际版本号为1.1,所以我假设我已经得到了这个,但是如果有人能为我确认,我将不胜感激。 那么,如果我只编辑build.gradle的versionName就足够了? 还是我需要做其他事情? 通常的做法是什么?

TextView单击时发送电子邮件

我有一个TextView与android:autoLink =“电子邮件”。 如果我把我的电子邮件地址在那里,然后出现一个链接,我可以点击。 如何显示不同的文本(例如“发送反馈”)而不是电子邮件地址,但点击后仍然performance相同? 谢谢

以编程方式更改可绘制的颜色

我试图通过代码更改白色标记图像上的颜色。 我读过下面的代码应该改变颜色,但我的标记保持白色。 Drawable.setColorFilter( 0xffff0000, Mode.MULTIPLY ) 我错过了什么? 有没有其他的方式来改变位于我res文件夹中的drawables上的颜色?

Android:如何以编程方式打开和closures屏幕?

在将这篇文章标为“重复”之前,我正在撰写这篇文章,因为没有其他文章能够解决这个问题。 我试图closures设备,然后几分钟后或更换传感器,将其重新打开。 closures显示testing 我能够closures屏幕使用: params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; params.screenBrightness = 0; getWindow().setAttributes(params); 我一直无法使用wl.release()方法closures屏幕。 打开显示testing 我的第一个猜测,如下所示,不起作用。 没有任何反应,屏幕仍然closures。 params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; params.screenBrightness = -1f; getWindow().setAttributes(params); 然后,我也尝试使用唤醒锁,没有成功。 PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "tag"); wl.acquire(); 最后我试了下面,没有结果。 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 总而言之,在这些方法的控制台中我没有遇到任何错误。 当我使用电源button开启设备时,我的testing文本“屏幕应该打开”,在屏幕上。 这表明代码应该已经跑了。 请只回答,如果你已经testing了代码,它看起来像params.screenBrightness = -1 ,许多function,不应该按照他们应该按照sdk。

以编程方式进入主屏幕

当用户点击button时,我想在Android中以编程方式进入主屏幕。 如何才能做到这一点?

从非活动使用startActivityForResult

我有MainActivity这是一个活动和其他类(这是一个简单的Java类),我们将其称为“SimpleClass”。 现在我想从该类运行startActivityForResult命令。 现在我虽然我可以通过该类(SimpleClass),只有MainActivity的上下文,问题是,你不能运行context.startActivityForResult(…); 所以使SimpleClass使用“startActivityForResult; 是将MainActivity的引用作为一个Activityvariables传递给SimpleClass,就像这样: 在MainActivity类中,我通过这种方式创buildSimpleClass的实例: SimpleClass simpleClass=new SimpleClass(MainActivity.this); 现在这就是SimpleClass的样子: public Class SimpleClass { Activity myMainActivity; public SimpleClass(Activity mainActivity) { super(); this.myMainActivity=mainActivity; } …. public void someMethod(…) { myMainActivity.startActivityForResult(…); } } 现在它的工作,但不是一个正确的方式做到这一点? 我恐怕将来可能会有一些内存泄漏。 谢谢。 射线。

如何知道我的Android应用程序已升级,以重置警报?

我注意到,当设置这个警报的应用程序已经升级时,警报被禁用。 真的吗 ? 到目前为止,我用SharedPreferences和FIRST_RUN键来知道它是否是我的应用程序的第一次运行。 如果我没有find这个键,我启用闹钟并将FIRST_RUN设置为false,否则我什么都不做。 但我也注意到这些偏好在应用程序升级之间保持不变! 所以在升级之后, FIRST_RUN键已经是假的了,所以我什么也不做,而我的闹钟需要启用。 如何处理这种情况? 提前致谢