让我们看一下这个示例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/
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上).
我计划开发简单的音频播放器,但目前我被困在通知支持上。我想要在音频播放时持久的通知,我还需要一些控件(如播放/暂停、下一个/上一个)和可能在通知中可见的同人画。这与大多数其他播放器(Aimp、Google Play 音乐等)类似。
我期待着如何使用 Dart/Flutter 开发它的好例子,即使不为每个平台(Android/iOS)编写本机代码也有可能吗?是否有任何插件在两个平台上都支持这种通知?另外,当然,绑定到它的前台服务不会在屏幕关闭时终止音频播放。
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后它不再起作用了.
我的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 行 …
假设我有一个简单的课程:
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 …
我正在尝试将样式应用于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,翻新,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或消息(如上所示)。如何捕获错误代码?
因此,gradle插件也更新为3.3,而Gradle也更新为4.10。之后,Crashlytics停止工作并出现错误:
Crashlytics found an invalid API key: null
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我被迫恢复Gradle使其重新工作。使用Firebase配置的Crashlytics
首先,我安装并配置了 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 规则上的 …
android ×4
java ×4
c# ×2
dart ×2
flutter ×2
action ×1
api-key ×1
asp.net ×1
asp.net-mvc ×1
asynchronous ×1
background ×1
bazel ×1
combobox ×1
generics ×1
gradle ×1
http-error ×1
icons ×1
inheritance ×1
linq ×1
linux ×1
mono ×1
popupmenu ×1
retrofit2 ×1
rx-java2 ×1
service ×1
styles ×1
types ×1