小编Ale*_*der的帖子

R.id.container没有解决

我买了书Bill Phillips和Brian Hardy"Android编程大书呆子牧场指南".在第一章中,我使用idea而不是eclipse创建了Gradle解决方案.这个由想法生成的项目不能编译.

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

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new DummyFragment())
                    .commit();
        }
    }
Run Code Online (Sandbox Code Playgroud)

XML:

<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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".QuizActivity$DummyFragment">

<TextView
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)

错误:找不到符号变量容器

我没有改变任何东西,但项目没有编译

请帮我.

java android

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

如何将.aar依赖包含到Android库.aar文件中

我写了一些库,它有一部分UI.此外,该库使用其他库.我想提供发布.aar以在任何应用程序中使用此部分UI.

我的图书馆有下一个家属:

    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:support-v4:23.1.1'
    compile ('com.android.support:recyclerview-v7:22.2.1'){
        exclude group: 'com.android.support', module: 'support-v4'
    }
    compile 'com.inthecheesefactory.thecheeselibrary:stated-fragment-support-v4:0.10.0'

    //Http communication, websockets, etc.
    compile 'com.squareup.okhttp:okhttp:2.4.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'

    //Fonts
    compile 'uk.co.chrisjenx:calligraphy:2.1.0'

    //Unit tests
    testCompile 'junit:junit:4.12'
    testCompile 'org.mockito:mockito-core:1.9.5'

    //Other
    compile ('org.apache.commons:commons-lang3:3.4'){
        exclude group: 'org.apache.httpcomponents'
    }

    //Reactive programmnig
    compile 'io.reactivex:rxjava:1.0.13'
    compile 'io.reactivex:rxandroid:0.25.0'

    compile 'com.github.bumptech.glide:glide:3.6.1'
Run Code Online (Sandbox Code Playgroud)

当我构建.aar一切都很好,但当我将其包含.aar在另一个应用程序中时,我有下一个问题:

1). ./gradlew clean build

/home/user/projects/MainApp/app/build/intermediates/exploded-aar/com.my.sdk/SDK/0.0.1/res/values/values.xml:78:21-29:找不到匹配的资源给定的名称:attr'fontPath'.

/home/user/projects/MainApp/app/build/intermediates/exploded-aar/com.my.sdk/SDK/0.0.1/res/values/values.xml:78:21-29:找不到匹配的资源给定的名称:attr'fontPath'.

/home/user/projects/MainApp/app/build/intermediates/exploded-aar/com.my.sdk/SDK/0.0.1/res/values/values.xml:78:21-29:找不到匹配的资源给定的名称:attr'fontPath'.

/home/user/projects/MainApp/app/build/intermediates/exploded-aar/com.my.sdk/SDK/0.0.1/res/values/values.xml:78:21-29:找不到匹配的资源给定的名称:attr'fontPath'.

/home/user/projects/MainApp/app/build/intermediates/exploded-aar/com.my.sdk/SDK/0.0.1/res/values/values.xml:78:21-29:找不到匹配的资源给定的名称:attr'fontPath'.

/home/user/projects/MainApp/app/build/intermediates/exploded-aar/com.my.sdk/SDK/0.0.1/res/values/values.xml:78:21-29:找不到匹配的资源给定的名称:attr'fontPath'.

:app:processDebugResources FAILED

解决方案非常简单 - 添加到MainApp/app/build.gradle下一行: …

android android-library android-gradle-plugin aar maven-publish

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

Android java.lang.IllegalArgumentException:无法找到本机库:main

今天发现了一些项目,演示了android ndk编程。这是这个项目

\n\n

我正在尝试启动项目DroidBlaster。我已经编译了所有本机库,没有错误。这是结果:

\n\n

编译的 droidblaster 库

\n\n

我只是做了一些小改变:

\n\n

1)。添加到选项application中的标签AndroidManifest.xmlandroid:hasCode="true"

\n\n

2)。我从本机活动扩展并加载static活动块中的所有库。

\n\n

我这样做是因为,如果没有这个更改,android 无法找到在(这是作者的代码)libdroidblaster.so中声明的库:AndroidManifest.xml

\n\n
<activity\n            android:name="android.app.NativeActivity"\n            android:label="@string/app_name" >\n            <meta-data\n                android:name="android.app.lib_name"\n                android:value="droidblaster" />\n\n            <intent-filter>\n                <action android:name="android.intent.action.MAIN" />\n\n                <category android:name="android.intent.category.LAUNCHER" />\n            </intent-filter>\n        </activity>\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在我的AndroidManifest.xml样子:

\n\n
<manifest xmlns:android="http://schemas.android.com/apk/res/android"\n    package="com.demo.droidblaster"\n    android:versionCode="1"\n    android:versionName="1.0" >\n\n    <uses-sdk\n        android:minSdkVersion="10"\n        android:targetSdkVersion="22" />\n\n    <application\n        android:icon="@drawable/ic_launcher"\n        android:label="@string/app_name"\n        android:theme="@style/AppTheme"\n        android:hasCode="true">\n\n        <activity android:name=".MainActivity"\n                  android:label="@string/app_name"\n                  android:configChanges="orientation|keyboardHidden">\n            <intent-filter>\n                <action android:name="android.intent.action.MAIN" />\n\n                <category android:name="android.intent.category.LAUNCHER" />\n            </intent-filter>\n        </activity>\n\n        <activity\n            android:name="android.app.NativeActivity"\n …
Run Code Online (Sandbox Code Playgroud)

java android android-ndk

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

什么是"dogfood"构建?

什么dogfood构建意味着什么?我的意思是,我知道alpha版本,beta版本,但我从未听说过dogfood.对于哪些人来说这个?

例如:https://github.com/JakeWharton/u2020/blob/master/build.gradle#L29

naming-conventions

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

如何在RxJava中压缩2个不同长度的observable

我有两个可观察量:

Observable<String[]>
Run Code Online (Sandbox Code Playgroud)

Observable<KalturaVideo>
Run Code Online (Sandbox Code Playgroud)

我想检查每个KalturaVideo.getId(),它是否包含在String []中,它返回第一个observable,如果它包含,则不要在sourceList中发出它.

所以,第一个可观察到的emmits String []只有一次,但是第二个可观察的emmits项目是17次.如何恰当地组合这两个可观测量?这是我的解决方案:

private Observable<KalturaVideo> getSourceListObservalbe(String kalturaPlaylistId){
        Observable<String[]> targetIdList = Observable.just(targetList)
                .map((List<KalturaVideo> kalturaVideos) -> {
                    if(kalturaVideos == null || kalturaVideos.isEmpty()){
                        return new String[]{""};
                    }
                    String[] result = new String[kalturaVideos.size()];
                    int index = 0;
                    for (KalturaVideo item : kalturaVideos) {
                        result[index] = item.getId();
                    }
                    return result;
                });
        return Observable.zip(
                targetIdList,
                KalturaVideoRetriver.getVideoList(BuildPlaylistStep2Activity.this, kalturaPlaylistId),
                (String[] idListOfTarget, KalturaVideo kalturaVideo) -> {
                    for (String item :idListOfTarget){
                        if(item.equals(kalturaVideo.getId())){
                            return null;
                        }
                    }
                    return kalturaVideo;
                })
                .filter(kalturaVideo -> { …
Run Code Online (Sandbox Code Playgroud)

java reactive-programming rx-java

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

多次订阅RxJava observable

我有一个关于RxJava Observable的问题.例如,我有一个Retrofit接口,它返回Observable.我需要对这个视频流做一些事情.以下是下载视频并将其保存到列表中的代码:

API.getVideoListObservable()
                .doOnError(t -> t.printStackTrace())
                .map(r -> r.getObjects())
                .doOnNext(l -> VideoActivity.this.runOnUiThread(() -> fragment.updateVideoList(l)))
                .doOnNext(l -> kalturaVideoList.addAll(l))
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe();
Run Code Online (Sandbox Code Playgroud)

API - 改造休息适配器

如果想更新视频列表,我应该做同样的操作吗?或者我应该订阅,取消订阅并再次订阅如下:

Subscription s = API.getVideoListObservable()
                .doOnError(t -> t.printStackTrace())
                .map(r -> r.getObjects())
                .doOnNext(l -> VideoActivity.this.runOnUiThread(() -> fragment.updateVideoList(l)))
                .doOnNext(l -> kalturaVideoList.addAll(l))
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe();

//some code
...

s.unsubscribe();
s = null;
s = API.getVideoListObservable()
                .doOnError(t -> t.printStackTrace())
                .map(r -> r.getObjects())
                .doOnNext(l -> VideoActivity.this.runOnUiThread(() -> fragment.updateVideoList(l)))
                .doOnNext(l -> kalturaVideoList.addAll(l))
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe();
Run Code Online (Sandbox Code Playgroud)

java reactive-programming observable rx-java

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