小编use*_*216的帖子

Java / Android最佳等效于C#linq

让我们看一下这个示例C#代码:

List<int> numbers = new List<int>() { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
int numCount = numbers.Where(n => n < 3 || n > 7).Count();
Run Code Online (Sandbox Code Playgroud)

我对Java最相似的东西很着迷,显然不需要编写幻想的for / foreach循环来迭代集合。

据我所知,在Java中没有确切的linq equivalnet,但是我仍然是Java编程的初学者,所以您有什么可以推荐给我的吗?我实际上正在寻找在Java中实现相同结果的最紧凑,最优雅的方法

[添加]因此,感谢所有答复。但是,我需要在Android上使用它,但似乎不行。有什么解决办法吗?

(很抱歉,它是重复的)

[添加]有人尝试过吗? http://sourceforge.net/projects/streamsupport/

c# java linq android

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

NotificationCompat - 如何添加没有图标的动作?

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, channelId)
                .setSmallIcon(R.drawable.schedule)
                .addAction(R.drawable.icon,"action test",pi)
                .setStyle(new NotificationCompat.BigTextStyle().bigText(body))
                .setContentTitle(title)
                .setContentText(body);
Run Code Online (Sandbox Code Playgroud)

上面的代码创建通知并向其添加一个操作(按钮).我希望我的按钮没有显示图标,但我不知道该怎么做,因为icon参数addAction 是必需的而不是可空的.

甚至可以在没有任何图标的情况下向通知添加动作按钮(顺便说一句,动作按钮上的图标似乎甚至没有显示在Nougat an Oreo上).

java notifications icons android action

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

Flutter 持久化通知和服务

我计划开发简单的音频播放器,但目前我被困在通知支持上。我想要在音频播放时持久的通知,我还需要一些控件(如播放/暂停、下一个/上一个)和可能在通知中可见的同人画。这与大多数其他播放器(Aimp、Google Play 音乐等)类似。

我期待着如何使用 Dart/Flutter 开发它的好例子,即使不为每个平台(Android/iOS)编写本机代码也有可能吗?是否有任何插件在两个平台上都支持这种通知?另外,当然,绑定到它的前台服务不会在屏幕关闭时终止音频播放。

service notifications dart flutter

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

Mono 3.0/Debian/asp.net - 找不到方法:'System.Configuration.IConfigurationSectionHandler.Create

Debian Sid,Mono 3.0.我正在尝试运行mvc应用程序(它在将mono升级到3.0之前有效).这是抛出的异常:

Exception caught during reading the configuration file:
System.MissingMethodException: Method not found: 'System.Configuration.IConfigurationSectionHandler.Create'.
  at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection (System.String configKey) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationManager.GetSection (System.String sectionName) [0x00000] in <filename unknown>:0 
  at System.Configuration.ConfigurationManager.get_AppSettings () [0x00000] in <filename unknown>:0 
  at Mono.WebServer.Apache.Server.get_AppSettings () [0x00000] in <filename unknown>:0 
  at Mono.WebServer.Apache.Server+ApplicationSettings..ctor () [0x00000] in <filename unknown>:0 
Run Code Online (Sandbox Code Playgroud)

我还发现了在/ usr/bin/mod-mono-server4中进行更改的提示:

#!/bin/sh
exec /usr/bin/mono $MONO_OPTIONS "/usr/lib/mono/4.0/mod-mono-server4.exe" "$@"
Run Code Online (Sandbox Code Playgroud)

至:

#!/bin/sh
exec /usr/bin/mono $MONO_OPTIONS "/usr/lib/mono/4.5/mod-mono-server4.exe" "$@"
Run Code Online (Sandbox Code Playgroud)

不幸的是,没有这样的文件:/usr/lib/mono/4.5/mod-mono-server4.exe(/usr/lib/mono/4.5/目录中没有这样的文件).

你有什么想法有什么不对吗?我的应用程序是ServiceStack简单网页,它适用于单声道2.10.但升级到3.0后它不再起作用了.

c# linux asp.net asp.net-mvc mono

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

Flutter DropdownButton - 从休息网络服务填充项目

我的fetchCities()方法返回Future<List<City>>并从rest webservice加载数据。填充项目的代码:

 Widget buildCitiesSelector(){

    return new Center(
        child: FutureBuilder(
            future: fetchCities() ,
            builder: (context, snapshot){
              if (snapshot.hasData) {
                return new DropdownButton <City>(
                    hint: Text('Wybierz miasto'),
                  items: snapshot.data.map<DropdownMenuItem<City>>((City value) {
                    return DropdownMenuItem<City>(
                      value: value,
                      child: Text(value.name),
                    );
                  }).toList(),
                  onChanged: (value) {
                      setState(() {_selectedCity = value;});
                  },
                  value: _selectedCity,
                );
              }
              else{
                return CircularProgressIndicator();
              }
            }

        )

    );
  }
Run Code Online (Sandbox Code Playgroud)

结果:项目在选择器中正确显示。但是,在选择任何特定项目时,我遇到了异常:

我/扑(13910):???小部件库捕获的异常 ????????????????????????????????????????????? ??????????????? I/flutter (13910): 以下断言被抛出 building FutureBuilder>(dirty, state: I/flutter (13910): _FutureBuilderState>#dacd9): I/flutter (13910): 'package:flutter/src/material/dropdown .dart':断言失败:第 560 行 …

combobox asynchronous dart flutter

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

Java-将类型传递给超类静态方法

假设我有一个简单的课程:

public class TestClass
{
    public String field1 = "Field1";
    public String field2 = "Field2";
    public String field3 = "Field3";
}
Run Code Online (Sandbox Code Playgroud)

我的项目中有多个pojo类,我希望能够将每个对象序列化为json。因此,我创建了新Serializer类(用于序列化的gson):

public class Serializer
{
    public String toJson()
    {
        return new Gson().toJson(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的示例类扩展了Serializer:

public class TestClass extends  Serializer
{
    public String field1 = "Field1";
    public String field2 = "Field2";
    public String field3 = "Field3";
}
Run Code Online (Sandbox Code Playgroud)

而且我可以Serializer通过调用toJson方法来序列化扩展类的任何对象,如下所示:

TestClass test1 = new TestClass();
String json =  test1.toJson();
Run Code Online (Sandbox Code Playgroud)

现在我想通过调用静态方法来构造类对象fromJson。所以我TestClass …

java generics inheritance types

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

更改弹出菜单样式 - 无法正常工作

我正在尝试将样式应用于Android弹出菜单.按钮单击时显示菜单.在我的例子中,我想设置黑色菜单背景.

那么,我的菜单布局:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:title="Item 1"
        android:id="@+id/menu1">
    </item>

    <item
        android:title="Item 2"
        android:id="@+id/menu2">
    </item>

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

接下来,我的活动布局:

<?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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.michal.popupmenu.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:onClick="btnClick"
        android:nestedScrollingEnabled="true"/>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

单击按钮时显示菜单的代码:

public class MainActivity extends AppCompatActivity
{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void btnClick(View view)
    {
        showMenu(view);

    }


    public void showMenu(View v)
    {
        PopupMenu popup = new …
Run Code Online (Sandbox Code Playgroud)

android styles background popupmenu

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

Retrofit / RxJava-获取http响应代码

Android,翻新,RxJava。请查看以下示例调用:

 mcityService.signOut(signOutRequest)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(resp ->
                {
                    busyIndicator.dismiss();
                    finish();
                }, throwable ->
                {
                    Log.d(tag, throwable.toString());
                    busyIndicator.dismiss();
                    Toast.makeText(this,throwable.getMessage(),Toast.LENGTH_LONG).show();
                    finish();
                });
Run Code Online (Sandbox Code Playgroud)

有人知道如何从throwable获取错误代码(作为错误号)吗?我能够获取完整的stacktrace或消息(如上所示)。如何捕获错误代码?

来自throwable的错误代码: 在此处输入图片说明

android http-error retrofit2 rx-java2

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

将Android Studio更新到3.3后Crashlytics无法正常工作

因此,gradle插件也更新为3.3,而Gradle也更新为4.10。之后,Crashlytics停止工作并出现错误:

Crashlytics found an invalid API key: null
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我被迫恢复Gradle使其重新工作。使用Firebase配置的Crashlytics

api-key gradle android-studio crashlytics-android

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

Bazel - 无法使用 Android Studio 进行构建

首先,我安装并配置了 Bazel,现在我可以使用该教程成功编译和部署应用程序。

但是,我还是坚持使用 Android Studio。我安装了官方 Bazel 插件,然后尝试将我的 Bazel 项目导入到 Android studio(从 BUILD 文件导入)。我收到同步错误:

同步项目:同步(增量)...更新 VCS...运行 Bazel 信息...命令:bazel info --tool_tag=ijwb:AndroidStudio --curses=no --color=yes --progress_in_terminal_title=no --

计算 VCS 工作集...查询项目目录中的目标...命令: bazel query --tool_tag=ijwb:AndroidStudio --output=label_kind --keep_going "attr(\"tags\", \"^((?!手册).)*$\", //src/main/...:all)" --

在项目目录下找到2个目标;同步其中 2 个。从项目视图目录同步目标:
//src/main/java/com/example/bazel:greeter_activity //src/main:app

构建 Bazel 目标...命令: bazel build --tool_tag=ijwb:AndroidStudio --keep_going --build_event_binary_file=/tmp/intellij-bep-782d8b0b-2f34-43f6-8f09-1efdd034cbfb --nobuild_event_binary_file_path_conversion --curses=no -- color=yes --progress_in_terminal_title=no --aspects=@intellij_aspect //:intellij_info_bundled.bzl%intellij_info_aspect --override_repository=intellij_aspect=/home/michal/.AndroidStudio3.5/config/plugins/aswb/aspect --output_groups=intellij -info-android,intellij-info-generic,intellij-info-java,intellij-resolve-android,intellij-resolve-java -- //src/main/java/com/example/bazel:greeter_activity //src/main :应用程序

正在加载:正在加载:已加载 0 个包正在分析:2 个目标(已加载 0 个包,已配置 0 个目标)正在分析:2 个目标(已加载 31 个包,已配置 622 个目标)错误:/home/michal/AndroidStudioProjects/bazel/2/examples-master/ android/tutorial/src/main/java/com/example/bazel/BUILD:5:1:在 android_library 规则上的 …

java intellij-idea android-studio bazel

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