小编Jac*_*ień的帖子

在项目中存储声音文件的位置以及选择哪种解决方案来存储对它们的引用?

我正在制作一些花哨的应用程序,需要很多短音才能使用它.几乎没有问题你可以回答.

  • 我在android项目中存储的地方有一些限制吗?目前我把它们放在bin/res/sounds文件夹中.

  • 是否对文件格式有限制并且.wav可以吗?

  • 我需要一些东西来存储对那些声音的引用.我想出了一个字典,它包含一个声音名称(键)和一个文件路径,所以我可以使用这种方法:

    mp = MediaPlayer.create(Test.this, R.raw.mysound);

我应该如何存储R.raw.mysound,它不是一个字符串对吗?

我道歉如果我对一切都不太清楚,我会尽我所能.干杯

android android-music-player android-file

6
推荐指数
1
解决办法
7971
查看次数

获取对话框窗口表单的引用(ShowMessage,MsgDialog等)

有没有我可以使用的事件所以我会抓住ShowMessage屏幕上显示的那一刻?我还需要传递对TForm已显示消息的引用.

到目前为止我试过了OnDeactivate,但似乎ShowMessage并没有引起它......

在.NET中有一个关于Application的方法可以捕获每个MessageBox(Application.AddFilterMessage或类似这样的smth),我在delphi中需要这样的东西

我想要实现的是: 我必须抓住一个对话窗口出现的那一刻(或者只是一个模态窗口,但它并不那么舒服).我需要做几个指令.这些说明的目标是给我一个刚刚收到的DialogWindow的参考,所以我可以得到一些位于它上面的按钮.

delphi events

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

在Delphi中保存指向指定函数的指针

不确定tittle是否正确但我需要做的是在一些集合中存储指向指定函数的指针.我这样做就像声明变量一样

SomeFunctionName: string
Run Code Online (Sandbox Code Playgroud)

当然这种类型不能是一个字符串,问题是它究竟应该是什么?

delphi function-pointers function

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

构建脚本错误,发现不支持的Gradle DSL方法:'android()'!

我正在使用Android Studio 0.4.5并且无法同步gradle.

当我尝试这样做时,我收到此错误:

Gradle 'MyApp' project refresh failed: Build script error, unsupported Gradle DSL method found: 'android()'!
Run Code Online (Sandbox Code Playgroud)

我的解决方案包含4个模块 这是我的根build.graddle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}

android {    
    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}
Run Code Online (Sandbox Code Playgroud)

和其他人(为简单起见,我删除了依赖项)

第1单元

apply plugin: 'android'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}

android {
    compileSdkVersion …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio

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

单击外部边界时,防止"对话框"活动与后台活动进行交互

我正在创建一个看起来像对话框的活动.

这是风格:

<style name="TablesDialogActivity" parent="@android:style/Theme.Holo.Dialog">
    <item name="android:windowBackground">@drawable/frame_background_left</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这是onCreate()的活动:

protected void onCreate(Bundle savedInstanceState) {
        getWindow().setFlags(LayoutParams.FLAG_NOT_TOUCH_MODAL, LayoutParams.FLAG_NOT_TOUCH_MODAL);
        getWindow().setFlags(LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
        super.onCreate(savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)

并且还在活动触摸拦截器内:

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
        finish();
        return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

它几乎可以工作,活动在对话界限之外触摸完成,但它也与背景活动上的按钮交互,这是不好的.有关该文档的onTouchEvent说明如果您使用了触摸事件,则应返回true.我回归真实,但似乎并非如此.

android android-activity android-styles

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

将PendingIntent中的小部件的附加内容传递给Activity

我找不到一种方法将小部件的额外内容传递给Activity正确的.

我不想打开按钮点击活动,并传递一些额外内容.

    Intent intent = new Intent(context, CreateOperationsActivity.class);
    intent.putExtra("someKey", true);
    PendingIntent pendingIntent = PendingIntent.getActivity(context, Constants.RequestCodes.CREATE_OPERATIONS, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    views.setOnClickPendingIntent(R.id.add_expense_button, pendingIntent);
Run Code Online (Sandbox Code Playgroud)

活动已打开,但没有额外的内容Intent.

我能够通过额外的唯一方法是设置PendingIntent标志,PendingIntent.FLAG_ONE_SHOT但随后widget按钮工作只是wince,点击它进一步不采取任何行动.

如何做到这一点,所以额外被拦截,Activity每次按钮工作?

android android-widget android-intent

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

工具栏ShareActionProvider主题总是很暗

我正在尝试将共享操作添加到工具栏中.工具栏应该是橙色的(或者像这种情况一样透明),带有白色文本和图标,因此我将此视图用作Toolbar:

<android.support.v7.widget.Toolbar 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/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    tools:ignore="UnusedAttribute" />
Run Code Online (Sandbox Code Playgroud)

此外,这是我的应用程序主题声明的样子:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

无论我如何改变风格,这都是我得到的:

在此输入图像描述

我如何说服ShareActionProvider获取Light主题?

android android-appcompat shareactionprovider android-5.0-lollipop android-toolbar

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

Charles SSL Proxy适用于Chrome,但不适用于应用程序

我正在使用运行Android 7的Nexus 5X设备。我无法使用Charles Proxy文档中的最新说明来设置代理。我安装了证书,但扩展了wifi设置或nugat。我可以将查尔斯设置为证书,但这不会让我连接到该wifi(身份验证问题)。因此,我将其保留为“不检查正确性”。我什至不知道这是否相关。

问题是当我尝试嗅探我的应用程序https调用时,我看到SSLHandshake: Received fatal alert: certificate_unknown 但是,如果我在同一设备上使用chrome运行Web客户端-我可以读取对同一api的调用。

最重要的是,它适用于浏览器,但不适用于我的应用程序。我也检查了其他应用程序。输出相同。

我在这里问的原因是因为也许我必须在改造api设置中添加一些不安全的客户端-希望不是。

proxy android charles-proxy

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

更新到 gradle 7 后方法 com.android.build.gradle.internal.core.MergedFlavor#setSigningConfig 的不明确方法重载

我刚刚将 gradle 从 6 更新到 7,将 AGP 从 4 更新到 7。我的 gradle 设置的一部分停止了编译。

applicationVariants.all { variant ->
        if (variant.getName().contains("prodSe")) {               
            variant.mergedFlavor.signingConfig = signingConfigs.prodSeSigningConfig
        }
}
Run Code Online (Sandbox Code Playgroud)

这现在导致:

由于以下之间的原型重叠,无法解析为 [class com.android.build.gradle.internal.dsl.SigningConfig_Decorated] 调用哪个方法:[interface com.android.builder.model.SigningConfig] [interface com.android.build.api .dsl.ApkSigningConfig]

感觉variant.mergedFlavor现在返回一个继承自具有相同方法的SigningConfig&的类型ApkSigningConfig。不知道如何解决这个问题。

android gradle android-gradle-plugin android-gradle-plugin-7

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

使用 ML Kit 扫描条形码时出现黑屏而不是 QR 扫描仪

在 Android 中创建条形码扫描仪的最简单方法可能是使用 Google Code Scanner API https://developers.google.com/ml-kit/vision/barcode-scanning/code-scanner

然而,这似乎对我不起作用。我在 MainActivity.kt 文件中的代码如下所示:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val options = GmsBarcodeScannerOptions.Builder()
            .setBarcodeFormats(
                Barcode.FORMAT_QR_CODE,
                Barcode.FORMAT_AZTEC)
            .build()

        val scanner = GmsBarcodeScanning.getClient(this, options)

        scanner.startScan()
            .addOnSuccessListener { barcode ->
                val rawValue: String? = barcode.rawValue
            }
            .addOnCanceledListener {
                // Task canceled
            }
            .addOnFailureListener { e ->
                // Task failed with an exception
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

settings.gradle文件有以下代码:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
Run Code Online (Sandbox Code Playgroud)

我的build.gradle …

android kotlin google-mlkit

5
推荐指数
0
解决办法
655
查看次数