小编emm*_*mby的帖子

在Android上获取用户当前位置的最简单,最强大的方法是什么?

LocationManagerAndroid上的API似乎对于仅需要偶尔粗略估计用户位置的应用程序来说有点痛苦.

我正在处理的应用程序本身并不是一个位置应用程序,但它确实需要获取用户的位置才能显示附近的商家列表.它不需要担心用户是否在移动或类似的东西.

这是我想做的事情:

  1. 向用户显示附近位置的列表.
  2. 预加载用户的位置,以便在ActivityX中需要它时,它将可用.
  3. 我并不特别关心更新的准确性或频率.只要没有办法,抓住一个位置就足够了.也许如果我想要花哨,我会每隔几分钟更新一次位置,但这不是一个重要的优先事项.
  4. 只要有GPS或网络位置提供商,就可以使用任何设备.

看起来它应该不那么难,但在我看来,我必须启动两个不同的位置提供商(GPS和NETWORK)并管理每个生命周期.不仅如此,我还必须在多个活动中复制相同的代码以满足#2.我曾尝试过使用getBestProvider()过去将解决方案缩减为只使用一个位置提供商,但这似乎只能为您提供最好的"理论"提供商,而不是实际上会给您带来最佳结果的提供商.

有没有更简单的方法来实现这一目标?

android location geolocation latitude-longitude

788
推荐指数
12
解决办法
31万
查看次数

标准Android按钮具有不同的颜色

我想稍微更改标准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)

但这样做需要我居然为每一个按钮,我想自定义三种不同的可绘制(一个用于按钮在休息,一个集中的时候,和一个按下时).这似乎比我需要的更复杂,更干燥.

我真正想做的就是对按钮应用某种颜色转换.是否有更简单的方法来改变按钮的颜色而不是我正在做的事情?

android android-layout

728
推荐指数
12
解决办法
47万
查看次数

有没有一种简单的方法可以在Android视图的顶部和底部添加边框?

我有一个TextView,我想沿其顶部和底部边框添加黑色边框.我尝试添加android:drawableTopandroid: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)中添加顶部和底部边框?

android border textview android-view

390
推荐指数
14
解决办法
40万
查看次数

在github上托管Maven存储库

我有一个小型开源库的分支,我正在github上工作.我想通过maven将其提供给其他开发人员,但我不想运行自己的Nexus服务器,因为它是一个分支,我不能轻易地将它部署到oss.sonatype.org.

我想要做的是将它部署到github,以便其他人可以使用maven访问它.最好的方法是什么?

github maven github-pages mvn-repo

305
推荐指数
6
解决办法
10万
查看次数

如何在build.gradle文件中使用工具:overrideLibrary?

我正在使用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时如何使用?

android gradle android-tv

276
推荐指数
3
解决办法
12万
查看次数

如何在Android中进行流畅的图像旋转?

我正在使用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)的默认插值器,但我不知道如何告诉它不插入动画.

如何关闭插值(如果这确实是问题)以使我的动画循环顺利进行?

animation android view

209
推荐指数
10
解决办法
22万
查看次数

如何处理:java.util.concurrent.TimeoutException:android.os.BinderProxy.finalize()在10秒后错误超时?

我们看到了一些TimeoutExceptionsin 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)

android garbage-collection

156
推荐指数
7
解决办法
9万
查看次数

如何在Android上使用Cookie发出http请求?

我想在正确处理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请求的正确方法是什么?

java cookies url android http

116
推荐指数
3
解决办法
11万
查看次数

一个简单的命令行,用于将远程maven2工件下载到本地存储库?

我有一个我使用maven 2分发的库.这个库的典型用户不使用maven来构建他们的应用程序,但可能有点熟悉maven并且可能安装了它.

我想记录一个"简单"的一行命令,他们可以用它来将我的库的工件下载到他们的本地,~/.m2/repository而不需要他们设置一个pom.xml来完成它.

我认为有一种方法可以做到这一点,但在查看install:install-filedependency插件文档之后我似乎无法找到它.我尝试过这样的事情:

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吗?

maven-2

114
推荐指数
3
解决办法
13万
查看次数

如何测试Android推荐跟踪?

我正在实施一些代码来对Android市场的下载进行自己的推荐跟踪.

请参阅Android推介跟踪无法了解我的应用正在做什么.

如何在部署到公众之前测试此代码是否正常工作?

android google-analytics referrer google-play

99
推荐指数
4
解决办法
6万
查看次数