小编Sel*_*t0r的帖子

Android:从数组编程创建微调器

我是Android新手,我正在尝试以编程方式创建一个微调器并用数组中的数据提供它,但是Eclipse给了我一个我无法处理的警告.

这是我得到的:

这个ArrayList包含应该在微调器中的元素(稍后从文件中填充):

ArrayList<String> spinnerArray = new ArrayList<String>();

这是我在一个应该创建微调器的网站上找到的代码:

Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
                android.R.layout.simple_spinner_dropdown_item,
                spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
Run Code Online (Sandbox Code Playgroud)

现在第二行(ArrayAdapter ...)在Eclipse中给我一个警告说"ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized",我不知道如何解决这个问题(或者首先意味着什么:)).

这只是一个警告,应用程序似乎运行良好,但我仍然想了解什么是错误并修复它.任何提示都表示赞赏.

问候,Select0r

android spinner

182
推荐指数
6
解决办法
31万
查看次数

Android:无法实例化activity/ClassNotFoundException

我最近向市场发布了一个应用程序,我现在收到一些用户的错误,该应用程序可能会在启动时崩溃.不幸的是我无法直接与他联系,该应用程序在模拟器以及我的手机(以及一些朋友的手机)上工作正常.
编辑:我想这会发生在多个用户身上,因为我在市场上收到的评论就像"开始时崩溃"或"不起作用".我只收到了这一个堆栈跟踪,但没有关于配置,设备,Android版本等的信息.

该应用程序是一个简单的音板,所以没有任何魔术,但我无法理解为什么它在某些手机上失败.这是我得到的堆栈跟踪,我希望有人可以帮助我:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.app/com.my.app.SoundMachine}: java.lang.ClassNotFoundException: com.my.app.SoundMachine in loader dalvik.system.PathClassLoader[/mnt/asec/com.my.app-1/pkg.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.my.app.SoundMachine in loader dalvik.system.PathClassLoader[/mnt/asec/com.my.app-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
... 11 more
Run Code Online (Sandbox Code Playgroud)

这些是我活动的前几行:

public class SoundMachine extends Activity {
  private SoundManager mSoundManager;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
Run Code Online (Sandbox Code Playgroud)

编辑:这是(几乎)完成onCreate:

  @Override …
Run Code Online (Sandbox Code Playgroud)

android exception

68
推荐指数
6
解决办法
7万
查看次数

Android:ProgressDialog不显示

我正在尝试为Android-App创建一个ProgressDialog(只是一个简单的显示用户正在发生的东西,没有按钮或任何东西),但我无法正确.我一直在浏览论坛和教程以及SDK附带的示例代码,但无济于事.

这就是我得到的:

    btnSubmit.setOnClickListener(new View.OnClickListener() {
      public void onClick(View view) {
        (...)
          ProgressDialog pd = new ProgressDialog(MyApp.this);
          pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
          pd.setMessage("Working...");
          pd.setIndeterminate(true);
          pd.setCancelable(false);

          // now fetch the results
          (...long time calculations here...)

          // remove progress dialog
          pd.dismiss();
Run Code Online (Sandbox Code Playgroud)

我也试过添加pd.show();和搞乱参数,new ProgressDialog导致什么都没有(除了所选参数不起作用的错误),这意味着:ProgressDialog永远不会出现.应用程序只是保持运行,就好像我从未添加过对话框一样.

我不知道我是否在正确的地方创建了对话框,我把它移动了一下但是,这也没有帮助.也许我在错误的背景下?上面的代码是内部private ViewGroup _createInputForm()MyApp.

任何提示都表示赞赏,

android progressdialog android-context

38
推荐指数
2
解决办法
7万
查看次数

使用START_STICKY启动后服务进程终止后onStartCommand

我一直在阅读Android文档,我想知道是否有人可以了解服务实例在START_STICKY启动时服务实例发生的事情已经被杀死了.我假设本地状态数据(实例变量)也丢失了.在重新创建服务时,Android是否会做任何事情来帮助重新填充本地状态?

我有一些在意图中发送到服务的数据.在onStateCommand()中,我将根据intent中的内容填充服务的实例数据.根据我在Android文档中读到的内容,当服务被终止并重新启动时(传递给START_STICKY),传递给onStartCommand()的意图将为null.这是否意味着在重新创建服务时我丢失了intent和service的成员数据?

android

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

Android:使用DefaultHttpClient登录网站并保留会话/ cookie

我经历过不同的教程和这个网站,但找不到合适的解决方案.另一方面,我已经看到应用程序登录到网站并请求更多信息,所以我确信有一种方法可以使这个工作,但也许我的方法是错的.

这是我正在尝试做的事情:我想登录需要用户身份验证的网站,然后阅读并解析只有在用户登录后才能访问的网站.问题:在将证书发布到网站后,我收到了我的HttpClient中似乎没有保留的cookie,即使文档提示确实应该发生这种情况.

这是我的一些代码:

DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httpost = new HttpPost(LOGIN_URL);

List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair(USER_FIELD, login));
nvps.add(new BasicNameValuePair(PASS_FIELD, pw));
nvps.add(new BasicNameValuePair(REMEMBERME, "on"));

httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));

HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();

if (entity != null) {
  entity.consumeContent();
}

List<Cookie> cookies = httpclient.getCookieStore().getCookies();
Run Code Online (Sandbox Code Playgroud)

当我输出"cookies"的内容时,一切似乎都很好(我收到一个会话):

- [version: 0][name: ASP.NET_SessionId][value: xxx][domain: xxx][path: /][expiry: null]

据我所知,只要我不关闭它,cookie/session就会被保存并在我的HttpClient中使用.

在阅读下一页(受限制)时,使用以下代码:

HttpGet httpget2 = new HttpGet(RESTRICTED_URL);
response = httpclient.execute(httpget2);
entity = response.getEntity();
InputStream data = entity.getContent();
// data will be parsed …
Run Code Online (Sandbox Code Playgroud)

cookies session android login httpclient

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

Android:可绘制的分辨率

我已经阅读过这篇文章(以及其他文章)以及关于在Android中支持不同屏幕分辨率的文档,但我找不到一个(简单)问题的明确答案:

是否可以在Android应用中使用"res/drawable"图像?

背景:此特定应用程序中唯一需要的图像是应用程序图标本身和通知图标,任何布局中都不会有任何图像.
所以在我的理解中,如果没有找到"hdpi" - ,"mdpi" - 和"ldpi"文件夹,Android将使用"res/drawable"作为后备.
由于不同屏幕分辨率的唯一缺陷似乎是如果没有找到特殊的分辨率,Android会根据特定分辨率缩放图像,这在UPscaling时应该只是一个问题,因为图像会变得模糊.但是,如果我在"res/drawable"(而不是3个不同的)中提供所有"hdpi" - 图像,那么如果尺寸太大,Android会不会缩小这些图像?
如果这是真的,我可以通过三分之一的图像保存一些APK空间.

后续问题:我读过,对于API级别3,需要一个名为"drawable-v3"的目录.这个API级别的回退是真的还是"可绘制的"?

任何提示都表示赞赏.

android screen-resolution drawable

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

为什么var_dump显示文件名和行号?

就在最近,PHP中的var_dump()(目前使用的是5.6.23)在实际转储变量之前就开始打印出文件名和行号.我不知道服务器上有任何重大变化,所以我想知道为什么会这样,也就是在网上或PHP文档中找不到任何东西(var_dump())

使用命令行时也会发生奇怪的行为:

 > php -r 'var_dump("lol");'
 Command line code:1:
 string(3) "lol"
Run Code Online (Sandbox Code Playgroud)

虽然我习惯于"字符串(3)"lol""被打印.

这不是一个showstopper,但打破了我的几个单元测试,我需要比较一些使用var_dump()打印的API的输出.我首先想到它可能与xdebug有关,但找不到任何似乎与此问题相关的指令.

任何提示导致这一点的提示都表示赞赏.

php var-dump

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

Symfony 4.4 未知的 inky_to_html 过滤器

我最近将 Symfony 更新到 4.4(从 4.3)并且我的翻译文件不能再自动更新(使用php bin/console tran:up --force)。弹出的错误是:

In body.html.twig line 1:
Unknown "inky_to_html" filter.
Run Code Online (Sandbox Code Playgroud)

有问题的文件是vendor/symfony/twig-bridge/Resources/views/Email/zurb_2/notification/body.html.twig我从未使用过的,我不知道为什么突然包含它。为了摆脱我试图要求twig/inky-extra但需要 ext-xsl-extension 的消息,我真的不想用我不需要的东西来膨胀我的代码只是为了摆脱与树枝扩展相关的错误这也不需要。

我尝试按照此处所述更改翻译界面的版本,但这也没有任何改变。

我想这与我的项目有关,因为我找不到任何类似的问题,但我无法弄清楚,因此感谢您提供任何帮助。

编辑:这是我的 composer.json,它与创建 Symfony 4.3 项目时生成的基本相同,我只更改了版本名称以按照文档中的描述升级并运行composer update.

{
  "type": "project",
  "license": "proprietary",
  "require": {
    "php": "^7.1.3",
    "ext-ctype": "*",
    "ext-iconv": "*",
    "ext-intl": "*",
    "apy/breadcrumbtrail-bundle": "^1.5",
    "craue/config-bundle": "^2.3",
    "easycorp/easy-log-handler": "^1.0",
    "friendsofsymfony/jsrouting-bundle": "^2.4",
    "league/csv": "^9.4",
    "nesbot/carbon": "^2.25",
    "sensio/framework-extra-bundle": "^5.1",
    "sg/datatablesbundle": "^1.1",
    "symfony/apache-pack": "^1.0",
    "symfony/asset": "^4.0",
    "symfony/console": "^4.0",
    "symfony/dotenv": "^4.0",
    "symfony/expression-language": "^4.0",
    "symfony/flex": …
Run Code Online (Sandbox Code Playgroud)

php symfony symfony4

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

Android:将声音另存为铃声和通知

我正在从应用程序中保存声音,以用作铃声或通知声音。这是我的代码的一部分,摘自页面:

ContentValues values = new ContentValues();
values.put(MediaStore.MediaColumns.DATA, k.getAbsolutePath());
values.put(MediaStore.MediaColumns.TITLE, soundName);
values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/ogg");
values.put(MediaStore.Audio.Media.ARTIST, "artist");
values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true);
values.put(MediaStore.Audio.Media.IS_ALARM, true);
values.put(MediaStore.Audio.Media.IS_MUSIC, false);

Uri uri = MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath());
this.getContentResolver().insert(uri, values);
Run Code Online (Sandbox Code Playgroud)

我的理解是,由于标记都设置为“ true”,因此将保存声音以及铃声,通知声音和警报。至少在模拟器上,它确实有效,但是在实际设备上,声音仅显示在铃声列表中,我不知道为什么。

编辑:我试图进一步调查:删除带有“ IS_RINGTONE”的行不会更改任何内容(以防一次只能使用一个标志),声音不会在通知中显示在列表中-声音。

任何帮助表示赞赏。

亲切的问候,Select0r

audio notifications android ringtone

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

Android:访问“系统”-drawables

我目前正在开发一个应用程序来显示电池状态,我想使用 Android-drawables 而不是自己的图像来减小应用程序的大小。

我发现这个页面列出了每个 SDK 版本的可用图像和可用性:http :
//www.fixedd.com/projects/android_drawables_display

我的问题:如何访问“系统”-drawables?如果您单击链接并选择“状态”选项卡,则有一些电池可绘制对象,例如“stat_sys_battery_0”,但我无法访问它,Eclipse 不提供智能感知,并且如果我无法编译应用程序使用这些可绘制对象之一。

由于这些可绘制对象是所有 SDK 版本的一部分,我认为我应该能够使用它们,或者这些“特殊”可绘制对象是否以某种方式受到保护,以便它们只能由系统功能(而不是应用程序)使用?

任何想法表示赞赏。

选择0r

android drawable

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

在Android中检查多个复选框

CheckBox checkOne = (CheckBox) findViewById(R.id.checkOne);
checkOne.setSelected(true);

CheckBox checkTwo = (CheckBox) findViewById(R.id.checkTwo);
checkTwo.setSelected(true);

CheckBox checkThree = (CheckBox) findViewById(R.id.checkThree);
checkThree.setSelected(true);
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码来检查或取消选中多个复选框.

我的问题是,有什么方法可以立刻获得所有复选框吗?(我不想使用数组)例如,我的复选框位于LinearLayout中,所以我可以将所有复选框作为LinearLayout的子项吗?

checkbox android

3
推荐指数
1
解决办法
5125
查看次数

Composer Curl 错误 60:SSL 证书问题:无法获取本地颁发者证书

我正在尝试让 Composer 在使用代理的远程 Windows 机器上工作,但在执行 Composer 安装/更新时总是出现此错误:

[Composer\Downloader\TransportException] 下载https://flex.symfony.com/versions.json 时出现 curl 错误 60 :SSL 证书问题:无法获取本地颁发者证书

这是我的 composer.bat:

@echo OFF
:: in case DelayedExpansion is on and a path contains ! 
setlocal DISABLEDELAYEDEXPANSION
set HTTP_PROXY=<proxyurl>
php "%~dp0composer.phar" %*
Run Code Online (Sandbox Code Playgroud)

显然需要设置代理,如果我删除该行,则错误变为:

[Composer\Downloader\TransportException] 下载https://flex.symfony.com/versions.json 时出现 curl 错误 28 :操作在 10000 毫秒后超时,收到 0 个字节中的 0 个字节

composer diag 给我这个(使用代理集):

Checking composer.json: OK
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: …
Run Code Online (Sandbox Code Playgroud)

php ssl composer-php

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

Symfony/Doctrine:获取可用命令列表

我有一个 Symfony 项目,我试图在我的控制器中获取可用命令的列表,所以我尝试执行list-command(连同--format=xml)来实现这一点。

我使用此处列出的代码从控制器运行命令,但最终出现错误“不推荐使用连接提供程序作为第一个构造函数参数已弃用”

这是代码:

    $application = new Application($kernel);
    $application->setAutoExit(false);
    $input  = new ArrayInput(['command' => 'list', '--format' => 'xml']);
    $output = new BufferedOutput();
    $application->run($input, $output);
    $content = $output->fetch();
Run Code Online (Sandbox Code Playgroud)

提到的错误发生在vendor\doctrine\dbal\lib\Doctrine\DBAL\Tools\Console\Command\RunSqlCommand.php. 这是完整的跟踪:

    $application = new Application($kernel);
    $application->setAutoExit(false);
    $input  = new ArrayInput(['command' => 'list', '--format' => 'xml']);
    $output = new BufferedOutput();
    $application->run($input, $output);
    $content = $output->fetch();
Run Code Online (Sandbox Code Playgroud)

奇怪的是,无论是否将格式设置为 XML,运行“bin/console list”(或只是“bin/console”)都不会显示错误,使用上述代码从我的控制器运行任何其他命令也可以正常工作。

我正在使用 Symfony 5.1.7 和 Doctrine-bundle 2.1,我已经尝试将学说/持久性降级到 1.x,因为 2.x 显示某些库存在一些问题,但都无济于事。

php doctrine symfony

0
推荐指数
1
解决办法
1499
查看次数