我在 methode 中运行一个线程,我想在线程完成后返回一个值,这是我尝试执行 join() 但阻止 UI 线程的问题。我如何等待线程完成然后返回值而不阻塞 UI 线程?
Boolean foo(){
myThread mt = new myThread();
mt.start();
return mt.isSentSuccessfully;
}
Run Code Online (Sandbox Code Playgroud) 我有一个Android应用程序,我想使用HTML5从Android应用程序发送文本到网页WebSocket.
这有可能吗?如果可以的话怎么样?
在下面的代码中,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) 我有扩展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) 我正在制作一个 SDK,并尝试将类分离到不同的包中,这些类使用一些其他共享类。问题是,如果我将共享课程公开,那么每个人都可以看到它们,而不仅仅是我的课程。使它们只能由我的应用程序访问的正确方法是什么?
例子 :
打包 MyClass1
套餐b MyClass2
包 c public MySharedClass
因为 c 是 public MySharedClass 将能够访问它,但问题是它也将对世界可见,我怎样才能阻止这种情况呢?
java encapsulation access-modifiers package class-visibility
我有一个包含以下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)
并设置默认分隔符.你为什么会发生这种情况以及如何解决这个问题?
我有以下课程:
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) 我在同一时间顺序播放多个图像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) 即时通讯接收广播接收器的意图然后我开始服务做更多的工作.现在如果设备处于睡眠状态并且发生这种情况,我必须得到Wakelock(AlarmManger?),为什么我需要它?如果设备在没有获取唤醒锁的情况下进入睡眠状态,我的服务是否会停止运行
Android发布了一个新版本的Camera API,名为camera2,我想在我的应用程序上使用它们,因为我对旧API有很多问题,我希望新的相机管理API更好.我在大型Android设备上拥有大多数用户的问题是,是否有任何兼容包来为您处理此问题,或者您是否必须为每个API编写两个不同的类?
android ×7
java ×4
camera ×1
coding-style ×1
facebook ×1
fresco ×1
html5 ×1
io ×1
listactivity ×1
listview ×1
outputstream ×1
package ×1
wakelock ×1
websocket ×1
webview ×1