小编A.A*_*omi的帖子

是否可以从Android谷歌地图中删除默认兴趣点

我正在开发一个Android应用程序,将显示兴趣点谷歌地图,我有自己的来源,所以我试图删除谷歌地图显示的默认兴趣点(如商场,巴士站......).我已经搜索了文档的解决方案,并且没有成功有没有办法在Android上做到这一点?

看看谷歌提供的蓝色巴士站

看看谷歌提供的蓝色巴士站

android google-maps

25
推荐指数
2
解决办法
4447
查看次数

Android:我可以在不将用户重定向到设置屏幕的情况下启用GPS,就像在"谷歌地图"应用中一样

在基于GPS的应用中,重要的是用户启用他的GPS.如果没有,那么通常我们会显示一个对话框,说明用户" 应该从设置启用他的GPS以便能够使用此功能 ".

当用户按下OK时,他将被重定向到Settings页面,我不喜欢这个解决方案,因为它将用户从应用程序上下文中带到了设置中.

我注意到"谷歌地图"应用程序有一个更好的解决方案,即在需要GPS功能时显示一个整洁的对话框.一旦用户选择"OK" GPS将被启用直接没有任何转向的设置.

我可以在不将用户重定向到设置屏幕的情况下启用GPS,就像在"谷歌地图"应用程序中一样吗?

看看下面的图片:

整洁的对话

android android-settings android-gps

15
推荐指数
1
解决办法
9685
查看次数

可以使用MQTT来实现请求/响应行为

我们计划使用MQTT将消息从我们的服务器传递到我们决定使用开源服务器mosquitto的Android设备.

在大多数情况下,这就足够了.(发布/订阅)但我们有一种情况,客户端需要发送参数并从服务器获得响应.我知道直接的方法是使用Http(例如Servlets).但我们能否使用MQTT实现这一目标,因为它意味着用户的带宽消耗更低?

android http mqtt

8
推荐指数
3
解决办法
7570
查看次数

MQTT清洁会议

假设我使用“ clean session = false”连接到代理并开始接收事件,理想情况下,在断开连接的情况下,我的应用程序仍将在连接时接收数据。但是,如果应用程序崩溃了,我想重新开始并清除会话。

我可以在MQTT代理上清除会话并重新开始吗?

从文档中得出的结论是,如果要这样做,则需要执行以下操作:

  1. 申请开始

  2. 使用“ clean session = true”进行连接// //这将导致任何当前会话及其数据被删除

  3. 与会话相关的所有内容都将从服务器中清除

  4. 断开

  5. 使用“ clean session = false”进行连接并开始获取数据。

我从http://www.hivemq.com/blog/mqtt-essentials-part-3-client-broker-connection- Establishment建立想法

“如果将干净会话设置为true,则代理将不会为客户端存储任何内容,还将清除以前的持久会话中的所有信息。”

这是清除上一个会话的正确方法吗?

mqtt

6
推荐指数
1
解决办法
5276
查看次数

如何在Android约束布局中使recyclerView占据屏幕的一半(最大)?

我有一个包含2个视图的屏幕,一个map(顶部)和一个recycler(底部)。规则很简单。

回收者视图可以扩展到屏幕中间,如果需要更多空间,则应滚动查看,地图将占据其余空间。地图的空间..

我正在尝试使用约束布局来实现这一目标,同时也试图避免涉及计算的解决方案。

查看下面的图片,以获取有关我要实现的目标的更多信息: 在此处输入图片说明

这是我的代码

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    tools:context="com.qmic.itraffic.ui.activities.crowdsourcing.CrowdSourceReportingDetailsActivity">

    <androidx.constraintlayout.widget.Guideline
        android:id="@+id/halfScreenGuideline"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        app:layout_constraintGuide_percent="0.5" />

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toTopOf="@+id/categories"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        android:background="@color/manatee"
        />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/categories"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        android:clipToPadding="false"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/halfScreenGuideline" />



</androidx.constraintlayout.widget.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

我的问题是我可以仅使用xml(约束布局)来实现此行为吗?还是我需要进行计算?

android android-constraintlayout

6
推荐指数
1
解决办法
84
查看次数

Android Gradle 为什么我们需要“allprojects”?

当我尝试将 Gson 添加到我现有的 Android gradle 项目时遇到了一个问题。

例外是这样的

“无法解析:com.google.code.gson:gson:2.3.1”

我的 build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}


apply plugin: 'android'

dependencies {
    compile 'com.google.code.gson:gson:2.3.1'
.
.
Run Code Online (Sandbox Code Playgroud)

经过一些搜索和反复试验,我发现您需要添加以下内容来解决问题:

allprojects {
    repositories {
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么我们需要两次引用 jcenter,为什么“allprojects”对解决这个问题很重要?

android gradle android-gradle-plugin

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

以快速奇怪的行为为变量赋值

我有以下简单的代码段:

func swapper(var arr: [Int]) {
    let first: Int = arr[0]
    let last: Int  = arr[arr.count - 1]
    arr[0] = last
    arr[arr.count - 1] = first
    arr
}
var myFunctionPointer : ([Int]) -> () = swapper
Run Code Online (Sandbox Code Playgroud)

它运行良好但是当我尝试将inout添加 到方法的参数的签名时,我无法将其分配给变量外部,如下所示.

func swapper(inout  arr: [Int]){
    let first: Int = arr[0]
    let last: Int  = arr[arr.count - 1]
    arr[0] = last
    arr[arr.count - 1] = first
    arr
}
var myFunctionPointer: ([Int]) -> () = swapper // This failed [int] is not subtype …
Run Code Online (Sandbox Code Playgroud)

swift swift-playground

4
推荐指数
1
解决办法
6159
查看次数

在eclipse中有一个生成资源的快捷方式(构造函数,获取/设置.....)

目前在eclipse中,如果我想生成一个构造函数或getter/setter我去类名右键单击 - > source->访问正确的Generation选项

日食

虽然在Android工作室我们有一个方便快捷的快捷方式,我只需要按下CMD+N页面中的任何地方打开生成对话框

安卓工作室

是否有可用的日食快捷方式?

java eclipse android android-studio

4
推荐指数
1
解决办法
1325
查看次数

java StringTokenizer意外结果

我有以下代码将标记字符串以创建对象列表:

import java.util.StringTokenizer;


public class TestStringTokenizer {
    private final static String INTERNAL_DELIMETER = "#,#";
    private final static String EXTERNAL_DELIMETER = "#|#";
    public static void main(String[]aregs){
        String test= "1#,#Jon#,#176#|#2#,#Jack#,#200#|#3#,#Jimmy#,#160";
        StringTokenizer tokenizer = new StringTokenizer(test, EXTERNAL_DELIMETER);
        while(tokenizer.hasMoreElements()){
            System.out.println(tokenizer.nextElement());
            //later will take this token and extract elements
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我期望的输出是
1#,#Jon#,#176
2#,#Jack#,#200
3#,#Jimmy#,#160

我得到的是:1
,
乔恩
,
176
2
,
杰克
,
200
3
,
吉米
,
160

如果我将内部分隔符改为某些东西,它会正常工作为什么会发生这种情况?

java stringtokenizer

2
推荐指数
1
解决办法
109
查看次数

在swift中将字典添加到字典中

根据这个页面,可以将一个完整的字典添加到另一个 http://code.tutsplus.com/tutorials/an-introduction-to-swift-part-1--cms-21389

但运行代码给了我编译错误

var dictionary = ["cat": 2,"dog":4,"snake":8]; // mutable dictionary
dictionary["lion"] = 7; // add element to dictionary
dictionary += ["bear":1,"mouse":6]; // add dictionary to dictionary
Run Code Online (Sandbox Code Playgroud)

错误:

[string: Int] is not identical to UInt8
Run Code Online (Sandbox Code Playgroud)

是否有正确的方法在swift中执行此功能?我应该逐一添加它们?

dictionary ios swift

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