小编Dav*_*ung的帖子

改造-2内容类型问题

我的Api正在接受Content-Type application/json作为标题.我按照Retrofit Docs中的说法完美地设置了Header.

@Headers("Content-Type: application/json")
@POST("user/classes")
Call<playlist> addToPlaylist(@Body PlaylistParm parm);
Run Code Online (Sandbox Code Playgroud)

但在请求日志中它返回Content-Type txt/html.那么我应该如何解决这个问题呢?这个api在POSTMAN中运行良好 在此输入图像描述

在此输入图像描述

android retrofit retrofit2

22
推荐指数
4
解决办法
6万
查看次数

无法在Android数据绑定中引用其他View ID

我刚刚观看了高级数据绑定 - Google I/O 2016,并希望应用以下内容来减少在不同视图中使用的表达式的重复.

在此输入图像描述

但我不能让它在我的情况下工作:

<ImageButton
                android:id="@+id/btn_list"
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:layout_gravity="start"
                android:background="@drawable/btn_s01_list"
                android:visibility="@{bean.shouldHideControls? View.GONE: View.VISIBLE}"/>

            <ToggleButton
                android:id="@+id/btn_radar"
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:background="@drawable/btn_radar_selector"
                android:checked="false"
                android:gravity="end"
                android:text=""
                android:textOff=""
                android:textOn=""
                android:visibility="@{btn_list.visibility}"/>
Run Code Online (Sandbox Code Playgroud)

我得到了

错误:(426,39)标识符必须具有XML文件中的用户定义类型.btn_list缺少它

编辑:

我在同一个谈话中错过了一个重要的观点...视图ID是骆驼式的.

在此输入图像描述

android android-databinding

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

FBSDKLoginManager logInWithReadPermissions?

我正在使用FBSDKLoginButton允许用户登录使用Facebook和使用 FBSDKLoginButton.readPermissions = @[@"public_profile",@"email",@"user_likes",@"email",@"user_birthday"];

要求权限,但我需要一个权限,这是我应该使用的publish_actions FBSDKLoginManager

 logInWithReadPermissions:@[@"public_profile",@"user_likes",@"user_birthday"] 
logInWithPublishPermissions:@[@"publish_actions"]
Run Code Online (Sandbox Code Playgroud)

但这由于某种原因影响了我的许可"我的一些许可是缺少检查图像

码:-

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
                [login logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
                    if (error) {
                        // Process error
                    } else if (result.isCancelled) {
                        // Handle cancellations
                    } else {
                        // If you ask for multiple permissions at once, you
                        // should check if specific permissions missing
                        if ([result.grantedPermissions containsObject:@"publish_actions"]) {
                            // Do work
                        }
                    }
                }];

[login logInWithReadPermissions:@[@"public_profile",@"",@"user_likes",@"user_birthday"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
    if …
Run Code Online (Sandbox Code Playgroud)

facebook objective-c ios facebook-ios-sdk facebook-sdk-4.0

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

gradle:仅针对特定风味应用插件

我的Android gradle目前为使用不同的推送服务设置了风味维度.(一个用于baidu推送,一个用于GCM)我想让我的Android应用程序仅导入google-servicesGCM推送构建风格.有可能吗?

PS因为为了在Android中使用GCM,我要补充的apply plugin: 'com.google.gms.google-services'线在我的应用程序/文件的build.gradle的底部详见这里.

作为一个解决方案,为了让百度味道成功建立,我可能需要google-services.json为百度放置一个假人.

更新: 我似乎在这个长github问题线程中找到答案.

android android-gradle-plugin android-build-flavors android-flavordimension

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

Facebook iOS SDK 4.x中没有FBSession

FBSession新的Facebook iOS SDK v4.x中没有更多课程.如何确定用户是否已登录?提前致谢.

objective-c ios facebook-ios-sdk

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

无法在Android Studio 3.0 Canary 1下编译

我尝试在AS 3.0 Canary 1下编译我的Android项目(它在AS 2.3.2稳定版本上运行正常)但是失败并出现以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:packageInstantRunResourcesUatGoogleDebug'.
> com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:packageInstantRunResourcesUatGoogleDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:98)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:68)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:60)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:248)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:239)
    at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:114)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:239)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:226) …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-studio-3.0

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

压缩大文件时使用ZIP64扩展的Python

我有一个压缩输出文件的脚本.问题是其中一个文件超过4Gigs.如何将我的脚本转换为使用ZIP64扩展而不是标准zip?

这是我目前如何拉链:

try:
    import zlib
    compression = zipfile.ZIP_DEFLATED
except:
    compression = zipfile.ZIP_STORED

modes = { zipfile.ZIP_DEFLATED: 'deflated',
          zipfile.ZIP_STORED:   'stored',
          } 

compressed_name = 'edw_files_' + datetime.strftime(date(), '%Y%m%d') + '.zip' 
print 'creating archive'
zf = zipfile.ZipFile('edw_files_' + datetime.strftime(date(), '%Y%m%d') + '.zip', mode='w')
try:
    zf.write(name1, compress_type=compression)
    zf.write(name2, compress_type=compression)
    zf.write(name3, compress_type=compression)
finally:
    print 'closing'
    zf.close()
Run Code Online (Sandbox Code Playgroud)

谢谢!法案

python zip zlib zipfile

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

无法使用SSZipArchive在iOS9中解压缩大型zip文件(3.3GB)

作为标题,我使用python zipfile模块从我的Django后端服务器(托管在Ubuntu 14.04.1 LTS上)创建zip文件:

zipfile.ZipFile(dest_path, mode='w', compression=zipfile.ZIP_DEFLATED, 
                allowZip64=True)
Run Code Online (Sandbox Code Playgroud)

我设法在Finder中使用我的Mac打开它,但是使用SSZipArchive库没有成功.我尝试使用最新的master分支提交,也标记了v1.0.1和v0.4.0.

使用v0.4.0,我在unzip.c的第1506行遇到错误:

    if (unz64local_CheckCurrentFileCoherencyHeader(s,
                                                   &iSizeVar, 
                                                   &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK)
        return UNZ_BADZIPFILE;
Run Code Online (Sandbox Code Playgroud)

并且它每次都使用相同的文件解压缩在同一个文件上currentFileNumber.

有没有人得到任何线索?

PS我认为SSZipArchive应该支持Zip64存档文件,因为我在他们的github repo上问了一个问题.

更新 [20160129]我对zip文件执行了zipinfo检查,并输出以下内容:

...
-rw-r--r--  2.0 unx     1992 b- defN 26-Nov-15 14:59 <file_name>
-rw-r--r--  2.0 unx      925 b- defN 26-Nov-15 14:59 <file_name>
-rw-r--r--  2.0 unx     1194 b- defN 26-Nov-15 14:59 <file_name>
-rw-r--r--  2.0 unx       72 b- defN 26-Nov-15 14:52 <file_name>
-rw-r--r--  2.0 unx      289 b- defN 18-Jan-16 11:27 <file_name>
-rw-r--r--  2.0 unx     1541 b- defN …
Run Code Online (Sandbox Code Playgroud)

python zip unzip zipfile ios

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

改造2:如何针对特定请求设置个别超时?

我通过这样做在我的Retrofit适配器中设置了一个全局超时

OkHttpClient okHttpClient = new OkHttpClient();
okHttpClient.setReadTimeout(20, TimeUnit.SECONDS);
okHttpClient.setConnectTimeout(20, TimeUnit.SECONDS);

retrofit = new Retrofit.Builder()
.client(okHttpClient)
.build();
Run Code Online (Sandbox Code Playgroud)

大!但是我想为某些请求设置特定的超时时间

public interface MyAPI {

    @GET()
    Call<Void> notImportant (@Url String url);

    @GET
    Call<Void> veryImportant(@Url String url);
Run Code Online (Sandbox Code Playgroud)

所以veryImportant调用我想要超时35秒,但notImportant默认

这可能吗?

我的研究结果不尽如人意.

我遇到过这个,但不确定它是否适用于Retrofit

https://github.com/square/okhttp/wiki/Recipes#per-call-configuration

谢谢你的阅读.请帮忙.

android retrofit okhttp retrofit2 okhttp3

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

与模拟器和Web相比,改进了真实Android设备中更慢的响应时间

我正在从Android设备进行一个RESTful API调用以填充列表视图.

我使用swagger codegen来生成我的改造客户端.

Dagger 2用于依赖注入

设备:华硕Zenfone 5

我试图从邮递员,网络和模拟器(genymotion)拨打电话,与真实设备相比,它要快得多.

有趣的是,每当我重新启动手机两到三次请求时,响应时间是正常的,之后变慢.

我在okHTTP中阅读了一些关于gzip压缩的博客并尝试实现但没有效果.

如果有人可以帮助我找出问题,那将会非常有帮助.

android retrofit okhttp dagger-2 retrofit2

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