小编Kar*_*yan的帖子

了java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法在Android Studio中3.0合并DEX

这是我的gradle文件:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '27.0.0'
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        multiDexEnabled true
        applicationId 'com.example.test'
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    productFlavors {
    }
    dexOptions {
        incremental true
    }
}

dependencies {
    compile 'com.google.android.gms:play-services:10.0.1'
    compile 'com.android.support:appcompat-v7:26.+'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
    compile 'commons-io:commons-io:1.3.2'
    compile 'com.mcxiaoke.volley:library:1.0.19'
    compile 'com.facebook.stetho:stetho:1.5.0'
    compile 'com.github.PhilJay:MPAndroidChart:v3.0.2'
}
Run Code Online (Sandbox Code Playgroud)

编译项目时得到的完整错误是:

错误:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败.

java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex

完整的错误如下:

    Executing tasks: [:app:assembleDebug]

AGPBI: {"kind":"warning","text":"The `android.dexOptions.incremental` property is deprecated and it has …
Run Code Online (Sandbox Code Playgroud)

java android gradle

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

无法启动服务意图:未找到

我有同样的问题在这里描述,但我无法理解什么是错的.

我的问题是:无法启动服务Intent {act = .connections.MoodyService} U = 0:找不到

编辑 我已经在源代码中将我的包从连接更改为服务,抱歉让人感到困惑

我的清单 `

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.moody"
android:installLocation="auto"
android:versionCode="0"
android:versionName="0.6.7 alpha" >

<uses-sdk
    android:maxSdkVersion="18"
    android:minSdkVersion="14"
    android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<application
    android:allowBackup="true"
    android:allowClearUserData="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="activities.MainActivity"
        android:label="@string/app_name" >
    </activity>
    <activity
        android:name="activities.Menu_esq"
        android:label="@string/title_activity_menu_esq" >
    </activity>
    <activity
        android:name="activities.BaseActivity"
        android:label="@string/title_activity_base" >
    </activity>
    <activity
        android:name="activities.MainView"
        android:label="@string/title_activity_main_view" >
    </activity>
    <activity
        android:name="activities.LoginActivity"
        android:label="@string/app_name"
        android:noHistory="true"
        android:windowSoftInputMode="adjustResize|stateVisible" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter> …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-service

29
推荐指数
3
解决办法
6万
查看次数

React Native:渲染无限数量的页面(双向滑动)

人们如何实现无限数量的页面供您动态滑动?

细节

如果某个应用程序呈现了一天的页面,您可以在前一天向右滑动,在第二天向左滑动.

例如,FitNotes应用程序无缝地执行此操作: FitNotes app日视图

向右/向左滑动与按下按钮5/6相同.并显示已呈现的页面.同时,也会渲染现在相邻日期的新页面.

最初,我认为这是你使用旋转木马做的事情,例如,使用react-native-snap-carousel库.我想象下面的例子,但使用状态变量而不是图像数组渲染页面.

来自react-native-snap-carousel库的示例轮播

所以,如果我想渲染一个日期在顶部的页面,我会有一个数组作为状态的一部分,例如:

carouselElements: [ '2019/01/21', '2019/01/22', '2019/01/23']
Run Code Online (Sandbox Code Playgroud)

加入下面的旋转木马,我会得到三个页面,每个页面都显示在顶部.

<Carousel
    ref={(c) => { this._carousel = c; }}
    data={this.props.carouselElements}
    renderItem={this.renderDay}
    sliderWidth={sliderWidth}
    itemWidth={sliderWidth}
    enableSnap 
    firstItem={1}
    initialNumToRender={3}
    maxToRenderPerBatch={3}
    onBeforeSnapToItem={(index) => this.changeEvent(index)}
    useScrollView/>
Run Code Online (Sandbox Code Playgroud)

问题1:阵列无限增长

你可以Day X提前两天开始并渲染相邻的.如果我向左滑动,您可以访问Day X+1并连接Day X+2到数组的末尾并渲染那一天.

该数组变为: [ 'Day X-1', 'Day X', 'Day X+1', 'Day X+2']

为了提高性能,我可以在3天的窗口内继续检查索引,只渲染选定的日期和相邻的两天.但是数组会无限增长,你的代码最多也是O(n).

问题2:索引

a)预先安排要素:

您可以从,Day X然后向右滑动.你现在正在展示Day X-1.您添加Day X-2到数组的开头并渲染它以准备向右滑动第二次.问题是你在索引0添加的元素你的系统是指向索引0的状态,当它从改变Day X-1Day X-2,现在这样的页面显示Day X-2代替.

也就是说,当您向右滑动一天时,不是向后移动,而是每次滑动都会移回2天. …

arrays android carousel react-native react-native-android

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


Android Studio,信息亭模式,单一用途设备,锁定任务模式

我正在尝试创建一个单一用途的应用程序。因此,我创建了一个BaseActivity,我所有的活动都继承自它。

看起来像

public class LockDeviceActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


    }

    private void startLock() {


        if(mDevicePolicyManager.isLockTaskPermitted(getPackageName())) {
            /**
             * If lock task is permitted, we can lock the task. We can use an external DPM like
             * TestDPC provided by Google to manage lock task list.
             *
             * If the lock is obtained using TestDPC, features like status bar, home button, recent
             * apps, etc is disabled.
             *
             * To unlock we can programatically …
Run Code Online (Sandbox Code Playgroud)

kiosk-mode android-studio

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