安卓工作室 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
主要活动
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 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) 我要去FragmentA-> FragmentB.现在从FragmentB我想将数据传递给FragmentA.So我该怎么做?
目前我正在使用FragmentB-> FragmentA getCustomFragmentManager().popBackStack();
但没有传递任何值.
连接完成后 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 设备连接和连接完成后会断开连接。
我想知道什么时候应该使用顶级 const,什么时候应该使用伴生对象?如果财产是私人的还是公共的,我应该考虑使用什么?
const val URI = "sdfsdfsdf"
Run Code Online (Sandbox Code Playgroud)
或者我应该使用:
companion object {
const val URI = "sdfsdfsdf"
}
Run Code Online (Sandbox Code Playgroud)
当我们处理可见性时,使用什么重要吗?
最近模拟器 29.2.0 稳定版发布。这是相关文档https://androidstudio.googleblog.com/2019/09/emulator-2920-stable.html。
更新后,我的模拟器没有Displays在模拟器中显示上述文档中提到的选项。
根据文档,我创建了一个模拟器Android 10 (Q)。
这是屏幕截图。
注意:无效和重新启动不起作用。已经尝试过了。
我已经创建了一个自定义适配器类.在那个类中,我有一个代码,当我点击我的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)
有没有办法做上面这样的事情?
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 编写的。
我用于传递意图的 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)
它不工作..
我是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) 这是我为 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
使用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 ×11
firebase ×2
javascript ×2
kotlin ×2
android-10.0 ×1
eslint ×1
java ×1
opencv ×1
reactivex ×1
retrofit2 ×1