我正在实施一个MediaPlayer.一切顺利但每次遇到新的错误都很难找到它的含义.官方文档在该领域缺乏,所以像堆栈溢出的网站是唯一的解决方案,这次即使这不起作用(错误(1; -107)顺便说一句).
那么是否有一个集中点,我可以找到所有MediaPlayer错误代码的列表?我在官方文档中找不到它,快速诊断新错误会非常有帮助.
我一直在尝试许多命令来设置我的大小DialogFragment.它只包含一个颜色选择器,所以我删除了对话框的背景和标题:
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getDialog().getWindow().setBackgroundDrawable(
new ColorDrawable(android.graphics.Color.TRANSPARENT));
Run Code Online (Sandbox Code Playgroud)
但是我也希望将对话框放在我想要的位置,这是有问题的.我用:
WindowManager.LayoutParams params = getDialog().getWindow().getAttributes();
params.width = LayoutParams.WRAP_CONTENT;
params.height = LayoutParams.WRAP_CONTENT;
params.gravity = Gravity.LEFT;
getDialog().getWindow().setAttributes(params);
Run Code Online (Sandbox Code Playgroud)
但是仍然存在一个(大)障碍:即使我的对话框窗格不可见,它仍然具有一定的大小,并且它限制了我的对话框的位置.在LayoutParams.WRAP_CONTENT来这里是为了限制此窗格我的颜色选择器的大小,但由于某种原因,这是行不通的.
有没有人能够做类似的事情?
我正在为我的Android应用程序编写服务,我正在尝试了解绑定机制的工作原理.如果我在活动的onCreate中绑定我的服务但是我没有在onStop或onDestroy中取消绑定,我收到错误:
android.app.ServiceConnectionLeaked: Service com.google.ipc.invalidation.ticl.android.AndroidInvalidationService has leaked ServiceConnection com.googl
e.ipc.invalidation.external.client.android.service.ServiceBinder$1@4177f8f8 that was originally bound here
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:泄漏连接究竟是什么问题,我通过解除服务绑定来阻止什么?
我正在使用本地广播让我的服务知道AsyncTask已完成其工作但我有一个小问题:广播只发送一次(它是由一个仅在应用程序启动时调用的函数创建的)但我收到两次.
简化代码:
@Override
protected void onPostExecute(HttpResponse result) {
LocalBroadcastManager localBroadcastManager = LocalBroadcastManager.getInstance(getBaseContext());
localBroadcastManager.sendBroadcast(new Intent(getString(R.string.bc_CONNECTED)));
}
Run Code Online (Sandbox Code Playgroud)
在服务中:
private BroadcastReceiver connectedBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(getString(R.string.app_tag), "broadcast received !!");
}
};
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
LocalBroadcastManager.getInstance(this).registerReceiver(connectedBroadcastReceiver, new IntentFilter(getString(R.string.bc_CONNECTED)));
return START_STICKY;
}
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这种奇怪的行为呢?
在我的Android应用程序的Service类中调用REST WebService会创建NetworkOnMainThreadException.
我理解为什么在Activity中引发这个异常:同步通过网络获取内容是一种非常糟糕的做法,但我很惊讶在服务类中看到同样的错误.所以我的问题是:
- 在这种特殊情况下,我应该使用StrictMode.setThreadPolicy()这个来电.(对于那些因为在活动中遇到此错误而读取此内容的人,请不要使用StrictMode来隐藏此错误,请使用AsyncTask)
- 或者我应该使用AsyncTask?在那种情况下,这里的问题是什么?线程上的服务不是与Activity分开的吗?
我正在实现Parcelable,以便在整个Intent中传输一些简单的数据.
但是,Parcelable界面中有一种方法我完全不懂:newArray().
它没有任何相关文档,甚至在我包裹/删除我的对象时甚至没有在我的代码中调用它.
示例Parcelable实现:
public class MyParcelable implements Parcelable {
private int mData;
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
public static final Parcelable.Creator<MyParcelable> CREATOR
= new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:这个方法是什么?什么时候打电话?
除了return new MyParcelable[size];那种方法之外,做其他事情还有什么意义吗?
Android L的一个想法是弹出窗口需要从用户点击屏幕的位置开始显示.
例如,在Chrome测试版(@time*5)中:
我们的想法是能够使视图从任何枢轴点(不仅仅是溢出按钮的预定位置)增长.是否有人能够做到这一点或者目前不可行?
我最近被告知扩展应用程序类以便将其用作Singleton是一种不好的做法,但没有任何解释.
那么使用这个类背后的潜在问题是什么?我已经看到它在许多项目中使用过.
另外,如果使用Application Class是个坏主意,那么存储应用程序级变量的替代方法是什么?
我有一个静态布局文件,让我们说一下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="24dp"
android:src="@drawable/some_drawable" />
<TextView
android:id="@id/placeholder_error_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="something"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我希望能够在整个应用程序中多次重用此布局文件,但根据每个用例更改文本和 src 属性。
我不想复制布局文件和自定义视图,这似乎有点过分了。框架中有解决方案吗?