小编Bra*_*bin的帖子

我如何获得具有其Uri的文件的mime类型?

我有一个用画廊和相机获得的Uris列表.这些Uris是这样的:content://media/external/images/media/94.我怎么能得到它的mime类型?

android uri mime-types

77
推荐指数
4
解决办法
5万
查看次数

解码android中的HTML实体

我需要解码HTML实体,例如来自ö 到ö,和& 至 &.

URLEncoder.decode(str)不做这项工作(从%表示法转换).TextUtils有一个HTMLencode,但不是HTMLdecode.

是否有解码HTML实体的功能?

html android decode

63
推荐指数
3
解决办法
5万
查看次数

MediaPlayer.prepareAsync的IllegalStateException

05-19 11:52:51.622: ERROR/MediaPlayer(1291): prepareAsync called in state 8
05-19 11:52:51.622: WARN/System.err(1291): java.lang.IllegalStateException
Run Code Online (Sandbox Code Playgroud)
try {
    mp = MediaPlayer.create(
            Main.this,
            Uri.parse("http://codejanitor.us/good.mp3"));
    mp.setOnPreparedListener(new OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            mp.start();
        }
    });
    try {
        mp.prepareAsync();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    }
} finally {
    if (mp != null) {
        mp.release();
        mp = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

交替

如果我做:

try {
    mp = MediaPlayer.create(
            AmazonClipActivity.this,
            Uri.parse("http://codejanitor.us/good.mp3"));
    mp.setOnPreparedListener(new OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            mp.start();
        }
    });
} finally {
    if …
Run Code Online (Sandbox Code Playgroud)

android android-mediaplayer

34
推荐指数
3
解决办法
4万
查看次数

如何通过广播接收器通知正在运行的活动?

我有一个活动,它需要响应广播事件.由于活动不能同时成为广播接收者,我制作了一个广播接收器.

我的问题是:如何通过广播接收器通知活动?我相信这是一种常见的情况,那么有这样的设计模式吗?

android ipc broadcastreceiver

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

小EditText有一个带有很多行的setError

我有一个小的EditText,我想在其中显示错误(使用editText.setError()).在Android API 10中,消息以很多行显示,并且无法读取.在Android 15中工作相对较好.我附上截图以说明问题末尾的问题.

如何以适当的模式显示错误消息?

我写了一个小例子来重现这个问题:

活动:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ((EditText) findViewById(R.id.b)).setError("A error description and bla bla bla bla bla.");
}
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

    <EditText
        android:id="@+id/a"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" />


    <EditText
        android:id="@+id/b"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <EditText
        android:id="@+id/c"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <EditText
        android:id="@+id/d"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <EditText
        android:id="@+id/e"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <EditText
        android:id="@+id/f"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

使用Android API 10的设备:

使用Android API 10的设备

使用Android API 15的平板电脑:

平板电脑使用Android API 15

相关问题.但答案对我不起作用. …

android android-layout android-edittext

19
推荐指数
1
解决办法
3678
查看次数

可以在Tracker级别配置自定义维度吗?

我想使用SDK v4在Google Analytics中设置用户范围维度.此维度的值在运行时永远不会更改.

按照此说明创建维度时,页面为我提供了以下代码:

String dimensionValue = "SOME_DIMENSION_VALUE";
tracker.set(Fields.customDimension(1), dimensionValue);
Run Code Online (Sandbox Code Playgroud)

此代码适用于SDK v3,不适用于SDK4.

我也喜欢这个:自定义维度和指标 - Android SDK v4.他们的解决方案是每次发送页面视图,事件等时设置维度.这很糟糕!这个维度永远不变.sesion或用户尺寸变化小于可以在跟踪器级别保存的屏幕名称.

在这里我的问题:是否有一种方法可以在跟踪器级别设置自定义维度Tracker.setScreenName

android google-analytics google-analytics-firebase

12
推荐指数
2
解决办法
2602
查看次数

如何在gradle构建测试时执行一些代码

Kotlin有一个名为all open的编译器插件.它强制所有带有注释的类都是开放的.

我想在我的测试中使用此功能,但我不想在我的生产代码中使用它(我希望我的类关闭).我怎样才能做到这一点?

我尝试过类似的东西:

test {
  allOpen {
    annotation('com.my.Annotation')
  }
}
Run Code Online (Sandbox Code Playgroud)

但代码总是执行.

gradle kotlin

9
推荐指数
2
解决办法
1391
查看次数

为什么toast消息不会显示在包含mobile的android 4.1操作系统中

我无法在android 4.1 mobile中看到toast消息.直到昨天我才能看到吐司的消息.从今天起,我才看不到这条消息.请帮我.

Toast.makeText(getApplicationContext(), "hi", Toast.LENGTH_SHORT).show(); 
Run Code Online (Sandbox Code Playgroud)

我也尝试过自定义toast消息而不是toast消息.但仍然没有工作.

定制吐司:

LayoutInflater inflater=getLayoutInflater(); 
View layout = inflater.inflate(R.layout.toast_layout,(ViewGroup) findViewById(R.id.toast_layout_root)); 
TextView text = (TextView) layout.findViewById(R.id.text); 
text.setText("Please fill Name"); 
Toast toast = new Toast(getApplicationContext()); 
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG); 
toast.setView(layout); 
toast.show();
Run Code Online (Sandbox Code Playgroud)

android toast android-4.2-jelly-bean

8
推荐指数
3
解决办法
9471
查看次数

如何使用像gmail这样的撤消按钮创建通知?

我想实现这样的通知:

在此输入图像描述

我知道我可以使用自定义布局通知设置onClickPendingIntent.但是,这是最好的选择吗?如果不是,它是什么?如果是,我怎么能用图标模仿左方?措施,颜色等

android undo android-notifications

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

如何断开update_last_login?

User在 Django 中从头开始实现了我自己的类。但是当我登录时出现此错误:

以下字段在此模型中不存在或为 m2m 字段: last_login

真的不想要这个领域last_login

我做了一些研究,问题就在这里: contrib.aut.models.py

def update_last_login(sender, user, **kwargs):
    """
    A signal receiver which updates the last_login date for
    the user logging in.
    """
    user.last_login = timezone.now()
    user.save(update_fields=['last_login'])
user_logged_in.connect(update_last_login)
Run Code Online (Sandbox Code Playgroud)

我找到了一个解决方法,但这不是一个优雅的解决方案。我user_logged_in.disconnect(update_last_login)在我的models.py文件中添加了我的User类的定义。

有没有更好的解决方案?

python django django-models django-authentication

6
推荐指数
2
解决办法
1819
查看次数