在项目中,在Android Studio中,默认情况下,有两个测试文件夹.
首先是src/androidTest.此文件夹已存在于以前版本的Android Studio中.不过,现在有一个新的测试文件夹,默认情况下src/test,新的依赖,testCompile 'junit: junit: 4.12'在build.gradle.
我用哪个文件夹进行测试?两者有什么不同?
我正在尝试启动Intent来发送电子邮件.所有这一切都有效,但当我尝试实际发送电子邮件时,会发生一些"奇怪"的事情.
这是代码
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("image/jpeg");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Photo");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://sdcard/dcim/Camera/filename.jpg"));
sendIntent.putExtra(Intent.EXTRA_TEXT, "Enjoy the photo");
startActivity(Intent.createChooser(sendIntent, "Email:"));
Run Code Online (Sandbox Code Playgroud)
因此,如果我使用Gmail菜单上下文启动它会显示附件,让我输入电子邮件的来源,并编辑正文和主题.没什么大不了.我点击发送,它发送.唯一的事情是附件不会被发送.
所以.我想,为什么不尝试使用电子邮件菜单上下文(对于我手机上的备份电子邮件帐户).它显示附件,但在身体或主体中根本没有文字.当我发送它时,附件发送正确.这会让我相信一些事情是错误的.我是否需要在Manifest发布中获得新的权限才能发送带附件的电子邮件?我究竟做错了什么?
我用这个问题创建了一个CircularImageView:在android中创建圆形图像视图
在GitHub上下载项目
1)这是CircularImageView类:
public class CircularImageView extends ImageView {
public CircularImageView(Context context) {
super(context);
}
public CircularImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CircularImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onDraw(Canvas canvas) {
Drawable drawable = getDrawable();
if (drawable == null) {
return;
}
if (getWidth() == 0 || getHeight() == 0) {
return;
}
Bitmap b = ((BitmapDrawable)drawable).getBitmap() ;
Bitmap bitmap = b.copy(Bitmap.Config.ARGB_8888, true);
Bitmap roundBitmap = …Run Code Online (Sandbox Code Playgroud) 我做了一个listView图片.我的目标是我的listView的每个项目具有相同的100dp高度.我遇到一个问题,我的imageView会自动调整大小,但不占用父级的整个空间.
这是我目前的结果和客观结果:

有没有人知道添加的选项可以自动生成裁剪中心?
现在在新的预览模式的Android Studio 2.2上,没有更多的刷新按钮:
有谁知道如何再次显示它?或者用快捷方式?
编辑:如果我通过示例更改drawable并且更改未显示在布局中,则关闭的唯一方法是关闭并重新启动项目.如果我关闭布局,当我重新打开时,没有任何反应.使用"同步"按钮的结果相同.
android preview android-layout android-studio-2.2 android-layout-editor
我试图解决与Android Material Design集成的不同功能,但是当视图填充另一个时,我不能做这种类型的动画:
你知道怎么做或者图书馆/项目这样做的例子吗?

我刚刚将我的android SDK工具更新到新发布的版本(工具版本22,平台工具版本17)
java.lang.NoClassDefFoundError
Run Code Online (Sandbox Code Playgroud)
.classpath文件已被修改.更新中添加了一行:
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
Run Code Online (Sandbox Code Playgroud)
在SDK工具更新之前,我的所有项目都运行良好!
我用这种方式纠正了我的问题:
但我不明白为什么!有人会有解释吗?
FragmentTransaction完成后是否可以有一个事件?
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment).commit();
Run Code Online (Sandbox Code Playgroud)
事实上,我为我的应用程序使用抽屉,并且我想invalidateOptionsMenu();在事务完成时触发以更改操作栏的菜单.
我想在操作栏中在通知数量内部制作一个通知图标.
例如(Google Adsence):

我在stackoverflow上找到了这个答案,但它没有完全回答我的问题,因为在这种情况下它只是数字而不是带有数字的图标:带有计数的Actionbar通知图标
我使用API 24在Android Studio 2.1.2上创建了一个默认的空项目.在示例项目中,Google提供了折旧类ApplicationTestCase:
此类在API级别24中已弃用.请改用ActivityTestRule.应使用Android测试支持库编写新测试.
样品:
import android.app.Application;
import android.test.ApplicationTestCase;
/**
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
*/
public class ApplicationTest extends ApplicationTestCase<Application> {
public ApplicationTest() {
super(Application.class);
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题:为什么现在不推荐使用Android测试用例?如何用ActivityTestRule替换ApplicationTestCase?
编辑:
我尝试使用Expresso,但在API 24(compileSdkVersion 24)上我有这个错误:
Error:Conflict with dependency 'com.android.support:appcompat-v7'. Resolved versions for app (24.0.0) and test app (23.1.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details.
Error:Conflict with dependency 'com.android.support:design'. Resolved versions for app (24.0.0) and test app (23.1.1) differ. See …Run Code Online (Sandbox Code Playgroud)