LocationManager
Android上的API似乎对于仅需要偶尔粗略估计用户位置的应用程序来说有点痛苦.
我正在处理的应用程序本身并不是一个位置应用程序,但它确实需要获取用户的位置才能显示附近的商家列表.它不需要担心用户是否在移动或类似的东西.
这是我想做的事情:
Activity
X中需要它时,它将可用.看起来它应该不那么难,但在我看来,我必须启动两个不同的位置提供商(GPS和NETWORK)并管理每个生命周期.不仅如此,我还必须在多个活动中复制相同的代码以满足#2.我曾尝试过使用getBestProvider()
过去将解决方案缩减为只使用一个位置提供商,但这似乎只能为您提供最好的"理论"提供商,而不是实际上会给您带来最佳结果的提供商.
有没有更简单的方法来实现这一目标?
我想稍微更改标准Android按钮的颜色,以便更好地匹配客户的品牌.
到目前为止,我发现这样做的最好方法是将Button
'drawable'改为drawable,位于res/drawable/red_button.xml
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/red_button_pressed" />
<item android:state_focused="true" android:drawable="@drawable/red_button_focus" />
<item android:drawable="@drawable/red_button_rest" />
</selector>
Run Code Online (Sandbox Code Playgroud)
但这样做需要我居然为每一个按钮,我想自定义三种不同的可绘制(一个用于按钮在休息,一个集中的时候,和一个按下时).这似乎比我需要的更复杂,更干燥.
我真正想做的就是对按钮应用某种颜色转换.是否有更简单的方法来改变按钮的颜色而不是我正在做的事情?
我有一个TextView,我想沿其顶部和底部边框添加黑色边框.我尝试添加android:drawableTop
并android:drawableBottom
给TextView的,但只造成了整个视图变黑.
<TextView
android:background="@android:color/green"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableTop="@android:color/black"
android:drawableBottom="@android:color/black"
android:text="la la la" />
Run Code Online (Sandbox Code Playgroud)
有没有办法轻松地在Android中的视图(特别是TextView)中添加顶部和底部边框?
我有一个小型开源库的分支,我正在github上工作.我想通过maven将其提供给其他开发人员,但我不想运行自己的Nexus服务器,因为它是一个分支,我不能轻易地将它部署到oss.sonatype.org.
我想要做的是将它部署到github,以便其他人可以使用maven访问它.最好的方法是什么?
我正在使用leanback库,它需要Android 17或更高版本.但是我的应用支持minSDK为16,所以我从gradle说得到了一个构建错误
Error:Execution failed for task ':Tasks:processPhoneDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 17 declared in library /Users/mike/Projects/android-for-dummies-v3/Tasks/build/intermediates/exploded-aar/com.android.support/leanback-v17/21.0.2/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage
Run Code Online (Sandbox Code Playgroud)
当我查看构建工具文档时,我看到如何将overrideLibrary
标记添加到我的清单中,但问题是我在gradle文件中而不是在清单中声明了我的minSdk.
overrideLibrary
在build.gradle中而不是在AndroidManifest.xml中声明minSdk时如何使用?
我正在使用a RotateAnimation
来旋转我在Android中用作自定义循环微调器的图像.这是我的rotate_indefinitely.xml
文件,我放入res/anim/
:
<?xml version="1.0" encoding="UTF-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:duration="1200" />
Run Code Online (Sandbox Code Playgroud)
当我将它应用于我的ImageView
使用时AndroidUtils.loadAnimation()
,效果很好!
spinner.startAnimation(
AnimationUtils.loadAnimation(activity, R.anim.rotate_indefinitely) );
Run Code Online (Sandbox Code Playgroud)
一个问题是图像旋转似乎在每个周期的顶部暂停.
换句话说,图像旋转360度,暂停,然后再旋转360度等.
我怀疑问题是动画是使用像android:iterpolator="@android:anim/accelerate_interpolator"
(AccelerateInterpolator
)的默认插值器,但我不知道如何告诉它不插入动画.
如何关闭插值(如果这确实是问题)以使我的动画循环顺利进行?
我们看到了一些TimeoutExceptions
in GcWatcher.finalize, BinderProxy.finalize
,and PlainSocketImpl.finalize
.其中90%以上发生在Android 4.3上.我们从现场用户那里获得了Crittercism的报告.
该错误是以下变体:" com.android.internal.BinderInternal$GcWatcher.finalize() timed out after 10 seconds
"
java.util.concurrent.TimeoutException: android.os.BinderProxy.finalize() timed out after 10 seconds
at android.os.BinderProxy.destroy(Native Method)
at android.os.BinderProxy.finalize(Binder.java:459)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:187)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170)
at java.lang.Thread.run(Thread.java:841)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我们没有任何运气在内部复制问题或找出可能导致问题的原因.
有什么想法可以导致这个?知道如何调试这个并找出应用程序的哪个部分导致这个?任何能够揭示这个问题的东西都有帮助.
更多Stacktraces:
1 android.os.BinderProxy.destroy
2 android.os.BinderProxy.finalize Binder.java, line 482
3 java.lang.Daemons$FinalizerDaemon.doFinalize Daemons.java, line 187
4 java.lang.Daemons$FinalizerDaemon.run Daemons.java, line 170
5 java.lang.Thread.run Thread.java, line 841
Run Code Online (Sandbox Code Playgroud)
2
1 java.lang.Object.wait
2 java.lang.Object.wait Object.java, line 401
3 java.lang.ref.ReferenceQueue.remove ReferenceQueue.java, line 102
4 java.lang.ref.ReferenceQueue.remove ReferenceQueue.java, line 73
5 java.lang.Daemons$FinalizerDaemon.run …
Run Code Online (Sandbox Code Playgroud) 我想在正确处理cookie的同时向远程服务器发出http请求(例如,存储服务器发送的cookie,并在我发出后续请求时发送这些cookie).保留任何和所有cookie都很好,但实际上我唯一关心的是会话cookie.
使用java.net,似乎首选的方法是使用java.net.CookieHandler(抽象基类)和java.net.CookieManager(具体实现).Android有java.net.CookieHandler,但它似乎没有java.net.CookieManager.
我可以通过检查http标头手动编写所有代码,但似乎必须有一个更简单的方法.
在保留cookie的同时在Android上发出http请求的正确方法是什么?
我有一个我使用maven 2分发的库.这个库的典型用户不使用maven来构建他们的应用程序,但可能有点熟悉maven并且可能安装了它.
我想记录一个"简单"的一行命令,他们可以用它来将我的库的工件下载到他们的本地,~/.m2/repository
而不需要他们设置一个pom.xml来完成它.
我认为有一种方法可以做到这一点,但在查看install:install-file
和dependency
插件文档之后我似乎无法找到它.我尝试过这样的事情:
mvn install:install-file -DrepositoryId=java.net -Durl=http://download.java.net/maven/2/ -Dfile=robo-guice-0.4-20091121.174618-1.jar -DpomFile=robo-guice-0.4-20091121.174618-1.pom -DgroupId=robo-guice -DartifactId=robo-guice -Dversion=0.4-SNAPSHOT -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)
但我认为我正在咆哮错误的树,因为看起来安装插件用于将本地构建的文件复制到本地存储库,而不是将远程工件下载到本地存储库.
这是我要安装的工件:http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
这可能是使用maven吗?
android ×8
android-tv ×1
android-view ×1
animation ×1
border ×1
cookies ×1
geolocation ×1
github ×1
github-pages ×1
google-play ×1
gradle ×1
http ×1
java ×1
location ×1
maven ×1
maven-2 ×1
mvn-repo ×1
referrer ×1
textview ×1
url ×1
view ×1