我目前使用以下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 上使用 Strava API。为了使用它,我首先需要成功设置 OAuth2。为此,我选择使用 Scribe 库,因为我在之前的实现中使用过它。
身份验证发生在 MainActivity 的 onCreate() 方法中。测试应用程序使用 MainActivity 旁边的两个类。StravaOAuth20ServiceImpl 用于配置令牌的 API 请求和撤销令牌。StravaOAuth2Api 包含 API 的端点。这些看起来不错。
我没有从回调中得到代码。这就是我被困住的地方。为了发挥作用,需要在 Strava、Android Manifest 和 API EndPoint 调用的开发人员设置中正确设置回调。
我目前正在开发模式下工作。网站上注明“localhost和127.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) 我的项目在过去的六个月里运行良好,并且在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) 我想使用 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) 我使用以下身份验证作为标题调用 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) 如何创建布局或视图,如附加图像、可用于 ImageView、Slider 等的形状。
android curve android-layout android-xml androiddesignsupport
在集成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
android ×7
android-xml ×1
appauth ×1
bad-request ×1
callback ×1
curve ×1
firebase ×1
keycloak ×1
magento ×1
magento-1.9 ×1
oauth-2.0 ×1
post ×1
rest ×1
retrofit ×1
retrofit2 ×1
web-services ×1