小编Ken*_*eth的帖子

Android Studio gradle风格未在Build Variants中显示

根据我的理解,Android Studio应该在"Build Variants"面板中显示构建变体和风格的整个矩阵.

我使用以下build.gradle创建了一个空项目.

  buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "18.1.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 18
    }

    productFlavors {
        productFlavors {
            flavor1 {
                packageName "com.example.flavor1"
                versionCode 20
            }

            flavor2 {
                packageName "com.example.flavor2"
                minSdkVersion 14
            }
        }    }

}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
}
Run Code Online (Sandbox Code Playgroud)

即便如此,我只能将"Debug"和"Release"作为构建变体,而不是预期的"Debugflavor1","Debugflavor2"等.任何想法为什么会发生这种情况?我的假设是关于包含口味错误的能力吗?如果是这样,如何在Android Studio中构建一个风味?

更新,已解决:请参阅第一条评论.您需要通过"工具" - "Android" - "同步..."手动将项目与gradle文件同步

android product gradle

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

Android CoordinatorLayout + AppbarLayout + Viewpager总是滚动

我有一个经典的布局,顶部有一个ToolBar,下面有一个TabLayout,还有一个来自TabLayout的ViewPager切换标签.当ViewPager中的内容可滚动时,工具栏应该滚动到视线之外,TabLayout应该跟随并在到达顶部时粘住.

所有这些在我当前的代码中都很好,除了ToolBar总是可滚动的,无论ViewPager的内容大小如何.请参阅下面的代码.关于如何解决这个问题的任何好主意?

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/primary"
        android:orientation="vertical">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.ToolBar"
            app:layout_scrollFlags="scroll|enterAlways" />

        <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:scrollbars="horizontal"
            app:tabIndicatorColor="@color/black_text" />

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/tabs_activity_view_pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)

编辑:

我可以看到viewPager的高度与整个根视图的高度相同.这可能是有意的,因为appbar_scrolling_view_behavior似乎确实添加了顶部和底部偏移.但它确实看起来很奇怪,因为它会导致始终滚动工具栏和tabbar.

layout android android-viewpager coordinator-layout

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

Android WebView阻止从https重定向到http

我有一个解决方案,我的Android WebView需要先打开一个https网址,然后它会被重定向到一个http网址(它可能是从https网站尝试一个http POST).这不起作用,我的Android调试日志说:

02-20 11:04:45.079 8538-8538 /?E/WebViewCallback:阻止的URL:[已阻止]' https:// xxx / '的页面是通过HTTPS加载的,但是将数据提交到' http:// yyy ' 的不安全位置:此内容也应该通过HTTPS.

WebView中是否有任何允许此行为的配置选项?

更多信息:它似乎是Android SDK中的行为更改.很久以前编译的客户没有任何投诉.

https android webview

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

Android工具栏样式

我在ToolbarLollipop项目中添加了一个.但是,我在设计风格方面遇到了麻烦Toolbar.我的标题Toolbar似乎有一个粗体字,但我希望它是斜体.知道怎么做到这一点?我试过玩弄actionbar-style,没有运气.

我已经在Toolbarwith 上设置了一个样式,app:theme="@style/toolbar"而我的@style/toolbar(父母ThemeOverlay.AppCompat.ActionBar)是我正在玩的地方没有好结果.

android styles android-5.0-lollipop android-toolbar

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

RecyclerView内容高度

有没有什么好方法可以获得RecyclerView内容的高度?考虑到所有物品可能有不同的高度.

在我的场景中,我使用的是LinearLayoutManager.

我四处搜索,发现这个问题的结果令人惊讶.

height android android-recyclerview

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

Android gradle测试只有一种风味

我目前已将我的TeamCity实例设置为connectedCheck在我的所有Android项目上运行.这很好,所有测试都运行,一切都很好.除此之外,connectedCheck运行所有产品口味的所有测试.我目前有很多口味,所以这对我的项目来说是浪费的工作,因为我的口味中没有任何不同的代码.知道我怎么能connectedCheck只运行一种味道?

android gradle

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

如何在JDBI中使用IN运算符?

我正在尝试使用Dropwizard上的MYSQL JDBI进行IN查询(不相关,我假设).

@SqlQuery("SELECT id FROM table where field in (<list>)")
List<Integer> findSomething(@BindIn("list") List<String> someList);
Run Code Online (Sandbox Code Playgroud)

正如这里所建议的那样,我也用类别注释了这个类

@UseStringTemplate3StatementLocator
Run Code Online (Sandbox Code Playgroud)

但是当我启动应用程序时,我收到以下错误:

Exception in thread "main" java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class org.skife.jdbi.v2.sqlobject.stringtemplate.UseStringTemplate3StatementLocator.errorListener()
Run Code Online (Sandbox Code Playgroud)

有没有人对如何解决这个问题有个好主意?

java mysql jdbi dropwizard

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

MSI安装程序文件/文件夹权限

我正在尝试使用基本的MSI安装程序在programdata文件夹中安装一组文件.由于文件内容是动态的并且在安装过程中生成,因此我在安装过程中使用C#代码创建文件.

这些文件是在相应的文件夹中创建的,除文件权限外,一切都很好.据我所知,文件应该从父文件夹(如果启用)继承其权限,但在这种情况下,这不会发生.我创建的文件对于普通用户应该是可写的,我不想为每个创建的文件显式设置权限.问题是安装程序是否以不同的权限运行,因此文件不会从其父文件夹继承权限?

在此先感谢您的帮助.

c# permissions installer windows-installer file

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

Android权限:谁在使用什么?

Android M很快就会推出新的权限API.我打赌那里有很多开发人员没有控制他们的权限,试图弄清楚在哪里使用的是什么.至少我的一些应用就是这种情况.

有没有什么好方法可以获得有关使用权限的概述?关于API使用什么权限或其他内容的概述.

到目前为止我的方法已经有了

a)尝试识别哪个API使用该权限,并找到它.除了我自己的记忆和应用程序功能b)删除权限,看看有什么中断

permissions android android-6.0-marshmallow

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

Android systrace计划框架

我在我的应用程序上运行systrace来识别问题.我的一个案例在systrace报告html中发出警告:

制作这个框架的工作被计划了几毫秒,导致了jank.确保UI线程上的代码不会阻塞正在其他线程上完成的工作,并且后台线程(例如网络或位图加载)正在android.os.Process#THREAD_PRIORITY_BACKGROUND或更低的位置运行,因此它们不太可能中断UI线程.这些后台线程应在内核进程下的调度部分中显示优先级数为130或更高.

我理解这个警告,但是在我的跟踪报告中,我看不出有任何理由发生这种情况.下面我附上了相关的框架,那里有什么信息导致这个问题吗?

Systrace框架

performance android systrace

5
推荐指数
0
解决办法
1198
查看次数

Android Studio 缺少 git 小部件

我正在运行 Android studio 2.0 预览版 5,但我的 GIT 小部件丢失了。它应该在 IDE 右下角显示我当前的分支以及分支的快速操作。我检查过其他人运行相同版本的 AS,他们已经安装好了。请参阅下面我的屏幕截图。有谁知道如何把它带回来吗?

应该如何:

Git 小部件

我的酒吧:

缺少 git 小部件

git android-studio

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

C#电子邮件主题解析

我正在构建一个用C#读取电子邮件的系统.我在解析主题时遇到了问题,我认为这个问题与编码有关.

我正在阅读的主题如下:=?ISO-8859-1?Q?=E6=F8sd=E5f=F8sdf_sdfsdf?=发送的原始主题是æøsdåføsdf sdfsdf(那里的挪威字符).

我有什么想法可以改变编码或正确解析它?到目前为止,我已经尝试使用C#编码转换技术将主题编码为utf8,但没有任何运气.

这是我尝试过的解决方案之一:

Encoding iso = Encoding.GetEncoding("iso-8859-1");
Encoding utf = Encoding.UTF8;
string decodedSubject =
    utf.GetString(Encoding.Convert(utf, iso,
                                   iso.GetBytes(m.Subject.Split('?')[3])));
Run Code Online (Sandbox Code Playgroud)

c# email parsing character-encoding email-headers

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

Android共享视图过渡结合淡入淡出过渡

我有一个传递共享元素动画的活动。这是一个基本的 ImageView 过渡,工作得很好。

现在,对于 Activity 中的其他元素,我想要一个淡入淡出的动画。现在,这适用于所有元素,但与 ImageView(共享视图)位于同一视图组中的视图除外。

我的布局如下。ImageView 位于 CollapsingToolbarLayout 和 AppBarLayout 中,我在 oncreate 中设置了这样的淡入淡出过渡:

    getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
    super.onCreate(savedInstanceState);

    Fade fade = new Fade(Fade.IN);
    fade.setDuration(4000);

    getWindow().setEnterTransition(fade);
    setContentView(R.layout.article_details);
Run Code Online (Sandbox Code Playgroud)

布局:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/article_details_collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginEnd="10dp"
        app:expandedTitleMarginStart="10dp"
        app:expandedTitleTextAppearance="@style/title_text_appearence"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <ImageView
            android:id="@+id/article_details_image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            android:scaleType="centerCrop"
            android:transitionName="imageTrans"
            app:layout_collapseMode="parallax"
            app:layout_collapseParallaxMultiplier="0.6"
             />


        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:theme="@style/AppTheme.ToolBar"
            android:background="#0000"
            app:layout_collapseMode="pin"
             />

    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:transitionGroup="true"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <WebView
        android:id="@+id/article_details_webview"
        android:layout_margin="20dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</android.support.v4.widget.NestedScrollView>

<android.support.design.widget.FloatingActionButton
    app:fabSize="mini"
    app:layout_anchor="@id/appbar"
    app:layout_anchorGravity="bottom|right|end" …
Run Code Online (Sandbox Code Playgroud)

android transition android-layout android-activity

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