小编Shw*_*han的帖子

视图绑定不适用于“包含”:不兼容的类型:ProgressBarLayoutBinding 无法转换为 ViewDataBinding

安卓工作室 3.6。金丝雀 12

构建.gradle:

buildscript {
    ext.kotlin_version = '1.3.50'
    ext.RETROFIT_VERSION = '2.6.0'
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.0-alpha12'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
Run Code Online (Sandbox Code Playgroud)

在 app/build.gradle 中:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: "kotlin-kapt"

android {
    viewBinding {
        enabled = true
    }
    dataBinding {
        enabled = true
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    compileSdkVersion …
Run Code Online (Sandbox Code Playgroud)

android android-databinding android-studio-3.6 android-viewbinding

24
推荐指数
2
解决办法
7752
查看次数

Android N中的FileUriExposedException with Camera

主要活动

import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.Parcelable;
import android.provider.MediaStore;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v4.content.FileProvider;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;

import java.io.File;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MainActivity extends AppCompatActivity implements View.OnClickListener …
Run Code Online (Sandbox Code Playgroud)

android

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

如何从Android 7.0中的相机或图库中选择裁剪图像?

从图库和相机中选择裁剪图像在Android 7.0以下完成,但在Android Naught中它在相机中崩溃.我使用fileprovider但不起作用.

MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private Button mBtn;
private Context context;
private static final int SELECT_PICTURE_CAMARA = 101, SELECT_PICTURE = 201, CROP_IMAGE = 301;
private Uri outputFileUri;
String mCurrentPhotoPath;
private Uri selectedImageUri;
private File finalFile = null;
private ImageView imageView;
private PermissionUtil permissionUtil;
Uri fileUri;
File file = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mBtn = (Button) findViewById(R.id.btn_img);
    imageView = (ImageView) findViewById(R.id.img_photo);
    permissionUtil = new PermissionUtil();
    mBtn.setOnClickListener(this);
    context = this; …
Run Code Online (Sandbox Code Playgroud)

android android-gallery android-7.0-nougat

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

如何将数据从一个片段传递到以前的片段?

我要去FragmentA-> FragmentB.现在从FragmentB我想将数据传递给FragmentA.So我该怎么做?

目前我正在使用FragmentB-> FragmentA getCustomFragmentManager().popBackStack(); 但没有传递任何值.

android

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

BufferQueueProducer:[SurfaceTexture-1-12105-10]断开连接:未连接(req = 1)

连接完成后 USB 设备断开连接时应用程序崩溃。我收到以下 logcat 错误消息。我对此不太了解。

日志猫错误:

E/tflite: Can not open OpenCL library on this device - dlopen failed: library "libOpenCL.so" not found
E/tflite: Falling back to OpenGL
E/BufferQueueProducer: [SurfaceTexture-1-8293-2] disconnect: not connected (req=1)
A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x57 in tid 8884 (Thread-11), pid 8293
Run Code Online (Sandbox Code Playgroud)

如果 USB 设备未断开连接,则应用程序工作正常,但有时在 USB 设备连接和连接完成后会断开连接。

android opencv tensorflow-lite

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

我什么时候应该选择顶级 const 还是伴生对象 const?

我想知道什么时候应该使用顶级 const,什么时候应该使用伴生对象?如果财产是私人的还是公共的,我应该考虑使用什么?

const val URI = "sdfsdfsdf"
Run Code Online (Sandbox Code Playgroud)

或者我应该使用:

companion object {
    const val URI = "sdfsdfsdf"
}
Run Code Online (Sandbox Code Playgroud)

当我们处理可见性时,使用什么重要吗?

android kotlin

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

Android 模拟器 29.2.0 更新上未显示多显示器选项

最近模拟器 29.2.0 稳定版发布。这是相关文档https://androidstudio.googleblog.com/2019/09/emulator-2920-stable.html

更新后,我的模拟器没有Displays在模拟器中显示上述文档中提到的选项。

根据文档,我创建了一个模拟器Android 10 (Q)

这是屏幕截图。

在此输入图像描述

注意:无效和重新启动不起作用。已经尝试过了。

android android-emulator android-10.0

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

如何与我的适配器类中的片段进行通信

我已经创建了一个自定义适配器类.在那个类中,我有一个代码,当我点击我的listview布局时,必须向我的片段发送一条消息.谷歌搜索后,最好的方法可能是使用界面.其中大多数是活动与片段之间进行通信的示例.但就我而言,我对如何在我的适配器类与片段类之间进行通信没有任何想法.我说我在我的适配器类中创建一个接口,如:

public interface SuccessResponse{
    void onSuccess();
}
Run Code Online (Sandbox Code Playgroud)

在我的适配器类中的LinearLayout上,我希望它是这样的:

linearLayout.setOnClickListener(new View.OnClickListener{
    @Override
    public void onClick (View view){
        SuccessResponse.onSuccess();
    }
})
Run Code Online (Sandbox Code Playgroud)

然后我想确保我的片段页面获取onSuccess()方法并执行以下操作:

public class MyFragment extends ListFragment implements Adapter.SuccessResponse{
    @Override
    public void onSuccess(){
        //do Something
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做上面这样的事情?

java android android-fragments

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

源集 - Groovy -> Kotlin DSL

sourceSets {
   main {
     java.srcDirs = ['src/main/kotlin', 'src/main/java']
     res.srcDirs =
       [
          'src/main/res/layouts/activity',
          'src/main/res/layouts/fragment',
          'src/main/res/layouts/dialog',
          'src/main/res/layouts/items',
          'src/main/res/layouts/views',
          'src/main/res/layouts',
          'src/main/res'
       ]
   }
}
Run Code Online (Sandbox Code Playgroud)

对于java.srcDirs,我们将其转换为 kotlin DSL,如下所示

java.sourceSets {
    getByName("main").java.srcDirs("src/main/kotlin")
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在 gradle 中的 DSL 中更改“layout”res 文件夹代码中的子文件夹,或者不知道这是否可能?有人知道如果可能的话该怎么做?

我想用res.srcDirs = []DSL 编写,因为整个 Gradle 脚本都是用 kotlin DSL 编写的。

android kotlin gradle-kotlin-dsl

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

如何在点击推送通知时打开 Fragment

我用于传递意图的 Firebasemessagingservice 类代码:

private void showNotification(String message){
    Intent intent=new Intent(this, DrawerActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.putExtra("data", message);
    PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);

    NotificationCompat.Builder builder=new NotificationCompat.Builder(this)
            .setAutoCancel(true)
            .setContentTitle("Registry")
            .setContentText(message)
            .setSmallIcon(R.drawable.com_facebook_button_send_icon_blue)
            .setContentIntent(pendingIntent);
    NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    manager.notify(0,builder.build());
}
Run Code Online (Sandbox Code Playgroud)

我在 onCreate() 方法中的 Fragment BaseActivity 代码:

Intent notifyIntent = getIntent();
    Bundle extras = notifyIntent.getExtras();
    if (extras != null) {

       replacefragment code;

    }
Run Code Online (Sandbox Code Playgroud)

它不工作..

android android-notifications android-fragments

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

预期的catch()或返回(承诺/捕捉或返回)

我是JavaScript的新手。这是我在javascript中将第一个功能部署在firebase上的第一个功能。

得到这个错误:

 - [eslint] Unexpected function expression. (prefer-arrow-callback)
 - [eslint] Expected catch() or return (promise/catch-or-return)
Run Code Online (Sandbox Code Playgroud)

此功能有什么问题?

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.grantSignupReward = functions.database.ref('/users/{uid}/last_signin_at')
  .onCreate(event => {
  var uid = event.params.uid;

  admin.database().ref('users/${uid}/referred_by')
    .once('value').then(function(data) {
    var referred_by_somebody = data.val();

    if (referred_by_somebody) {
      var moneyRef = admin.database()
      .ref('/users/${uid}/inventory/pieces_of_eight');

      moneyRef.transaction(function(current_value) {
        return (current_value || 0) + 50;
      });
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

javascript firebase eslint google-cloud-functions

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

类型错误:无法读取未定义的属性“uid”

这是我为 firebase 编写的第一个 javascript 函数。

类型错误:无法读取未定义的属性“uid”

我在 firebase 云函数中遇到此错误。如何解决?

const functions = require('firebase-functions');
    const admin = require('firebase-admin');
    admin.initializeApp(functions.config().firebase);

    exports.grantSignupReward = functions.database.ref('/users/{uid}/last_signin_at')
      .onCreate(event => {
        const uid = event.params.uid;
        admin.database().ref(`users/${uid}/referred_by`)
          .once('value').then((data) => {
            var referred_by_somebody = data.val();
            if (referred_by_somebody) {
              var moneyRef = admin.database().ref(`/users/${uid}/earned`);
              moneyRef.transaction((current_value)=> {
                return (current_value || 0) + 10;
              });
            }
            return console.log('reddem updated')
          }).catch(error => {
            console.log("Got an error: ",error);
          });
      });
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-realtime-database google-cloud-functions

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

APP崩溃:致命异常:io.reactivex.exceptions.CompositeException

使用retrofitI调用API获取列表,但是当没有找到数据时,我正在调用onErrorGetOccasionmethod HttpException,为此,我按照代码中所示的方式进行处理。

现在我的问题有时onErrorGetOccasion是致命的

Exception: io.reactivex.exceptions.CompositeException this error and app crash.
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

//Get Occasion API
private void callGetOccasionAPI(String pageIndex, boolean isDialogShown) {

    if (NetworkUtils.isConnected()) {
        if (mPageCount == 1 && isDialogShown)
            showProgressDialog(mContext);
        RetrofitAdapter.createRetroServiceWithSessionToken(mContext)
                .getOccasion(pageIndex)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(this::onSuccessGetOccasion, this::onErrorGetOccasion);
    } else {
        SnackBarUtils.defaultSnackBar(getString(R.string.error_no_internet), mRootView);
    }
}

private void onErrorGetOccasion(Throwable throwable) {
    hideProgressDialog();
    if (throwable instanceof HttpException) {
        ResponseBody body = ((HttpException) throwable).response().errorBody();
        Utils.setLog(body != null ? body.toString() : null);
        try {
            if (body …
Run Code Online (Sandbox Code Playgroud)

android reactivex retrofit2

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