我尝试使用Retrofit 2登录我的用户.(基本上是使用基本标题对登录URL进行GET)它运行良好但是一旦我ProGuard它,标题授权就不再发送了.(见日志输出)
示例代码:
用户模型:
public interface UserService {
@GET(GET_LOGIN)
Observable<User> login(@Header("Authorization") String basic);
}
Run Code Online (Sandbox Code Playgroud)
登录活动:
public void onClick(View v) {
mRetrofit.create(UserService.class)
.login(Credentials.basic(email, password))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(user -> {
UserHelper.save(LoginActivity.this, user);
}, throwable -> Dog.d);
}
Run Code Online (Sandbox Code Playgroud)
Proguard文件:
# Retrofit
-dontwarn retrofit2.**
-dontwarn org.codehaus.mojo.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepattributes *Annotation*
-keepclasseswithmembers class * {
@retrofit.* <methods>;
}
-keepclasseswithmembers interface * {
@retrofit.* <methods>;
}
Run Code Online (Sandbox Code Playgroud)
日志(proguard):
D/OkHttp: --> GET http://passport-supercairos.rhcloud.com/users/login HTTP/1.1
D/OkHttp: User-Agent: VirtualPassport-Client {Android-23} {Aquaris_E5}
D/OkHttp: …
Run Code Online (Sandbox Code Playgroud) 我对最新的Android Studio(预览4)有问题,并使用Jack进行编译.
我收到此错误:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithPreJackPackagedLibrariesForDebug'.
> com/android/jack/api/v03/Api03Config
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?
我的gradle文件:http://pastie.org/private/ieb3wbkxhr1zbk0xr5dssw
来自Gradle的Stacktrace:http://pastie.org/private/agjsdikwk23zmaz2qz6xw
计算机运行WIN10是最新的,这个错误与我的防病毒无关,因为它可以在这里提到:https://code.google.com/p/android/issues/detail? id = 211132 (我不喜欢无论如何都没有:))
在Android Bug Tracker中发布为错误:
https://code.google.com/p/android/issues/detail?id=214156
请明星:)
我正在构建一个带有定时事件的Android应用程序,我不确定应该使用什么布局来构建我的时间轴.
事件可以有不同的高度,当用户点击它们但它们具有相同的宽度时可以增长;
.
.
.
------------- |
| Event 4 > | --------------
------------- | < Event 7 |
| | |
| --------------
.
.
.
Run Code Online (Sandbox Code Playgroud)
我有两种视图类型:
EventView
女巫持有事件信息并卓尔他的大纲TimeBarView
巫婆是中间的酒吧(有一些属性,并在很长的跨度上延伸我如何放置我的物品,以便尊重我的时间线上的时间(例如1周可能是10px)
任何帮助表示赞赏.谢谢 !
我正在使用RxJava 2
& Retrofit 2
(https://github.com/JakeWharton/retrofit2-rxjava2-adapter),我想知道如何处理无响应(204)类型。在 rxjava1 中,我正在使用Observable<Void>
,但 rxjava2 不再允许它(https://github.com/ReactiveX/RxJava/wiki/What's- Different-in-2.0 -> Nulls )
现在,我已经绕过自定义类型(我称之为 NoContent)的 Json 解析,但我想知道是否有更好的方法。
编辑:
public class NoContent {
public static class GsonTypeAdapter extends TypeAdapter<NoContent> {
@Override
public void write(JsonWriter out, NoContent value) throws IOException {
out.nullValue();
}
@Override
public NoContent read(JsonReader in) throws IOException {
return new NoContent();
}
}
}
Run Code Online (Sandbox Code Playgroud)