小编Sub*_*abu的帖子

约束布局lib更新从1.0.2到1.1.0出错(Guideline.getAnchor)

我目前使用以下lib的约束布局

implementation 'com.android.support.constraint:constraint-layout:1.0.2'

通过android studio中的更新警告,我将此更新为

implementation 'com.android.support.constraint:constraint-layout:1.1.0'

之后每当我尝试构建或运行项目时,我都会遇到以下问题(请参阅堆栈跟踪)

java.lang.AssertionError: TOP
    at android.support.constraint.solver.widgets.Guideline.getAnchor(Guideline.java:159)
    at android.support.constraint.solver.widgets.ConstraintWidget.immediateConnect(ConstraintWidget.java:1579)
    at android.support.constraint.ConstraintLayout.setChildrenConstraints(ConstraintLayout.java:1012)
    at android.support.constraint.ConstraintLayout.updateHierarchy(ConstraintLayout.java:793)
    at android.support.constraint.ConstraintLayout.onMeasure(ConstraintLayout.java:1540)
    at android.view.View.measure(View.java:18804)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at android.view.View.measure(View.java:18804)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
    at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465)
    at android.widget.LinearLayout.measureVertical(LinearLayout.java:748)
    at android.widget.LinearLayout.onMeasure(LinearLayout.java:630)
    at android.view.View.measure(View.java:18804)
    at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5954)
    at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
    at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643)
    at android.view.View.measure(View.java:18804)
    at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2112)
    at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1228)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1464)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1119)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6060)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
    at android.view.Choreographer.doCallbacks(Choreographer.java:670)
    at android.view.Choreographer.doFrame(Choreographer.java:606)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
    at android.os.Handler.handleCallback(Handler.java:746)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5443)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Run Code Online (Sandbox Code Playgroud)

也遇到了崩溃问题, …

android android-constraintlayout

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

API Callback_URL 无效调用

我刚刚开始在 Android 上使用 Strava API。为了使用它,我首先需要成功设置 OAuth2。为此,我选择使用 Scribe 库,因为我在之前的实现中使用过它。

身份验证发生在 MainActivity 的 onCreate() 方法中。测试应用程序使用 MainActivity 旁边的两个类。StravaOAuth20ServiceImpl 用于配置令牌的 API 请求和撤销令牌。StravaOAuth2Api 包含 API 的端点。这些看起来不错。

我没有从回调中得到代码。这就是我被困住的地方。为了发挥作用,需要在 Strava、Android Manifest 和 API EndPoint 调用的开发人员设置中正确设置回调。

我目前正在开发模式下工作。网站上注明“localhost127.0.0.1已列入白名单”,所以我在我的callback_url 中使用了这些。对于这两者,我得到以下 JSON 作为响应:

{
"message": "Bad Request",
"errors": [
{
"resource": "Application",
"field": "redirect_uri",
"code": "invalid"
}
]
}
Run Code Online (Sandbox Code Playgroud)

所以这两个调用都是无效的。

- https://www.strava.com/oauth/authorize?response_type=code&client_id=25016&redirect_uri=127.0.0.1

- https://www.strava.com/oauth/authorize?response_type=code&client_id=25016&redirect_uri=localhost
Run Code Online (Sandbox Code Playgroud)

一个相关的问题是关于callback_url 的形式。我对 FitBit 做了同样的事情,并使用了“ http://callback_myapplication ”形式的回调。为此,我必须在 Android 清单中设置“主机”和“方案”(请参阅​​下面的代码)。当我尝试在应用程序设置中执行此操作时,收到一条错误消息“字段必须是域,没有//”(请参阅​​下面的打印屏幕)。这是我第一次看到这个。那么是没有“scheme”的回调吗?

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <action android:name="android.intent.action.VIEW"/>
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.DEFAULT"/>
        <category …
Run Code Online (Sandbox Code Playgroud)

android web-services callback oauth-2.0

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

无法解析符号default_web_client_id GoogleSignInOptions Android Firebase

我的项目在过去的六个月里运行良好,并且在app商店中运行.对于更新,我重新打开项目,显示default_web_client未解析以下代码段

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestIdToken(getString(R.string.default_web_client_id))
                .requestEmail()
                .build();
Run Code Online (Sandbox Code Playgroud)

我尝试以下方法,

1.清洁和重建

2.清除缓存并重新启动

3.设置getString(R.string.default_web_client_id)为空字符串并运行项目以生成

app/build/generated/res/google-services/{build_type}/values/values.xml
Run Code Online (Sandbox Code Playgroud)

文件作为链接的指令

4.用空格替换空字符串 getString(R.string.default_web_client_id)

现在我能够运行项目并且还能够进行发布构建.但仍然无法解析符号default_web_client_id.

任何更新都会有所帮助......

注意:直接添加oauth_client->client_id会出错

W/GoogleActivity: Google sign in failed
    com.google.android.gms.common.api.ApiException: 12500: 
        at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source) 
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-authentication google-signin

4
推荐指数
3
解决办法
2065
查看次数

使用 Json 数据改造 POST 方法得到错误代码 400:错误请求

我想使用 JSON 数据(提供 JSON 作为 JsonObject)在 Retrofit 中调用 POST 方法(Magento REST API)。为此,我从邮递员那里打电话给我,对我来说工作正常。

邮差

我已经完成了 android 部分如下,

API接口

public interface APIService {

@POST("seq/restapi/checkpassword")
@Headers({
        "Content-Type: application/json;charset=utf-8",
        "Accept: application/json;charset=utf-8",
        "Cache-Control: max-age=640000"
})
Call<Post> savePost(
        @Body JSONObject jsonObject
);}
Run Code Online (Sandbox Code Playgroud)

APIUtility 类为

public class ApiUtils {

private ApiUtils() {
}

public static final String BASE_URL = "http://xx.xxxx.xxx.xxx/api/rest/";
public static APIService getAPIService() {

    return RetrofitClient.getClient(BASE_URL).create(APIService.class);
}
Run Code Online (Sandbox Code Playgroud)

}

RetrofitClient 类为

private static Retrofit retrofit = null;

public static Retrofit getClient(String baseUrl) {
    if (retrofit==null) {
        retrofit = …
Run Code Online (Sandbox Code Playgroud)

post android bad-request magento retrofit2

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

Auth 1.0 oauth_signature 创建Android for magento API

我使用以下身份验证作为标题调用 Magento API,

auth = "OAuth oauth_consumer_key=**********************,oauth_consumer_secret=****************,oauth_token=************,oauth_token_secret=**************,oauth_signature_method=HMAC-SHA1,oauth_timestamp=" + ConstantFunctions.GetTimeStamp() + ",oauth_nonce=" + ConstantFunctions.GetNonce() + ",oauth_signature=*******************) ;
Run Code Online (Sandbox Code Playgroud)

当我调用 API 时,获取错误oauth_problem=signature_invalid。所有其他参数验证成功但签名中出现错误,我尝试使用以下代码生成签名,

     public static String GETHMACSHA1(String value, String key)
            throws UnsupportedEncodingException, NoSuchAlgorithmException,
            InvalidKeyException {
        String type = "HmacSHA1";
        SecretKeySpec secret = new SecretKeySpec(key.getBytes(), type);
        Mac mac = Mac.getInstance(type);
        mac.init(secret);
        byte[] bytes = mac.doFinal(value.getBytes());
        return bytesToHex(bytes);
    }

    private final static char[] hexArray = "0123456789abcdef".toCharArray();

    private static String bytesToHex(byte[] bytes) {
        char[] hexChars = new char[bytes.length * 2];
        int v;
        for (int j …
Run Code Online (Sandbox Code Playgroud)

rest android authorization retrofit magento-1.9

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

如何在android中创建s曲线布局

如何创建布局或视图,如附加图像、可用于 ImageView、Slider 等的形状。

android curve android-layout android-xml androiddesignsupport

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

为 keyclock authService.performTokenRequest() 函数执行 doInBackground() 时发生错误

在集成Keyclock SDK时,我尝试交换授权码来访问令牌

authService.performTokenRequest(
resp.createTokenExchangeRequest(),
new AuthorizationService.TokenResponseCallback() {
  @Override public void onTokenRequestCompleted(
        TokenResponse resp, AuthorizationException ex) {
      if (resp != null) {
        // exchange succeeded
      } else {
        // authorization failed, check ex for more details
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,

  java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$3.done(AsyncTask.java:354)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
    at java.util.concurrent.FutureTask.run(FutureTask.java:271)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)
 Caused by: java.lang.IllegalArgumentException: only https connections are permitted
    at net.openid.appauth.Preconditions.checkArgument(Preconditions.java:116)
    at net.openid.appauth.connectivity.DefaultConnectionBuilder.openConnection(DefaultConnectionBuilder.java:51)
    at net.openid.appauth.AuthorizationService$TokenRequestTask.doInBackground(AuthorizationService.java:418)
    at net.openid.appauth.AuthorizationService$TokenRequestTask.doInBackground(AuthorizationService.java:395) …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask android-backup-service keycloak appauth

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