小编Phi*_*oda的帖子

使用经度和纬度比较两个位置

嗨我需要在onchangelocation()上调用一个事件,通过比较当前纬度和经度与一些保存的纬度和经度,但我得到一个错误.日食不识别关键词距离,并且对于校正错误它给出提示箱子方法"距离"有4参数...如何解决它?或其他一些方式做同样的工作???

感谢致敬.代码附在下面

@Override
public void onLocationChanged(Location location) {
 double currentLat=location.getLatitude();
 double currentLon=location.getLongitude();

    if (distance(lat,lon,currentLat,currentLon)<2.0){
 //do what you want to do...
  }
}
Run Code Online (Sandbox Code Playgroud)

android android-location android-mapview

15
推荐指数
2
解决办法
2万
查看次数

如何从UILabel的第n行获取text/String?

有没有一种简单的方法来获取(或简单地显示)UILabel中给定行的文本?

我的UILabel正确地显示我的文本并将其精美地展示出来,但偶尔我需要能够显示某些行,但显然我需要知道UILabel如何定位所有这些.

我知道这可以通过子字符串轻松完成,但我需要知道该行的起点和终点.

或者,如果UILabel的框架有某种偏移并且隐藏了我不想看到的其他内容,我可以滚动UILabel.

我无法发现任何显示如何轻松完成此操作的内容.有人有什么好主意吗?

谢谢

iphaaw

uilabel core-text ios swift

14
推荐指数
5
解决办法
1万
查看次数

使用1 Mb堆的奇怪位图

出于好奇,我刚刚使用Eclipse Memory Analyzer测试了我的Android应用程序内存泄漏.

我遇到了一个奇怪的Bitmap,大小为512 x 512像素,占用了大约1兆字节的设备堆内存.

在此输入图像描述

我检查了我的drawables文件夹,找不到那个大小的位图(512 x 512).

我开始谷歌搜索并遇到了这个问题,用户解释了如何在Memory Analyzer中获取"内存泄漏"参考后面的实际图像:

MAT(Eclipse Memory Analyzer) - 如何从内存转储中查看位图

我按照教程并在GIMP的帮助下,提取了以下图片:

在此输入图像描述

所以我的问题是:

  • 那是什么?
  • 它在我的应用程序堆中做了什么?
  • 我怎么摆脱它?
  • 有没有其他人在他的堆中有相同的位图?

笔记:

  • 在我的drawables文件夹中没有看起来像这样的Bitmap
  • 我的应用程序使用的最大位图是140 x 140像素
  • 我有一种感觉,这个Bitmap不知何故来自系统
  • 应用程序启动后,Bitmap就在堆中 - 没有任何用户交互
  • 我正在调试HTC One S,Android 4.1 Cyanogen Mod(屏幕540 x 960)
  • 我没有使用外部库

更新:

Selvin的建议和我的个人感觉的帮助下,这可能是一个系统问题,我测试了我的另外两个应用程序.

我测试的两个应用程序也在Memory Analyzer中显示了相同的Bitmap,消耗的字节数完全相同:

在此输入图像描述

此外,我能够发现:

Bitmap的源始终与应用程序的LAUNCHER活动相关联.

那该怎么办呢?有办法摆脱它吗?

由于我在我的应用程序中执行内存密集型操作,因此我希望尽可能多地使用堆.

heap android memory-management bitmap eclipse-memory-analyzer

14
推荐指数
1
解决办法
1443
查看次数

如何在Android中修复NetworkonMainThreadException?

我正在创建一个分配项目,我是Android的新手,我想从非常常见的URL访问json http://api.androidhive.info/contacts/,

问题:我正在尝试读取url并获取并解析此url返回的json,

我已经在我的AndroidManifest.xml中添加了以下行

<uses-permission android:name="android.permission.INTERNET"/>
Run Code Online (Sandbox Code Playgroud)

首选项:和我的Android首选项是

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
Run Code Online (Sandbox Code Playgroud)
  1. Api等级18
  2. Android 4.3

这就是我试图读取网址的方式

static InputStream is = null;

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);

HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
Run Code Online (Sandbox Code Playgroud)

错误消息

11-02 05:23:47.843: E/AndroidRuntime(2207): FATAL EXCEPTION: main
11-02 05:23:47.843: E/AndroidRuntime(2207): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.me.countrypedia/com.me.countrypedia.MainActivity}: android.os.NetworkOnMainThreadException
11-02 05:23:47.843: E/AndroidRuntime(2207):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-02 05:23:47.843: E/AndroidRuntime(2207):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
11-02 05:23:47.843: E/AndroidRuntime(2207):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
11-02 05:23:47.843: E/AndroidRuntime(2207):     at …
Run Code Online (Sandbox Code Playgroud)

java android networkonmainthread

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

如何设置ScrollView的起始位置?

我一直试图设置滚动视图的初始位置,但没有找到方法.有没有人有任何想法?此外,我还有一个GoogleMaps片段作为滚动视图的子项.

谢谢,

瑞安

android android-scrollview

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

在 macOS Catalina(Catalyst 应用程序)上未收到静默推送通知(后台)

我目前正在执行推送通知,从我们的后端服务器,以我们的应用程序(卡特琳娜的MacOS和iOS -相同的代码库),使用苹果推送通知和(生成从keyid的,teamId,智威汤逊认证的基于令牌的方式...&在签约使用在 Apple 开发者控制台中生成的私钥)向 APN 服务发送推送。

我面临的问题是我可以成功发送“警报”通知(状态 200,带有标题apns-push-type: alert)并在我的 iOS 和 MacOS 设备上接收它们(推送通知在生产和沙盒模式下成功出现)但由于某种原因,“无声" 推送(带有 header apns-push-type: background)仅在我的 iOS 设备(iPhone)上接收,而不在我的 Mac 上接收didReceiveRemoteNotification(...)inAppDelegate从未被调用)。

到目前为止我做了什么:

  • 确保为静默推送正确配置了 APN 请求标头: apns-push-type: background
  • 确保有正确的 APN 主题标题:(apns-topic: my.bundle.id这对于沙箱/生产是不同的)
  • 添加了“半必需”优先级标头:(apns-priority: 5仅在提供后台推送时)
  • 验证创建的 JWT 是否有效并在 APN auth 标头中使用:(authorization: mytoken必须如此,否则 APN 服务将不会以状态 200 响应)
  • 确认我的应用程序具有在 Xcode 中定义的正确权利和功能(我的推理:必须是这种情况,否则“警报”推送通知也将不起作用)
  • 仔细检查是否允许/启用 Mac 应用程序的推送通知(检查系统设置)
  • 确保发送推送的设备令牌实际上来自打算接收推送的设备(例如我的 MacBook)
  • 检查我用来签署 JWT 的私钥是否具有 APN 功能
  • 在 Mac 应用程序运行但未聚焦时以及在聚焦时进行测试

我正在执行发送推送的 …

macos catalyst push-notification apple-push-notifications ios

13
推荐指数
1
解决办法
951
查看次数

如何在Fragments之间实现滑动手势?

我想在我的Android应用程序中实现我正在使用Android studio ide进行开发.不同选项卡(片段)之间的滑动.我尝试在线搜索和StackOverflow,但我不太明白.我的操作栏是经典的,适用于3.0以上的Android.如果你能给我一些建议或帮助等的例子,我将非常感激.有了这个我感谢你.

java android swipe android-fragments android-viewpager

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

MPAndroidChart图例定制

我正在使用MPAndroidChart库.我想要MPAndroidChart中的自定义图例.在MPAndroidChart库中,我试图设置图例的位置.通过给定代码legend.setPosition(LegendPosition.BELOW_CHART_CENTER)但无法执行此操作.我必须设置图例如下图所示

帮助将是欣赏 在此输入图像描述

android pie-chart mpandroidchart

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

EditText setError在BottomSheetDialog中不合适

EditText在调用时遇到错误指示器位置的问题editText.setError("...").

正如您在屏幕截图中看到的,我正在使用它BottomSheetDialogEditText内部.当我显示错误指示符时,文本完全不合适.似乎对话框"认为"它是全屏的,而实际上并非如此.

在此输入图像描述

这是我的对话框布局文件(phone_dialog.xml):

<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
                                             xmlns:app="http://schemas.android.com/apk/res-auto"
                                             android:layout_width="match_parent"
                                             android:layout_height="wrap_content"
                                             android:layout_weight="0"
                                             android:orientation="vertical">

    <TextView
        android:id="@+id/tvTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:padding="@dimen/padding_layout_normal"
        android:text="@string/dialog_title_edit_phone"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        />

    <EditText
        android:id="@+id/etPhone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:gravity="center"
        android:inputType="phone"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/tvTitle"/>


    <Button
        android:id="@+id/btnSavePhone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="0dp"
        android:layout_marginRight="0dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/etPhone"/>

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

我的Activity布局文件(activity_contacts.xml):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvContacts"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这就是我显示对话框的方式Activity:

PhoneBottomDialog dialog = new PhoneBottomDialog(Context);
dialog.show();
Run Code Online (Sandbox Code Playgroud)

这是我的PhoneBottomDialog班级:

public …
Run Code Online (Sandbox Code Playgroud)

android dialog android-layout android-edittext bottom-sheet

11
推荐指数
1
解决办法
1494
查看次数

测试Spring端点时如何防止NestedServletException?

我正在尝试测试一些受保护的端点的安全配置@PreAuthorize(#oauth2.hasScope('scope').当通过Postman使用不具有所需范围的访问令牌访问此类端点时,将返回以下HTTP状态码403(禁止):

{
    "error": "insufficient_scope",
    "error_description": "Insufficient scope for this resource",
    "scope": "scope"
}
Run Code Online (Sandbox Code Playgroud)

这是我想要的预期行为.

在尝试测试此配置时,Springs会NestedServletException干扰我的测试用例,然后才能完成预期的结果.

这是我要测试的控制器的简化版本:

@RestController
@RequestMapping(value = "/api")
public class OauthTestingResource {

    @PreAuthorize(#oauth2.hasScope('scope'))
    @RequestMapping(value = "/scope", method = RequestMethod.GET)
    public void endpoint() {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这是相应的测试用例:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MyApplication.class)
@WebAppConfiguration
public class AuthorizationTest {

    @Autowired
    protected WebApplicationContext webApplicationContext;

    protected SecurityContext securityContext = Mockito.mock(SecurityContext.class);

    @Before
    public void setup() throws Exception {

        this.mvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
        SecurityContextHolder.setContext(securityContext);
    }

    protected Authentication createMockAuth(Client …
Run Code Online (Sandbox Code Playgroud)

spring integration-testing unit-testing mockmvc

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