小编Jim*_*mmy的帖子

等待线程完成而不阻塞 UI 线程

我在 methode 中运行一个线程,我想在线程完成后返回一个值,这是我尝试执行 join() 但阻止 UI 线程的问题。我如何等待线程完成然后返回值而不阻塞 UI 线程?

Boolean foo(){

myThread mt = new myThread();
mt.start();     
return mt.isSentSuccessfully;

}
Run Code Online (Sandbox Code Playgroud)

java multithreading android

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

我可以在Android应用中与WebSocket连接吗?

我有一个Android应用程序,我想使用HTML5从Android应用程序发送文本到网页WebSocket.

这有可能吗?如果可以的话怎么样?

html5 android websocket

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

我是否需要处理或忽略OutputStream close()函数触发的IOException?

在下面的代码中,outPutStream的close函数抛出了我应该捕获的IOException异常.我的问题是我需要处理吗?由于我正在使用移动设备,我想确保释放我使用的所有资源,或者我可以安全地忽略该异常.

//...
OutputStream output = null;
try {
     output = connection.getOutputStream();
     output.write(query.getBytes(charset));
} finally {
     if (output != null) try { 
        output.close(); 
     } catch (IOException e) {
        // Do i need to do something here ?
     }
}
Run Code Online (Sandbox Code Playgroud)

java io outputstream

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

如何在Android中创建自定义webview?

我有扩展webview的类(MyCustomWebView)我可以这样做吗?

<MyCustomWebView 
    android:id="@+id/myCustomWebView"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>
Run Code Online (Sandbox Code Playgroud)

如果没有,我可以做这样的事情.

WebView webView = (WebView) findViewById(R.id.webview);
webView = new MyCustomWebView(this);
Run Code Online (Sandbox Code Playgroud)

android webview

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

包装和可见性

我正在制作一个 SDK,并尝试将类分离到不同的包中,这些类使用一些其他共享类。问题是,如果我将共享课程公开,那么每个人都可以看到它们,而不仅仅是我的课程。使它们只能由我的应用程序访问的正确方法是什么?

例子 :


打包 MyClass1

套餐b MyClass2

包 c public MySharedClass


因为 c 是 public MySharedClass 将能够访问它,但问题是它也将对世界可见,我怎样才能阻止这种情况呢?

java encapsulation access-modifiers package class-visibility

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

为什么divider没有显示在listview中@android:id/list?

我有一个包含以下listview的线性布局:

<ListView
    android:id="@android:id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:cacheColorHint="#00000000"
    android:divider="#FF0000"
    android:dividerHeight="4dp"
     />
Run Code Online (Sandbox Code Playgroud)

并且ListActivity使用布局,问题是ListView xml中的以下行不生效:

     android:divider="#FF0000"
    android:dividerHeight="4dp"
Run Code Online (Sandbox Code Playgroud)

并设置默认分隔符.你为什么会发生这种情况以及如何解决这个问题?

android listview listactivity

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

验证构造函数和setter中的字段是否被视为错误的冗余代码?

我有以下课程:

public class Project {

    private int id;
    private String name;  

    public Project(int id, String name) {
        if(name == null ){
            throw new NullPointerException("Name can't be null");
        }

        if(id == 0 ){
            throw new IllegalArgumentException("id can't be zero");
        }

            this.name = name;
            this.id = id;

    }

    private Project(){}

    public int getId() {
        return id;
    }

    public void setId(int id) { 
        if(id == 0 ){
            throw new IllegalArgumentException("id can't be zero");
        }
        this.id = id;
    }

    public String getName()
        return name; …
Run Code Online (Sandbox Code Playgroud)

java coding-style getter-setter

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

Fresco:使用Drawee中显示的当前图像作为下一个请求的占位符

我在同一时间顺序播放多个图像SimpleDraweeView,问题是当提交新的imageURI请求时,SimpleDrweeView将删除当前显示的图像并将其替换为空,直到下载URI.因此,它将在播放序列中留下空白(您可以想到我正在尝试做的是使用本地照片的卡通动画).我希望SimpleDrweeView能够保留当前图像,直到下载新图像,然后在准备就绪时将其交换.

我试图使用从低分辨率/高分辨率方案这一票,把旧的URI作为一个占位符,但没有工作(有相同的效果之前).

这就是我现在拥有的:

 SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);

 draweeView.setImageURI(uri /* local image */); 
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止尝试过的(不起作用):

                SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);

            Uri lowResUri, highResUri;
            DraweeController controller = Fresco.newDraweeControllerBuilder().setTapToRetryEnabled(true)
                    .setLowResImageRequest(ImageRequest.fromUri((Uri) draweeView.getTag())) /*naive way to test the low/high res feature*/
                    .setImageRequest(ImageRequest.fromUri(uri))
                    .setOldController(draweeView.getController())
                    .build();
            draweeView.setTag(uri);
            draweeView.setController(controller); 
Run Code Online (Sandbox Code Playgroud)

android facebook fresco

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

BroadcastReceiver,Service和Wakelock

即时通讯接收广播接收器的意图然后我开始服务做更多的工作.现在如果设备处于睡眠状态并且发生这种情况,我必须得到Wakelock(AlarmManger?),为什么我需要它?如果设备在没有获取唤醒锁的情况下进入睡眠状态,我的服务是否会停止运行

android android-wake-lock wakelock

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

我应该在Android上使用Camera2或Camera API吗?

Android发布了一个新版本的Camera API,名为camera2,我想在我的应用程序上使用它们,因为我对旧API有很多问题,我希望新的相机管理API更好.我在大型Android设备上拥有大多数用户的问题是,是否有任何兼容包来为您处理此问题,或者您是否必须为每个API编写两个不同的类?

camera android

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