小编use*_*930的帖子

如何设置OkHttpClient进行滑行

我正在使用Glide加载图像,我面临的问题是,当我在慢速互联网连接上运行应用程序时,我得到了SocketTimeOutException.所以要解决这个问题,我想使用自定义,OkHttpClient以便我可以更改HttpClient的超时,这是我的代码.

public class MyGlideModule  implements GlideModule {
    @Override
    public void applyOptions(Context context, GlideBuilder builder) {

    }

    @Override
    public void registerComponents(Context context, Glide glide) {
        OkHttpClient client = new OkHttpClient();
        client.setConnectTimeout(15, TimeUnit.SECONDS);
        client.setReadTimeout(15,TimeUnit.SECONDS);
        OkHttpUrlLoader.Factory factory = new OkHttpUrlLoader.Factory(client);
        glide.register(GlideUrl.class, InputStream.class, factory);
    }
}
Run Code Online (Sandbox Code Playgroud)

OkHttpUrlLoaderGlide API中已经没有了.所以我想知道如何设置OkHttpClient for Glide

android android-glide

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

如何在 Retrofit 中避免 URL 编码?

我正在为我的网络层使用改造我面临一个奇怪的问题我有参数,它的值看起来像这样

store://0TxIGQMQbObzvU4Apia0V0&callback=

编码后,它变成了这个

store://0TxIGQMQbObzvU4Apia0V0%26callback%3D

出于某种原因,服务器不喜欢这种编码,我收到了“HTTP 400 错误请求”。

如果我在没有编码的情况下点击它运行良好,所以我想知道有什么方法可以禁用ending。

我试过其他这样的方法

@Query(value "env" encoded = false) String env
Run Code Online (Sandbox Code Playgroud)

但没有运气。

这是我的网络接口类

public interface NetworkService
{
    @GET("v1/public/yql")
    Observable<SeriesEntity> getOnGoingSeries(@Query("q") String query,
                                              @Query("format") String format,
                                              @Query("diagnostics") boolean flag,
                                              @Query("env") String env);


    class Factory {
        public  static NetworkService create()
        {
            OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
            HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
            loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
            clientBuilder.addInterceptor(loggingInterceptor);

            Gson gson = new GsonBuilder().disableHtmlEscaping().create();

            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl("https://query.yahooapis.com")
                    .client(clientBuilder.build())
                    .addConverterFactory(GsonConverterFactory.create())
                    .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                    .build();

            return retrofit.create(NetworkService.class);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑 :

我还注意到问题只是 '&' …

android urlencode retrofit retrofit2

8
推荐指数
2
解决办法
8658
查看次数

当组成员尝试获取成员列表时获取禁止身份验证

我正在尝试使用getMembers()获取成员列表但我得到'错误代码:403,forbidden-auth'试图获取成员列表的用户是一个组的成员但是如果我做的话所有者的相同操作,他可以​​成功获得一个列表.

这是我获取成员列表的配置 'muc#roomconfig_getmemberlist' : [moderator, participants, visitor]

并且在xep-045中也非常清楚地提到"服务应该也应该将成员列表返回给仅限成员的房间中的任何占用者;即,当房间中的成员请求成员列表时,它不应该产生错误."

那我在这里缺少什么?

这些是捕获数据包

SENT(0):

<iq to='membersonlygroup@muc.domain' from='92123456@domain/Resource' id='1BO5n-74' type='get'><query xmlns='http://jabber.org/protocol/muc#admin'><item affiliation='member'></item></query></iq>
Run Code Online (Sandbox Code Playgroud)

SMACK:RECV(0):

 `<iq from='membersonlygroup@muc.domain' to='92123456@domain/Resource' id='1BO5n-74' type='error'><query xmlns='http://jabber.org/protocol/muc#admin'><item affiliation='member'/></query><error code='403' type='auth'><forbidden xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Administrator privileges required</text></error></iq><r xmlns='urn:xmpp:sm:3'/>`
Run Code Online (Sandbox Code Playgroud)

编辑:还有 一件事是成员有参与者的角色,但我注意到在这种情况下角色值为空.

在此输入图像描述

android smack mongoose-im

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

设置显示方向失败

我在我的应用程序中打开前置摄像头.在第一次应用程序运行正常,但当我再次运行应用程序第2次,第3次或第4次时,它给了我例外java.lang.RuntimeException : set display orientation failed.
请帮忙.

public class MirrorView extends SurfaceView implements
SurfaceHolder.Callback
{
 private static SurfaceHolder mHolder;
  private static Camera mCamera;
  private int zoom;
  private boolean freeze, hide = false;
  private final static String DEBUG_TAG = "MirrorView";
 public static final int MEDIA_TYPE_IMAGE = 1;
public MirrorView(Context context, Camera camera) 
{
    super(context);
    mCamera = camera;
    mHolder = getHolder();
    mHolder.addCallback(this);
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) 
{
    try 
    {
            mCamera.stopPreview();
            mCamera.setPreviewDisplay(holder);
            mCamera.startPreview();
            Log.v(DEBUG_TAG, "Surface Created");

    } 
    catch (Exception …
Run Code Online (Sandbox Code Playgroud)

android android-camera

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

从列表列表创建地图

我想从列表列表创建地图,我已经编写了这段代码

fun getCourses(coursesCount: Int): Map<Course, Int> {
    val paidCourses = mutableMapOf<Course, Int>()
    for(student in data) {
                for(course in student.subscribedCourses) {
                    if( course.isPaid ) {
                        paidCourses.putIfAbsent(course, 0)
                        paidCourses[course] = paidCourses[course]!! + 1
                    }
                }
            }
    return paidCourses.toList().sortedByDescending { (_, value) -> value }.take(coursesCount).toMap()
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何在 Kotlin 中更简洁地表达这一点。

kotlin

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