小编hat*_*ata的帖子

Xamarin Android Player在尝试查找VirtualBox时出错

我有一个干净的Windows 10安装.安装Visual Studio 2015和Xamarin Bussiness版本后,我安装了Xamarin Android Player x64,现在我收到以下错误:

Error when attempting to find VirtualBox please check it's installed and try again.
Xamarin Android Player will now exit.
Run Code Online (Sandbox Code Playgroud)

Xamarin说明了一个解决方案

通过将"C:\ Program Files\Oracle\VirtualBox"添加到我的%PATH%来修复它

我可以毫无问题地打开VirtualBox版本4.3.28 r 100309.

我如何实施此解决方案或是否有更新的解决方案?

virtualbox xamarin.android xamarin windows-10 xamarin-android-player

10
推荐指数
2
解决办法
9223
查看次数

setAudioStreamType 已弃用,如何替换?

我正在尝试使用 MediaPlayer 在 Android Studio 中制作一个广播流应用程序,但是当我编译它时显示下一个错误:

使用或覆盖已弃用的 API。使用 -Xlint:deprecation 重新编译以获取详细信息。

我在 Android 文档中搜索,我应该将这种方法替换为setAudioAttributes,我该如何更改它?

public class Radio extends Fragment {

    Button play_pause;
    MediaPlayer mp;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.radio, container, false);
        play_pause = (Button) view.findViewById(R.id.btnplay);
        try {
               mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
                mp.setDataSource("http://198.27.83.65:9962/;stream.mp3");
                mp.prepareAsync();
         }
         catch (Exception e){
             Toast.makeText(getContext(),"Error" + e,Toast.LENGTH_SHORT).show();
         }
         //mp = MediaPlayer.create(this.getContext(), R.raw.radio);
            play_pause.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                         if(mp.isPlaying()) {
                            mp.pause();
                            Toast.makeText(getContext(),"Stop",Toast.LENGTH_SHORT).show();
                        }
                        else {
                            mp.start();
                            Toast.makeText(getContext(),"Start",Toast.LENGTH_SHORT).show(); …
Run Code Online (Sandbox Code Playgroud)

android android-mediaplayer

10
推荐指数
1
解决办法
9525
查看次数

无法在Android Studio上运行应用程序项目

我是Android Studio的新手,我在Ubuntu 14.04 LTS(64位)上安装了它.

当我在Android Studio中打开项目时,我的项目文件标记为红色,运行按钮旁边的调试配置按钮标有红色X,如下图所示:

在此输入图像描述

请告诉我如何解决这个问题.

android android-studio ubuntu-14.04

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

除非在授予权限后重新启动应用程序,否则无法写入外部存储

即使在运行时授予了WRITE_EXTERNAL_STORAGE,App也无法写入Android 6.0上的外部存储(我在模拟器上进行测试); 除非应用程序被杀死并重新启动.

来自AndroidManifest.xml的代码段

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

的build.gradle

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    ......
    minSdkVersion 15
    targetSdkVersion 23
}
Run Code Online (Sandbox Code Playgroud)

每当我需要写入外部存储器(用于备份)时,我会检查是否有权限.

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
                    getActivity().getBaseContext().checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_RW_EXTERNAL_STORAGE);
                mPendingAction = PendingAction.Backup;
            } else {
                BackupRestoreService.startBackup(getActivity().getBaseContext());
            }
Run Code Online (Sandbox Code Playgroud)

我也有以下内容

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        Log.d("SettingsActivity", "grantResultsLength: " + grantResults.length);
        if (requestCode == PERMISSION_REQUEST_RW_EXTERNAL_STORAGE) {
            Log.d("SettingsActivity", "grantResultsLength: " + grantResults.length);
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) …
Run Code Online (Sandbox Code Playgroud)

android android-permissions android-6.0-marshmallow

9
推荐指数
1
解决办法
2897
查看次数

错误地判断Play商店中没有"专为平板电脑设计"列表

最近我将我的新应用程序上传到Google Play商店.然后优化提示说:

为平板电脑设计您的应用

您的制作APK需要符合以下条件:

(X)您的APK应包含常用平板电脑屏幕密度的自定义drawables资产.

但事实上,我为各种屏幕密度(-mdpi,-tvdpi,-hdpi,-xhdpi,-xxhdpi和-xxxhdpi)包含多个可绘制资产.

我可以想象的唯一原因是我有这些drawables不是在drawable文件夹中,而是在mipmap文件夹中.

对于我的应用程序不使用mipmap文件夹中的ic_launcher图标旁边的任何drawables ,它没有drawable - ***dpi文件夹.

但是,Google自己建议使用mipmap holder而不是drawable.

将启动器图标作为mipmap管理资源:

将启动器图标移动到mipmap /文件夹仍然是最佳做法

只有我跟着他们的导游.然后我从开发者控制台得到了上面的提示.

这是Google Play商店的错误,不是吗?或者,有什么解决方案吗?

android android-resources google-play

9
推荐指数
1
解决办法
911
查看次数

片段中的视图绑定

我想使用 ViewBinding 来处理 Fragment 中的视图。

FragmentBlankBinding binding;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    binding = FragmentBlankBinding.inflate(inflater, container, false);
    return binding.getRoot();
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从这样的绑定中获取 RecyclerView 时:

binding.notesRecyclerView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)

我得到空指针异常:

java.lang.NullPointerException:尝试从空对象引用上的字段“androidx.recyclerview.widget.RecyclerView com.myapps.notes.databinding.FragmentBlankBinding.notesRecyclerView”读取

PS这里是fragment_blank.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".BlankFragment">

    <com.getbase.floatingactionbutton.FloatingActionButton
        android:id="@+id/newNoteActionButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_margin="3dp"
        android:elevation="10dp"
        app:fab_icon="@drawable/ic_baseline_add_24" />

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/notesRecyclerView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> 
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewbinding

9
推荐指数
3
解决办法
7195
查看次数

在协程范围内调用时启动不执行

我在协程范围内调用 launch 但它不执行。Snackbar 操作监听器正在执行,但启动块由于某种原因没有执行。

CoroutineScope(Dispatchers.Main).launch {
    val scope = this
    val mn = snackbarManager(R.id.root)
    Snackbar
        .make(mn.container, R.string.recpt_deleted, Snackbar.LENGTH_LONG)
        .setAction(R.string.undo) {
            scope.launch { // not executing
                Toast.makeText(requireContext(),"Committing",Toast.LENGTH_LONG).show()
                Log.d("COMMIT", "calling commit")
            }
        }
        .show()
}
Run Code Online (Sandbox Code Playgroud)

android kotlin android-snackbar kotlin-coroutines coroutinescope

9
推荐指数
1
解决办法
5908
查看次数

添加ImageLoader时,getInstance(this)中的Android Volley错误

我在Android开发人员上使用Volley跟踪图像兑现教程,我遇到了请求图像请求并缓存它的问题,我想因为我创建的singelton(从教程中复制).

我的Eclipse给出了错误,getInstance(this)因为这是上下文,我想要一个图像.

ImageRequest request = new ImageRequest(
    url,
    new Response.Listener<Bitmap>() {
        @Override
        public void onResponse(Bitmap bitmap) {
            mNetworkImageView = (NetworkImageView) findViewById(R.id.ImageView);
            mImageLoader = MySingleton.getInstance(this).getImageLoader();
            mNetworkImageView.setImageUrl(IMAGE_URL, mImageLoader);
        //  mImageLoader = MySingleton.getInstance(this).getImageLoader();
        //  mImageLoader.get(IMAGE_URL, ImageLoader.getImageListener(mImageView,
        //      R.drawable.ic_launcher, R.drawable.ic_launcher));
            }
        },
    0,
    0,
    null,
    new Response.ErrorListener() {
        public void onErrorResponse(VolleyError error) {
        //  mImageView.setImageResource(R.drawable.ic_launcher);
        }
    });
MySingleton.getInstance(this).addToRequestQueue(request);
Run Code Online (Sandbox Code Playgroud)

这是单身人士:

package com.example.p;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;

import android.content.Context;
import android.graphics.Bitmap;
import android.support.v4.util.LruCache;

public class MySingleton …
Run Code Online (Sandbox Code Playgroud)

singleton android android-volley

8
推荐指数
1
解决办法
7033
查看次数

LocationManager:java.lang.NoSuchMethodError

我是这个社区的新手,但我已经习惯了很多东西!实际上我开始在Android Studio上编程,但现在我卡在了某个地方.我相信你会很快找到它.

在模拟器Nexus 5 API 23(已经安装在Android Studio中的那个)中,它正在运行,但在我的移动Android 5.1.1 API 22上,它开始运行.

错误: 09-20 19:15:11.526 17776-17776/com.example.stefano.aiutomamma01 E/AndroidRuntime? FATAL EXCEPTION: main Process: com.example.stefano.aiutomamma01, PID: 17776 java.lang.NoSuchMethodError: No virtual method checkSelfPermission(Ljava/lang/String;)I in class Lcom/example/stefano/aiutomamma01/MainActivity; or its super classes (declaration of 'com.example.stefano.aiutomamma01.MainActivity' appears in /data/app/com.example.stefano.aiutomamma01-2/base.apk) at com.example.stefano.aiutomamma01.MainActivity.onCreate(MainActivity.java:28) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2442) at android.app.ActivityThread.access$800(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1351) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:211) at android.app.ActivityThread.main(ActivityThread.java:5373) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1020) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:815)

JAVA代码:

package com.example.stefano.aiutomamma01;

import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import …
Run Code Online (Sandbox Code Playgroud)

android android-studio

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

如何防止BottomAppBar重叠内容

我想使用 CoordinatorLayout 在屏幕底部包含一个 BottomAppBar,并在剩余空间中显示一些内容(例如使用 ConstraintLayout)。

如果我向 CoordinatorLayout 添加一个 ConstraintLayout,然后我添加一个放置在 ConstraintLayout 底部的按钮,则该按钮被 BottomAppBar 覆盖。

我希望 ConstraintLayout 用完所有垂直空间,除了 BottomAppBar 所在的位置,这样按钮就不会被覆盖。

我尝试在 ConstraintLayout 中包含 app:layout_behavior="@string/appbar_scrolling_view_behavior",正如某些网站所建议的那样,但它不起作用。另外,在BottomAppBar 中设置app:layout_insetEdge="bottom",然后在ConstraintLayout 中设置app:layout_dodgeInsetEdges="bottom" 也不能正常工作,因为ConstraintLayout 然后在屏幕顶部溢出(但底部没有被覆盖)不再)。

下面是 xml 布局文件,其中BottomAppBar 覆盖了按钮。谢谢

    <?xml version="1.0" encoding="utf-8"?>

    <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/coordinatorLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="top"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <Button
        android:id="@+id/myButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    <com.google.android.material.bottomappbar.BottomAppBar
        android:id="@+id/bottomAppBar"
        style="@style/Widget.MaterialComponents.BottomAppBar.Colored"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" />    
    </androidx.coordinatorlayout.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

BottomAppBar 覆盖按钮

xml android android-layout android-bottomappbar

8
推荐指数
1
解决办法
328
查看次数