小编unl*_*101的帖子

是否可以在Android API <24上使用Java 8 Stream API?

我在这里看过这篇文章.但我仍然无法在minSdkVersion <24上运行包含Java 8 Stream API功能的代码,如下所示.

List<Car> newCars = cars.stream()
                        .filter(s -> s.getColor().equals("red"))
                        .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

由于错误消息,这不会运行

调用需要API级别24(当前最小值为15):java.util.Collection #stream

那么有人知道解决方案吗?

java android java-8 java-stream

80
推荐指数
4
解决办法
3万
查看次数

React Native是否将JavaScript编译为Java for Android?

当我使用React Native开发混合应用程序时.当我从React Native代码创建Android-App时,我编写的JavaScript代码是否会转换为Dalvik/ART Runtime的Java-Code或Java-Bytecode?或者只是编译为本机UI组件的UI组件?或者像Fetch API这样的库是否将JavaScript代码编译成Java-Code或Java-Bytecode?

javascript java android react-native react-native-android

48
推荐指数
4
解决办法
2万
查看次数

将stdout和stderr重定向到同一文件并将其还原

我将我的c程序的stderr和stdout的输出重定向到两个文件,然后恢复原始的stdout和stderr:

int sout = dup(fileno(stdout));
freopen("test.txt","w",stdout);

int serr = dup(fileno(stderr));
freopen("test.txt","a",stderr);

//some output....

dup2(sout,fileno(stdout));
close(sout);

dup2(serr,fileno(stderr));
close(serr);
Run Code Online (Sandbox Code Playgroud)

这就是代码示例.这有效.

但是我想将stdout和stderr重定向到同一个文件(以后再恢复它),以便输出按照与不重定向stderr和stdout时在控制台输出上排序的顺序相同的顺序排序.我怎样才能做到这一点?

c redirect stdout stderr output

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

如何使用Charles Proxy分析来自Android 6模拟器的https流量

我想分析我正在为Android开发的应用的https流量.
Charles Web Debugging Proxy是我想要使用的工具.我有以下系统配置:

  • Mac OS X El Capitan版本10.11.5
  • Android Studio 2.1.2
    • Build#AI-143.2915827,建于2016年5月26日
    • Android SDK工具25.2.0 rc1
    • 平台版本:API 24:Android 6.X(N)版本2
  • Charles Web Debugging Proxy v 3.11.5 30天试用版

我已经在StackOverflow上阅读过几篇文章,例如

但我还没达到目标.我走过了所有重要的步骤:

  • Charles Root证书已安装并添加到Max OS X Keychain并受到信任
    • 打开代理设置:代理 - >代理设置,代理选项卡,选中"启用透明HTTP代理"
    • 打开SSL代理设置:代理 - > SSL代理设置,SSL代理选项卡,选中"启用SSL代理"
  • Android Emulator从Android Studio Terminal开始 ~/Library/Android/sdk/tools/emulator -netdelay none -netspeed full -http-proxy <IP_FROM_DEVICE_WITH_CHARLES_PROXY_INSTALLED>:8888 -avd Nexus_5_API_23
  • 证书从http://charlesproxy.com/getssl安装
  • 或者由Charles Proxy保存的证书,由openssl转换为.crt并安装在模拟设备上

我可以毫无问题地阅读Charles Proxy中的所有http流量.我也可以阅读https流量 Charles只列出IP地址.有条目喜欢

https://173.194.65.188:5228
Run Code Online (Sandbox Code Playgroud)

所以ip地址没有解决.如何获得真正的https网址?我是否必须在某处为https激活DNS?

macos https android android-virtual-device charles-proxy

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

如何为ButterKnife 8配置ProGuard设置?

我在我的Android应用程序中运行ButterKnife版本8.5.1.如果我尝试为ButterKnife进行ProGuard设置,我的发行版本仍然会崩溃.官方的ButterKnife Github页面上有一个问题,它告诉您进行以下设置:

-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }

-keepclasseswithmembernames class * {
     @butterknife.* <fields>;
}

-keepclasseswithmembernames class * {
    @butterknife.* <methods>;
}
Run Code Online (Sandbox Code Playgroud)

或者,它被编写为使用这些设置:

# Butterknife
-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepnames class * { @butterknife.InjectView *;}
Run Code Online (Sandbox Code Playgroud)

这些都不适合我的配置.访问ButterKnife绑定的视图时,我仍然遇到崩溃.那么你需要为ButterKnife 8制作任何新的设置吗?

android butterknife android-proguard

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

C中允许的最大静态数组大小是多少?

在我的算法中,我知道使用静态数组,没有动态数组.但我有时会达到堆栈的极限.我是对的,静态数组是否存储到堆栈中?

哪个参数会影响一个C程序的最大堆栈大小?

是否存在影响最大阵列大小的系统参数?最大化没有.元素取决于数组类型?它取决于系统总RAM吗?或者每个C程序都有一个静态的最大堆栈大小?

c arrays stack max

6
推荐指数
2
解决办法
9838
查看次数

C中的二维数组是否需要使所有元素连续?

我从朋友那里听说C中的二维数组只能在语法上得到支持.

他告诉我要更好地使用,float arr[M * N]而不是float[M][N]因为像gcc这样的C编译器不能保证在每个系统/平台上数据都在内存中串联.

我想在我的硕士论文中用它作为论据,但我没有任何参考.

所以第一个问题:

他说的是对的吗?

第二个问题:

你知道是否有书或文章在哪里可以找到这个陈述?

谢谢+问候

c arrays

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

了解 RxJava 基础知识

我只是在使用 RxJava 做我的第一步,利用本教程。我明白什么是一个Observable,什么是一个Subscriber。但是我在“连接”它们时遇到了问题。我刚刚想到了这样一个任务:一个活动 A 启动一个活动 B。活动 B 有一个按钮,你可以用它创建一个Date包含当前日期的按钮。另一个按钮发出它Date并完成活动 B。活动 A 订阅发出的Date-Observable 并显示当前日期。(我知道这通常是通过使用活动结果来完成的)。我有以下问题:

我可以Date通过此代码在活动 B 中创建一个-Observable(实例 mDate 是类型Date并在活动 B 中的其他位置创建):

Observable<Date> dateObservable =
            Observable.create(sub -> {
        sub.onNext(mDate);
        sub.onCompleted();
    });
Run Code Online (Sandbox Code Playgroud)

但是在 Activity AI 中必须订阅它。但是我没有提到活动 B 中的 Observable。我想在我的Application班级中静态创建 Observable,但我还不知道它的价值mDate。我可以以某种方式创建某种类型的 Observable 而不实现“call()”-Method(在哪里onNext()onCompleted()被调用)?那么我已经有一个可以在我的 Aativity 中订阅的 Observable 实例。然后我可以在活动 B 中实现“call()”-Method?或者我可以使用其他 RxJava 特性来实现我描述的目标吗?

android observable rx-java

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

Android TestCase中的Dagger 2依赖注入

我已经构建了一个示例应用程序(是的,它实际上只是一个示例,并没有多大意义,但有助于理解Dagger 2中的Android干净架构和依赖注入).我的代码可以在github上找到.(过时.看到这篇文章)示例应用程序只是让你输入一个名称EditText,如果按下按钮,你会看到一条消息"Hello YourName"

我有三个不同的组件:ApplicationComponent,ActivityComponentFragmentComponent.FragmentComponent包含三个模块:

  • ActivityModule
  • FragmentModule
  • InteractorModule

InteractorModule提供了一个MainInteractor.

@Module
public class InteractorModule {

    @Provides
    @PerFragment
    MainInteractor provideMainInteractor () {
        return new MainInteractor();
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的Activity-UnitTest中,我想假装这个MainInteractor.这个Interactor只有一个public Person createPerson(String name)可以创建Person对象的方法.在FakeMainInteractor具有相同的方法,但总是创建了一个名为"冒充者" Person对象,你传递的参数了独立的.

public class FakeMainInteractor {
    public Person createPerson(final String name) {
        return new Person("Fake Person");
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经为上面描述的evey组件I创建了TestComponents.在TestFragmentComponent我换InteractorModuleTestInteractorModule.

@PerFragment
@Component(dependencies = TestApplicationComponent.class, modules …
Run Code Online (Sandbox Code Playgroud)

java android unit-testing dependency-injection dagger-2

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

没有摘要的通知组无法工作

我正在实施通知并希望将它们分组以在通知栏中显示。

目前,我正在实施Android 官方开发人员文档中 创建一组通知中的示例。

我实现了这个方法:

private void makeNotification()
{
    createNotificationChannel();

    int SUMMARY_ID = 0;
    String GROUP_KEY_WORK_EMAIL = "com.android.example.WORK_EMAIL";
    String CHANNEL_ID = "MY_CHANNEL_ID";

    Notification newMessageNotification1 =
            new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
                    .setSmallIcon(R.drawable.ic_map_position_icon)
                    .setContentTitle("First summary")
                    .setContentText("You will not believe...")
                    .setGroup(GROUP_KEY_WORK_EMAIL)
                    .build();

    Notification newMessageNotification2 =
            new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
                    .setSmallIcon(R.drawable.ic_map_nav_position_icon_grey)
                    .setContentTitle("Second summary")
                    .setContentText("Please join us to celebrate the...")
                    .setGroup(GROUP_KEY_WORK_EMAIL)
                    .build();

    Notification summaryNotification =
            new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
                    .setContentTitle("Total summary")
                    .setContentText("Two new messages")
                    .setSmallIcon(R.drawable.ic_wdw_dont_drive)
                    .setGroup(GROUP_KEY_WORK_EMAIL)
                    .setGroupSummary(true)
                    .build();

    NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);

    notificationManager.notify(1, newMessageNotification1);
    notificationManager.notify(2, newMessageNotification2);
    notificationManager.notify(SUMMARY_ID, summaryNotification); …
Run Code Online (Sandbox Code Playgroud)

android android-notifications

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

在 DialogFragment 中时未触发 onKeyDown() 事件

我在我的应用程序中捕获关键事件(从外部键盘)。我使用onKeyDown()来自 的方法Activity。在我的应用程序中,我在不同的片段之间切换。如果我处于正常状态,则按下按钮时会触发Fragment活动。onKeyDown()但是当我使用 aDialogFragment作为对话框时,按下按钮不会再触发Activity'sonKeyDown()` 。

这里有一些示例代码:

class MainActivity : AppCompatActivity() {

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

    fun onClick(view: View) {
// a) Key Event works if adding it via a fragment transaction by my own
//        val fragment = MyDialogFragment.newInstance()
//        val fragmentTransaction = supportFragmentManager.beginTransaction()
//        fragmentTransaction.add(R.id.fr_container, fragment, fragment.javaClass.name)
//        fragmentTransaction.commit()

// b) Key Event doesn't work if showing as a dialog
        val fragment = MyDialogFragment.newInstance() …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-activity android-dialogfragment kotlin

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

高阶函数作为枚举参数

我想使用高阶函数作为枚举参数。但这行不通。我有以下声明:

enum class Enum(val someValue: Int, val someMethod: () -> Unit)
{
    FIRST_VALUE(0, {method0()}),
    SECOND_VALUE(1, {method1()})

    fun method0() {

    }

    fun method1() {

    }
}
Run Code Online (Sandbox Code Playgroud)

但又method0()找不到method1()。错误是Unresolved reference: method0.

是否可以通过枚举来实现这一点?

enums kotlin

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

您对NativeScript的体验如何?

有没有人有NativeScript的经验,可以将它与开发本机应用程序进行比较,特别是对于Android?

我读过所有这些文章:

我知道其中有三个可能已经过时了.但我想问你所有的开发人员:

  1. 您对NativeScript的体验如何?
  2. 有没有你不能使用的Android组件?这些是哪些?
  3. 造型真的如此有限吗?
  4. 应用程序在运行时真的看起来与在上面引用的第一篇文章的图片中的样机真的不同吗?
  5. 将原生Android对象加载到JavaScript代码中是否始终正常工作?
  6. NativeScript是否使用我编写的NativeScript代码生成Android-Platform的Java代码?
  7. 如果我想使用一些仅限本机的功能,是否可以修改此代码?如果我想进行UI更改怎么办?我是否必须重新生成代码,然后我会错过我的原生扩展吗?

android telerik hybrid-mobile-app nativescript

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