小编kan*_*idj的帖子

从Android Studio中删除项目

有没有人知道如何从Android Studio中删除项目以尝试从Eclipse重新导出它?

到目前为止,我已尝试删除与项目关联的所有gradle文件,这会在Android Studio尝试打开项目时导致错误.

这些文件不在AndriodStudioProjects文件夹中,因为我只导入了它没有被移动的项目....

基本上我想要完成的是,从Android Studio中的最近项目列表中删除该文件,从Eclipse重新导出它,然后将工作项目导回到Android Studio.

import android export android-studio

103
推荐指数
7
解决办法
17万
查看次数

如何解决Android Studio的低磁盘空间?

我随机收到此错误,并且不确定为什么Android Studio的磁盘空间不足.

Android Studio系统目录分区上的磁盘空间不足

更新

此应用程序安装在运行10.10.1 w/251GB内部存储器的mac上,操作系统恢复驱动器需要10GB.

我认为问题是,一旦安装了应用程序,它就被放置在较小的分区上.

我将尝试删除此应用程序以及与其关联的所有文件,然后重新安装.希望这能解决问题.

android android-studio

46
推荐指数
6
解决办法
5万
查看次数

来自aar库的google_play_services_version值出错

我有依赖于该库的库和项目.库存储在我的私有maven仓库中作为aar文件.库有不同的依赖关系,其中一个是谷歌地图.所以我在build.gradle文件中指定了它,并在lib manifest中设置了meta-data标签

<meta-data 
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
Run Code Online (Sandbox Code Playgroud)

当我尝试编译我的项目时出现错误

找不到与给定名称匹配的资源('value'的值为'@ integer/google_play_services_version')

这是常见的错误,但我从来没有看到问题,因为我用aar文件描述.

我的lib build.gradle文件

apply plugin: 'com.android.library'
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'

def packageName = 'com.myapplib'
def libraryVersion = '1.0.3'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    publishNonDefault true

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 21
    }

    buildTypes {

        def BOOLEAN = "boolean"
        def TRUE = "true"
        def FALSE = "false"
        def LOG_HTTP_REQUESTS = "LOG_HTTP_REQUESTS"
        def LOG_IMAGES_REQUESTS = "LOG_IMAGES_REQUESTS"
        def REPORT_CRASHES = "REPORT_CRASHES"
        def TRACK_GTM = "TRACK_GTM"

        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), …
Run Code Online (Sandbox Code Playgroud)

android

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

Android Studio 不解析自定义项目布局中的 androidTestImplementation 依赖项

我有一个使用非标准源文件夹布局的项目,如下所示:

sourceSets {
    androidTest {
        manifest.srcFile "/myproject/androidTest/AndroidManifest.xml"

        java {
            srcDirs = [
                "/myproject/androidTest/java"
            ]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Android studio 很好地显示了上述源文件夹,并在树中将其标记为“androidTest”。问题现在开始于像 espresso 这样的依赖项在任何测试中都没有解决(在 AS 中找不到类)——尽管它们已经像这样正确声明了:

 androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
Run Code Online (Sandbox Code Playgroud)

如果我将“androidTestImplementation”更改为“implementation”,Android Studio 将恢复并能够解决依赖项(但我不想将测试依赖项添加到我的实现范围!)

这只是 Android Studio 3.2.1 中的错误还是我的设置中存在错误?

ide dependencies android gradle android-studio

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

设置主题Programmectically导致黑色背景

当我运行我的Android应用程序时,我正在调用一种方法来检查应用程序是否在平板电脑上运行:

public boolean isTablet(Context context){
  boolean xlarge = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 4);
  boolean large = ((context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK)== Configuration.SCREENLAYOUT_SIZE_MASK);
  return(xlarge || large);
} 
Run Code Online (Sandbox Code Playgroud)

如果方法返回true(即设备满足其中一个条件)

我通过以下方式将主题设置为Dialog主题:

setTheme(R.style.MyTheme);
Run Code Online (Sandbox Code Playgroud)

哪个MyTheme是从父级继承的主题Theme.Holo.Light.Dialog

这个逻辑工作正常,但它在后台给我一个奇怪的效果.调用意图完全被遮挡,而如果我只是在清单中设置主题,则背景仅略微变灰.

更新 - 添加了代码

 private Context mClassContext = this;
 @Override
 public void onCreate(Bundle savedInstanceState){
     if(isTablet(mClassContext)){
       setTheme(R.style.MyTheme);
     }
  super.onCreate(savedInstanceState);
  setContentView(R.layout.myLayout);
}
Run Code Online (Sandbox Code Playgroud)

我该如何复制这个?

android themes dialog

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

Android中的底部共享表

在Android应用程序中共享数据时,我看到多个应用程序使用底部工作表(例如Google I/O 2015)来指示要执行操作的应用程序,而不是包含用于处理您的意图的应用程序的标准对话框.

例如:

Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TITLE, "Some title..");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Some text");
startActivity(Intent.createChooser(shareIntent, "Share via.."));
Run Code Online (Sandbox Code Playgroud)

由于操作系统版本选择了选择器的显示,因此无法解决问题.

有任何方法可以更改此代码以获得每个材料设计的Share Bottom表单https://www.google.com/design/spec/components/bottom-sheets.html#bottom-sheets-content在此输入图像描述

有没有人知道第三方库在旧的API版本上做到这一点?

我找到了https://github.com/soarcn/BottomSheet

但这只能让我从底部工作表创建一个菜单.我想在现实中,我可以查找所有可以执行我正在尝试的操作的应用程序,并在此库上手动添加菜单项,但我希望有一些更简单的东西,因为它不是突破性的功能.

android share android-intent material-design

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

自定义投射按钮和行为实现

没有人知道是否可以创建自定义ImageButton使用Cast图标,并且添加ActionProvider到这个ImageButton复制MediaRouteActionProvider行为?

在我的应用程序中,我将 ActionBarSherlock 与split 一起使用ActionBar,因此我无法使用 MediaRouter v7 支持库中的内置 MediaRouteActionProvider(至少据我所知),因为这会将太多我的项目推入溢出菜单。

换句话说,如何在不使用 aMenuItem而是使用 的情况下挂钩 MediaRouteActionProvider 的功能ImageButton

任何帮助或想法将不胜感激!

更新

这可以通过在 XML 中添加 MediaRouteButton 然后将 Selector 附加到按钮来轻松完成。

所以我的实现是这样的:

通过 xml 创建一个 MediaRouteButton:

 <android.support.v7.app.MediaRouteButton
    android:id="@+id/media_route_button"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

然后,当您想使用它时,请创建一个 MediaRouteSelector 注意:CHROME_CAST 是您在以下位置注册应用程序时由开发人员控制台生成的 Id

https://cast.google.com/publish/

并使用 setRouteSelector() 方法将选择器附加到您的 Button

MediaRouteSelector m_mediaRouteSelector = new MediaRouteSelector.Builder()
                .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
                .addControlCategory(
                        CastMediaControlIntent.categoryForCast(CHROME_CAST))
                .build();

 MediaRouteButton m_mediaRouteButton = (MediaRouteButton) findViewById(R.id.media_route_button);
Run Code Online (Sandbox Code Playgroud)

然后就做:

 m_mediaRouteButton.setRouteSelector(m_mediaRouteSelector);
Run Code Online (Sandbox Code Playgroud)

对那些使用 ActionBarSherlock* 的人很重要

请注意,要使其与 ActionBarSherlock 一起使用,您将需要创建自己的类,extends MediaRouteButton并专门执行以下操作 …

android google-cast

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

使用Material Design使用AppCompat v7拆分操作栏?

在针对API 21时,是否可以将App Compat ActionBar拆分?

现在我已经完成了所有活动

 android:uiOptions="splitActionBarWhenNarrow"
Run Code Online (Sandbox Code Playgroud)

并有元数据:

 <meta-data android:name="android.support.UI_OPTIONS"
            android:value="splitActionBarWhenNarrow" />
Run Code Online (Sandbox Code Playgroud)

我的主题Base是Theme.AppCompat

但由于某种原因,这绝对没有影响使操作栏分裂.

android material-design

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

与其他应用共享数据时Android M的权限

似乎只有在其他应用程序手动询问READ_EXTERNAL_STORAGE权限时才能将数据共享到Android M上的其他应用程序,我想知道是否有人知道解决此问题的方法,而无需手动打开我可以共享的所有应用程序并选择存储权限.

例如,我有以下Intent来共享一些数据:

  Intent shareIntent = new Intent(Intent.ACTION_SEND);
  shareIntent.setType("image/*");
  shareIntent.putExtra(Intent.EXTRA_SUBJECT, "Some Image Subject");
  shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(someFile));
  startActivity(Intent.createChooser(shareIntent, "Share via..."));
Run Code Online (Sandbox Code Playgroud)

假设someFile存在且我已经按照http://developer.android.com/training/permissions/requesting.html上建议的运行时权限模型进行操作,并且用户同意允许我的权限,因此文件实际上是在系统.

有没有办法告诉我正在分享的应用程序,我已经将此权限授予我的用户,请您代表我授予此权限?

这不起作用:

  shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Run Code Online (Sandbox Code Playgroud)

根据文件:

int FLAG_GRANT_READ_URI_PERMISSION

如果设置,则此Intent的接收者将被授予对Intent数据中的URI和其ClipData中指定的任何URI执行读取操作的权限.

更有趣的是,如果设置此标记并且我与Gmail共享,则不会检测到该标记,并且Google不会提示请求权限,而是仅捕获异常并且不附加我的文件.

任何帮助,将不胜感激.

android android-sharing android-6.0-marshmallow

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

在Android Studio中清理项目与重建项目与运行项目

有没有人知道或知道android studio中这三个函数如何工作的详细答案(我认为Eclipse,也可能是IntelliJ,具有相同或相似的功能).我已经看到并被告知答案,简要概述了它们的工作原理,据我所知,重建也将清理项目,运行项目运行可用代码的最后构建版本.最后,我只是想深入解释这三个函数如何在彼此之间工作,以及在运行最新的应用程序版本之前是否有必要先运行一个.

android build android-studio

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