小编Ada*_*331的帖子

在Android Studio中运行项目时出现"INSTALL_PARSE_FAILED_MANIFEST_MALFORMED"错误

我意识到这可能是一个重复的问题,我发现了多个问题,寻找相同的错误,但仍然无法解决问题.

我正在开发一个Android应用程序,现在只有一个活动(登录屏幕),当我尝试运行该应用程序时,会出现一条错误消息:

pkg: /data/local/tmp/MyName.myapp
Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED]
Run Code Online (Sandbox Code Playgroud)

正如我所说,我傻眼了.有没有人经历过这个,或者在我的清单文件中注意到一些与众不同的东西?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="AdamMc.myapp" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name=".LoginActivity"
            android:label="@string/app_name" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

java android android-manifest android-studio

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

编写lambda表达式以从对象列表中获取属性列表

我有以下两个对象:

ProjectPrimitives:
   Name
   ProjectId
   StartDate

ProjectDetails
   ProjectPrimitives
   Description
   Location
   // Other details
Run Code Online (Sandbox Code Playgroud)

在我的应用程序中,我有一个List<ProjectDetails>并且想要解析它们中的所有原语以获得List<ProjectPrimitives>使用lambda表达式.实际上,我想取代这个:

var primList = new List<ProjectPrimitives>();
foreach(ProjectDetails pd in myDetailsList)
{
   primList.add(pd.primitives);
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试过一些东西但是找不到正确的语法,如果这实际上可以使用lambda语句.我尝试过的一件事是:

var prims = myList.Where(i => i.primitives).ToList();
Run Code Online (Sandbox Code Playgroud)

但编译器期望Where()函数内部有一个布尔值,我不知道还有什么可以放在那里.

c# lambda

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

使用一维数组设计二项式系数算法

我已经设计了以下算法,使用二维数组确定二项式系数。例如,要计算 n 选择 k 的二项式系数,我们可以创建一个二维数组,如下所示:

int[][] arr = new int[n][k];
Run Code Online (Sandbox Code Playgroud)

我们可以通过以下方式填充数组:

for(int i = 0; i <= n; i++){
   for(int j = 0; j <= minimum(i, k); j++){
      if(j == 0 || i == j){
         arr[i, j] = 1;
      } else{
         arr[i, j] = arr[i - 1, j - 1] + arr[i - 1, j];
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

但是,我需要重新设计该算法以使用索引 0-k 的一维数组。我很难确定如何做到这一点。我从小步开始,并意识到一些常见现象:

  • 如果 k = 0,则 arr[0] 将为 1,并且无论 n 如何,都会返回该值。
  • 如果 k = 1,arr[0] 将为 1,arr[1] 应该为 n(如果我在循环中设计它)。

当我说 k …

arrays algorithm binomial-coefficients pascals-triangle

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

doOnNext中不会发出可观察的startWith

我有许多Observable用于我的应用程序中的网络请求.由于这么多是相同的,我对它们应用了一个Observable转换:

/**
 * Creates a transformer that applies the schedulers and error handling for all of the observables in this ViewModel.
 */
private fun applyTransformations(): Observable.Transformer<NetworkState, NetworkState> {
    return Observable.Transformer { observable ->
        observable
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .onErrorReturn { NetworkState.Error(it) }
                .doOnNext { publishState(it) }
                .startWith(NetworkState.Loading())
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图通过以上目标实现的目标:

  • 应用一致的调度程序
  • 通过返回我的密封类的实例来处理任何错误.
  • 通过发布observable返回的状态来处理任何onNext.
  • 通过发送加载状态开始.

这很好用,但我注意到的是,当我调用startWith和加载状态时,它实际上从未实际处理过doOnNext().换句话说,publishState()永远不会调用我的加载状态.

在我设置observable的地方,我不打算添加订阅者,因为doOnNext()以上就是我需要的所有内容:

val subscription = repository.getInstagramPhotos(count)
        .map { mapIGPhotoResponse(it) }
        .compose(applyTransformations())
        .subscribe()
Run Code Online (Sandbox Code Playgroud)

但是,如果我要提供上面的订户,它将处理加载状态.它还将处理两个onNext()调用 - 一个用于提供的订户,另一个用于doOnNext转换.

有没有办法修改此 …

android rx-java

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

从数据绑定Android调用Kotlin函数类型

我有一个BaseObservable用于数据绑定以显示网络状态的。在此类中,我传递了一个重试回调,该回调在每次单击按钮时都想运行:

class NetworkStateViewModel(val retryCallback: () -> Unit) : BaseObservable() {
    var networkState: NetworkState? = null
        set(value) {
            field = value

            notifyChange()
        }

    val isLoading: Boolean
        @Bindable get() = networkState is NetworkState.Loading

    val isShowingError: Boolean
        @Bindable get() = networkState is NetworkState.Error

    val errorText: String
        @Bindable get() = (networkState as? NetworkState.Error)?.error?.message.orEmpty()
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试retryCallback通过数据绑定进行引用时,它不能像它所说的那样进行编译cannot find method retryCallback() in class NetworkStateViewModel

<Button
    ...
    android:onClick="@{() -> viewModel.retryCallback()}"
    ... />
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经找到一种解决方法,我将其单独发布作为答案,但是我想知道是否可以直接调用此方法。

android kotlin android-databinding

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

SQL查询一系列值和一个单值

我试图在MySQL中编写一个查询来选择表中值为1到10或等于15的所有列.

我知道它看起来像这样,但这不正确:

SELECT *
FROM some_values
WHERE value_id BETWEEN 1 AND 10...AND value_id='15'
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

将价格的整数表示形式转换为双重表示形式

我有一张叫做的桌子products.它存储产品名称及其价格.价格以整数的格式存储为美分.

当我选择我的数据时:

  SELECT name, price 
  FROM products
Run Code Online (Sandbox Code Playgroud)

我得到这样的数据:

  Name    Price
  Car     3032
  Banana  178
Run Code Online (Sandbox Code Playgroud)

但我希望数据格式如下:

  Name    Price
  Car     30,32
  Banan   1,78
Run Code Online (Sandbox Code Playgroud)

这可能吗?我现在的功能就像sum,count.. etc

mysql sql

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