小编M D*_*D P的帖子

如何在 RecyclerView 中使用 Android 视图绑定

这不是数据绑定,这是此处描述的 Android Studio 3.6 Canary 11+ 新增的视图绑定。

对于在 Activity 中使用,很明显,您只需像这样使用它:

假设我们有一个名为的布局 activity_main.xml

然后在代码中我们可以这样使用它:

public class MainActivity extends Activity{

    ActivityMainBinding binding; //Name of the layout in camel case + "Binding"

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        setContentView(binding.getRoot());
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,不清楚如何将 View Binding 与 RecyclerView 一起使用?

编辑:请用Java解释。

java xml binding android view

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

Android onLocationChanged location.getTime()返回错误的时间

我有一个三星Galaxy Tab答:我已经实现了android.location.LocationListeneronLocationChanged(Location location)被调用,这让我有点权的经度和纬度,但是,

问题是: location.getTime()给我错误的时间,它返回的时间接近30万密耳左右.应该是这样的1471243684497.

我不知道该怎么办.

GPSTracker类:

import java.io.IOException;
import java.util.List;
import java.util.Locale;

import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.Address;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;

public class GPSTracker extends Service implements LocationListener
{
    //flag for GPS Status
    boolean isGPSEnabled = false;

    //flag for network status
    //boolean isNetworkEnabled = false;

    boolean canGetLocation = false;

    Location location;
    double latitude;
    double longitude;

    //The minimum distance to …
Run Code Online (Sandbox Code Playgroud)

android android-location android-gps

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

Ajax 调用不适用于使用 Phonegap 构建的 Android 8

我在我的服务器上设置了一个来自 Digicert 的廉价证书,但我认为它有一个中间证书。在使用 PhoneGap CLI 测试我的应用程序时

phonegap serve
Run Code Online (Sandbox Code Playgroud)

对我的服务器的 Ajax 调用正在工作。但是当 apk 建立在 PhoneGap 上时,它会卡在 ajax 调用上。如何检查是否有问题?在 Adob​​e PhoneGap 构建日志上说它构建成功。

此外,我的服务器应用程序正在侦听 4000 端口。谁能告诉我如何解决这个问题?

SSL 检查器结果

android cordova phonegap-build cordova-plugins phonegap

8
推荐指数
0
解决办法
111
查看次数

AMQPRuntimeException:读取数据时出错.收到0而不是预期的7个字节

它工作,但现在它不再工作了!

我正在使用php-amqplib和RabbitMQ.

当我尝试创建新的AMQP连接时:

$connection = new AMQPConnection('localhost', 5672, 'username', 'password');
Run Code Online (Sandbox Code Playgroud)

导致此错误的库中的代码是:

public function read($n)
{
    $res = '';
    $read = 0;

    while ($read < $n && !feof($this->sock) &&
        (false !== ($buf = fread($this->sock, $n - $read)))) {

        if ($buf === '') {
            continue;
        }

        $read += strlen($buf);
        $res .= $buf;
    }

    if (strlen($res)!=$n) {
        throw new AMQPRuntimeException("Error reading data. Received " .
            strlen($res) . " instead of expected $n bytes");
    }

    return $res;
}
Run Code Online (Sandbox Code Playgroud)

当我把它放在异常之前:

die($res." :".$n);
Run Code Online (Sandbox Code Playgroud)

结果是:

Ï :7 …
Run Code Online (Sandbox Code Playgroud)

php amqp rabbitmq

4
推荐指数
2
解决办法
5649
查看次数

使用php在mongodb中的某个时钟时间使文档过期

我的 php 中有这个代码:

    $m = new MongoClient();
    $db = $m->selectDB('authentication');
    $collection = new MongoCollection($db, 'digits');
    $document = array( 
        "username" => $_POST['username'], 
        "digits" => $_POST['digits']
        );
    $collection->insert($document);
Run Code Online (Sandbox Code Playgroud)

我希望使用 mongodb 的 ttl 功能在 2 小时后自动删除这些文件。每分钟可能有数千个文档插入,所以我不希望它们变得凌乱或有问题,我希望它们在同一个集合中被独立删除。如果您可以将代码放在 php 中,我将不胜感激。因为在其他地方他们只是直接解释了 mongodb 命令,我无法理解如何在 php 中使用它。谢谢。

编辑 1: 在“Christian P”的帮助下,我创建了 30 个文件进行测试:

    for($i=0;$i<30;$i++){
        $m = new MongoClient();
        $db = $m->selectDB('authentication');
        $collection = new MongoCollection($db, 'teeeest');
        $collection->ensureIndex(array('createdAt' => 1, 'expireAfterSeconds' => 60));
        $document = array( 
                    "username" => "4563678678", 
                    "digits" => "5958974",
                    "createdAt" => new MongoDate()
                    );
        $collection->insert($document);

        sleep(1); …
Run Code Online (Sandbox Code Playgroud)

php mongodb

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

如何在Android Studio的终端中为常用命令添加快捷字母或单词?

在 Android Studio 的终端窗口中,我过于频繁地使用某些命令,这让我很沮丧。

我每天使用一千次的命令是:

adb kill-server

adb connect 192.168.43.1

虽然 Android Studio 尚未重新启动,但当您输入这些内容后,您可以使用updown箭头键来选择它们。

但问题是我每天要重启AS或者在项目之间切换很多次。一遍又一遍地写这些命令是一件非常痛苦的事情。

所以我想为什么我们不为这些创建一个字母的快捷方式呢?!

例如,对于命令,adb connect 192.168.43.1我只想键入c并按 Enter 键。对于另一个我只想输入k.

我们怎样才能做到这一点?

terminal android command-prompt android-studio

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