标签: android-library

如何在不使用webView的情况下在android应用程序中显示网页内容

我仍在开发Android静态应用程序,其中所有内容都是静态的,所有由我设计的内容都不会被网站获取,但现在

#

我开始开发网络应用程序,即所有内容都来自网站。我搜索了很多东西,我只得到“WebView”,其中整个网站将显示在我的 WebView 中。所以有一个问题,我想从任何网站获取特定内容,例如来自网站的事件图像并在我的活动中显示。请帮助我开始网络应用程序开发。

有api吗??提前致谢。

#

android web-applications android-library

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

从我的库项目开始主项目的活动

我有2个项目。一个是我的 Main Project(A) ,另一个是 Library Project(B) 。我想从 B 中的活动开始 A 中存在的活动。我该怎么做?

我试过了startActivity(getApplicationContext(),B.class); ,但是

B级

没有解决。

如何让我的图书馆项目开始我的主要项目的活动?

android android-intent android-library android-activity

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

如何删除通过 gradle 添加的重复库?

我在我的项目中使用了两个库。一个是这个,另一个是这个

每当我使用 Edit Test 库运行应用程序时,它都会显示UNEXPECTED TOP-LEVEL EXCEPTION

Error:Execution failed for task ':mobile:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    E:\Android\me\me\sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output C:\Project\RemoteiT\RemoteiT\mobile\build\intermediates\dex\debug --input-list=C:\Project\RemoteiT\RemoteiT\mobile\build\intermediates\tmp\dex\debug\inputList.txt
Error Code:
    2
Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener;
        at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
        at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
        at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
        at com.android.dx.command.dexer.Main.run(Main.java:246)
        at com.android.dx.command.dexer.Main.main(Main.java:215)
        at com.android.dx.command.Main.main(Main.java:106)
Run Code Online (Sandbox Code Playgroud)

我假设上面的错误表明com.nineoldandroids添加了两次或冲突。

所以我试图在 build.gradle 文件中删除它。但它仍然显示错误!

我的假设是对的吗?还是我在其他地方出错了?

构建.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2" …
Run Code Online (Sandbox Code Playgroud)

android android-library android-gradle-plugin

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

库项目 build.gradle 中 buildscript 标签的最佳实践

我想知道为 Android 库项目定义构建脚本存储库和依赖项的最佳/预期方法是什么。

在野外(如 Github),大多数存储库都在 build.gradle 中定义了以下内容

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:1.0.0'
} }
Run Code Online (Sandbox Code Playgroud)

但是,如果我在 Android Studio 中创建一个库项目,则不会创建此 buildscript 块,因为它已经在根 build.gradle 文件中,因此没有必要(我假设)。

那么正确的方法是什么,只在根 build.gradle 或每个库项目中定义一次(这也意味着在新插件版本的情况下更新每个库的版本号)。或者这取决于我是否想独立于我的主应用程序发布该库?

android android-library build.gradle android-gradle-plugin

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

用于库的Android Studio consumerProguardFiles不起作用

我想在我的库上使用proguard,但文件(规则)应该在库中设置.这意味着我不想在我的app模块中明确设置规则w(属于库).

我发现有类似consumerProguardFiles的属性.我的设置:

库gradle:

buildTypes {
    debug {
        debuggable true
        minifyEnabled false
    }
    release {
        minifyEnabled true
        consumerProguardFiles 'proguard-rules.pro'
    }
}
Run Code Online (Sandbox Code Playgroud)

app gradle:

buildTypes {
    debug {
        applicationIdSuffix ".debug"
        debuggable true
        minifyEnabled false
        signingConfig signingConfigs.debug
    }
    release {
        debuggable false
        minifyEnabled true
        signingConfig signingConfigs.release
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么上面的配置不起作用?我收到错误,无法找到库中的包/符号.


编辑:

重要的是我的proguard-rules.pro用于库和proguard-rules.pro用于主应用程序模块都是空的.

示例错误:

Error:(3, 60) error: package (my library package here) does not exist
(...)
Error:(16, 9) error: cannot find symbol class NavigationStructureModel
(...)
Run Code Online (Sandbox Code Playgroud)

超过一个handrued错误.我可以看到我的库中的所有课程都丢失了.

android proguard android-library android-studio android-proguard

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

NoClassDefFoundError:解析失败:Lkotlinx/coroutines/Dispatchers

我有一个使用 Kotlin Coroutines 并使用 CoroutineScope 作为的库

private val coroutineScope by lazy(mode = LazyThreadSafetyMode.NONE) {
        CoroutineScope(Dispatchers.Main)
    }
Run Code Online (Sandbox Code Playgroud)

当我在其他项目中使用该库时,出现错误:

com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlinx.coroutines.Dispatchers" on path: DexPathList[[zip file "/data/app/com.ssss.ssss-X44QPiLhKdl-D6eyVAYkOA==/base.apk"],nativeLibraryDirectories=[/data/app/com.ssss.testauthenticater-X44QPiLhKdl-D6eyVAYkOA==/lib/x86, /system/lib, /system/product/lib]]
Run Code Online (Sandbox Code Playgroud)

我也添加-keepnames class kotlinx.** { *; } 了我的消费者专业防护文件。

有没有人有类似的问题?我在 android 中使用协程 1.3.3。

android android-library kotlin kotlin-coroutines

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

在重新启动Eclipse之前,不会应用对Android库项目的更改

我有一个使用Android库项目的主要Android应用程序.当我更改我的库项目和/ Build ProjectBuild All在主项目中未检测到更改,直到我清理主项目或关闭并重新打开Eclipse.

我如何解决这个问题?有没有快速解决方案?

更新

我在用:

Eclipse 3.7.1

Android SDK API 15 Rev 3

Android SDK工具Rev 19

Android SDK平台工具Rev 11

android compilation android-library library-project

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

在从嵌套库继承的Activity中找不到的资源

我已经为3个应用程序创建了两个带有共享代码和资源的android库项目.其中一个库(我称之为库A)具有由所有3个应用程序共享的代码和资源,另一个库具有仅由三个中的两个共享的代码和资源(让我们称之为库B).

所以我让库B依赖于A.我遇到的问题是依赖于库B的两个应用程序.当启动第一个Activity时,我尝试访问库B中定义的xml布局中的元素时得到NoSuchFieldErrors或NullPointerExceptions似乎它无法从工程师B中的超级类中找到资源.我创建了一个小例子来重现问题.

在图书馆A:

AActivity.java:

public class AActivity extends Activity {

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

        doStuff();
    }

    protected void doStuff() {
    }

}
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml中:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.testlib"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="16" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.testliba.AActivity"
            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)

在图书馆B中:

BActivity.java:

public class BActivity extends AActivity {

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

    AlertDialog alertDialog = new …
Run Code Online (Sandbox Code Playgroud)

android android-library android-resources

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

Android与Gradle和Proguard

我刚刚使用Gradle创建了一个新的Android库项目,并希望通过Proguard对代码进行优化和混淆.

这是build.gradle文件的android部分:

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    release {
        runProguard true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.txt'
    }
}
Run Code Online (Sandbox Code Playgroud)

当我从终端运行gradle build命令时,它在:library:proguardRelease失败并显示以下消息:

* What went wrong:
Execution failed for task ':library:proguardRelease'.
> java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options?
Run Code Online (Sandbox Code Playgroud)

有谁知道这是为什么?

Gradle 1.10 JVM 1.6.0_65 Progruard 4.10

android proguard gradle android-library

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

SwipeListView:视图搞砸了.隐藏的内容遍布列表项

我是SwipeListView库的新手,当其中一个列表项被刷过时,该功能的工作原理如下:

在此输入图像描述

该应用程序正在运行,但是视图混乱,使得隐藏的内容(即,在滑动列表项之后看到的内容)被覆盖在每个列表项的顶部.按照下面的图片,我已经粘贴了片段代码.

我怎样才能解决这个问题?

没有SwipeListView: 在此输入图像描述

使用SwipeListView: 在此输入图像描述

import java.util.ArrayList;
import java.util.List;

import android.app.Fragment;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Typeface;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;

import com.example.test.ItemAdapter;
import com.example.test.ItemRow;
import com.example.test.R;
import com.fortysevendeg.swipelistview.BaseSwipeListViewListener;
import com.fortysevendeg.swipelistview.SwipeListView;

public class MyList extends Fragment {

    @Override
    public void onPause() {
        // TODO Auto-generated method stub
        super.onPause();

        index = list.getFirstVisiblePosition();
    }

    @Override
    public void onResume() {
        // …
Run Code Online (Sandbox Code Playgroud)

android android-listview android-library

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