首先,我已经阅读了很多关于我的问题的问题,但是它从来没有给我解决方案。以下是一些有关我的问题的阅读问题。
我也阅读了有关我的问题的这篇文章,但它也从未为我提供解决方案。
问题:
我在Web服务应用程序中使用Okhhtp3库。它工作正常,但是当互联网连接速度慢或连接不可靠时,它就卡住了,永远不会超时,也永远不会调用超时异常或失败方法。
这是客户端代码:
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(20, TimeUnit.SECONDS)
.writeTimeout(20, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.retryOnConnectionFailure(false)
.build();
Run Code Online (Sandbox Code Playgroud)
20秒后如何获得超时异常或称为故障方法?
请帮我。谢谢
我对这个环境很陌生。我来自原生 iOS 背景。
通过使用此https://blog.gouline.net/code-coverage-on-android-with-jacoco-92ec90c9355e,我成功地JACOCO为我的 android 项目(仅限应用程序模块)中的单元测试类生成了测试报告。
我正在做的是:
jacoco.gradle在主项目中创建文件。'../jacoco.gradle'在app/build.gradle文件中在app/build.gradle文件中添加了以下代码
android {
...
buildTypes {
debug {
testCoverageEnabled = true
}
...
}
...
}
Run Code Online (Sandbox Code Playgroud)在 Android Studio 中打开一个终端并运行如下命令
**gradlew tasks**
Run Code Online (Sandbox Code Playgroud)要生成报告,请运行命令
**gradlew testBlueDebugUnitTestCoverage**
Run Code Online (Sandbox Code Playgroud)最后我在这条路径上找到了我的报告: \app\build\reports\tests\testTabletDebugUnitTest
通过使用这个http://vgaidarji.me/blog/2017/12/20/how-to-configure-jacoco-for-kotlin-and-java-project/我已经成功地为 Espresso 和 Coverage 生成了 jacoco 报告测试类(UI 和单元测试),该项目还包括 java 和 kotlin 类。
现在我的问题是:我想jacoco从我的应用程序中的所有其他模块中生成特定模块的测试报告。
系统信息:
Windows 10,
Android Studio 3.3.1,
Kotlin: ext.kotlin_version = '1.3.21'
Gradle:gradle:3.4.0-alpha01.
Run Code Online (Sandbox Code Playgroud) code-coverage jacoco android-studio test-reporting android-gradle-plugin
我想使用我的Android应用程序实时从我的mi band 2请求传感器数据。我对此有些困难。我使用权限BLUETOOTH和BLUETOOTH_ADMIN。我检查了是否可以通过Bluetooth le默认API看到我的设备。我正在尝试使用此示例https://developers.google.com/fit/android/ble-sensors?hl=ru,而且每次我都处于onScanStopped且此回调没有任何解释时,所以我没有了解失败的原因。我的代码:
GoogleApiClient client = new GoogleApiClient.Builder(this)
.addApi(Fitness.SENSORS_API)
.addScope(new Scope(Scopes.FITNESS_ACTIVITY_READ))
.addScope(new Scope(Scopes.FITNESS_BODY_READ))
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
client.connect();
Run Code Online (Sandbox Code Playgroud)
在onConnected上,我有:
Fitness.getBleClient(this, GoogleSignIn.getLastSignedInAccount(this))
.startBleScan(Arrays.asList(DataType.TYPE_ACTIVITY_SEGMENT), 60, bleScanCallbacks)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Log.d("TAG_F", "onComplete: " + task.isSuccessful());
}
});
Run Code Online (Sandbox Code Playgroud)
在这里,我还尝试了所有这些数据类型 DataType.TYPE_STEP_COUNT_DELTA, DataType.TYPE_HEART_RATE_BPM
这表明我的扫描成功。但是在60秒后进行回调时,我得到onScanStopped:
private BleScanCallback bleScanCallbacks = new BleScanCallback() {
@Override
public void onDeviceFound(BleDevice bleDevice) {
Log.d("TAG_F", "onDeviceFound: " + bleDevice.getDataTypes());
}
@Override
public void onScanStopped() {
Log.d("TAG_F", "onScanStopped: "); …Run Code Online (Sandbox Code Playgroud) 我一直以为WhatsApp使用c2dm进行邮件传递。但是,当我看到正在运行的应用程序时,MessageService始终在运行。您不需要运行服务即可接收c2dm。
为什么要始终保持服务运行?
Facebook更加奇怪,他们有3种服务正在运行。其中之一是用于上传。他们开始偷我的照片了吗?
我设法在我的应用程序中添加了 facebook 登录和 google 登录,但我想我可能做错了什么。在我开始添加登录之前,我之前做了一个用户意图的启动活动,因为我是一个新手,所以我在某个地方搞砸了,并且已经挣扎了 2 天知道。每当我尝试执行 react-native run-android 时,项目都会成功构建,但模拟器不会自动打开应用程序,因为我收到“正在启动:
Intent { cmp=com.happyo/.MainActivity }
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.happyo/.MainActivity } from null (pid=4430, uid=2000) not exported from uid 10085".
Run Code Online (Sandbox Code Playgroud)
请我绝望我不知道如何解决它,在此先感谢!
这是我的 AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.happyo"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="22" />
<application
android:name=".MainApplication"
android:allowBackup="true"
android:label="@string/app_name"
android:exported="true"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="{myappkey}"/>
<activity
android:name=".SplashActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter> …Run Code Online (Sandbox Code Playgroud) 我使用媒体录音机库录制语音通话,它在几乎Android版本中运行良好,除了android Oreo 8.0 API级别27.当我使用音频源VOICE_CALL我得到运行时异常启动失败,当我使用音频源VOICE_COMMUNICATION我没有得到对方的声音我只有我的声音.
// recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
recorder.setAudioSource(AudioSource);
recorder.setOutputFormat(AudioFormate);
recorder.setAudioEncoder(AudioEncoding);
recorder.setOutputFile(down);
recorder.start();
Run Code Online (Sandbox Code Playgroud)
能否请你帮忙
是否可以获取我在 android 中收到的短信的手机号码?我们正在尝试通过发送 SMS 并从运营商处获取来验证用户的手机号码,但接下来的步骤涉及通过读取 SMS 进行验证。我们面临的问题是,如果我从任何其他移动设备发送相同的消息,则无法验证原始 SMS 号码。它盲目地读取短信。
我正在尝试使用LocalDateTime.parse该方法解析日期,但是我遇到了以下错误。如果我使用SimpleDateFormat简单的日期格式对象,则日期字符串将被解析。
有没有人遇到这个问题!从DateFormat和解析之间有什么区别LocalDateTime
package com.example.demo;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class App {
public static final String DATE_TIME_PATTERN = "dd-MM-yyyy hh:mm:ss.SSS";
public static final DateFormat DATE_TIME_FORMAT = new SimpleDateFormat(DATE_TIME_PATTERN);
public static final String SEPERATOR = ",";
public static void main(String[] args) {
try {
Date date = DATE_TIME_FORMAT.parse("12-03-2019 10:28:50.013");
System.out.println("date : {} " + date);
LocalDateTime startTimestamp = LocalDateTime.parse("12-03-2019 10:28:50.013", DateTimeFormatter.ofPattern(DATE_TIME_PATTERN)).plusNanos(1000000);
System.out.println("startTimestamp : {} " + startTimestamp);
} …Run Code Online (Sandbox Code Playgroud) 只要我使用具有两个字段的数据模型,它就可以正常工作。
但是当我尝试使用 kotlin 时。Pair 无法构建并给出 nit 信息错误:
....\DataBinderMapperImpl.java:20: error: cannot find symbol
import .....databinding.ItemCurrencyBindingImpl;
symbol: class ItemCurrencyBindingImpl
location: package ......databinding
Run Code Online (Sandbox Code Playgroud)
xml代码:
<variable
name="currency"
type="kotlin.Pair"/>
</data>
<TextView
android:layout_width="@dimen/currency_dropdown_width"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center|start"
android:padding="@dimen/currency_dropdown_padding"
android:text="@{currency.first}"
app:drawableEnd="@{currency.second}"
app:drawableSize="@{@dimen/currency_dropdown_image_size}"
tools:text="@string/pound"/></layout>
Run Code Online (Sandbox Code Playgroud) 我正在使用 Recyclerview 和 PageSnapHelper 创建图像轮播。
第一个项目不居中,后续项目应该居中,我使用项目装饰器实现了这一点。RecyclerView 位于嵌套滚动视图中。
问题: 滚动不流畅,我覆盖了 findTargetSnapPosition,它在第一次滚动时滚动了 2 个项目。
override fun findTargetSnapPosition(layoutManager: RecyclerView.LayoutManager, velocityX: Int, velocityY: Int): Int {
if (layoutManager !is RecyclerView.SmoothScroller.ScrollVectorProvider) {
return RecyclerView.NO_POSITION
}
val currentView = findSnapView(layoutManager) ?: return RecyclerView.NO_POSITION
val layoutManager = layoutManager as LinearLayoutManager
val position1 = layoutManager.findFirstVisibleItemPosition()
val position2 = layoutManager.findLastVisibleItemPosition()
var currentPosition = layoutManager.getPosition(currentView)
if (velocityX > 500) {
currentPosition = position2
} else if (velocityX < 500) {
currentPosition = position1
}
return if (currentPosition …Run Code Online (Sandbox Code Playgroud)