我正试图用相机拍照,但我收到以下错误:
FATAL EXCEPTION: main
Process: com.example.marek.myapplication, PID: 6747
java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/Android/data/com.example.marek.myapplication/files/Pictures/JPEG_20170228_175633_470124220.jpg
at android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:711)
at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:400)
at com.example.marek.myapplication.MainActivity.dispatchTakePictureIntent(MainActivity.java:56)
at com.example.marek.myapplication.MainActivity.access$100(MainActivity.java:22)
at com.example.marek.myapplication.MainActivity$1.onClick(MainActivity.java:35)
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.marek.myapplication.fileprovider"
android:enabled="true"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
Run Code Online (Sandbox Code Playgroud)
Java的:
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
File photoFile = null;
try {
photoFile = createImageFile();
} catch …Run Code Online (Sandbox Code Playgroud) 有人面临下面的问题吗?可以为此提供帮助.目前的gradle版本4.4 in dist
找不到org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.50-eap-62.在以下位置搜索:
我尝试在Android Studio 1.5.1中使用espresso 2.2.1运行测试.当我运行LoginActivityTest时,我收到此错误:当LoginActivity调用MyService.java并且MyService需要整数资源(即R.integer.number_of_days)时,会导致"android.content.res.Resources $ NotFoundException".此资源在gradle(版本1.5.0)模块的R.integer.xml文件中定义.
项目结构:
RootFolder/
?----projectA/
? ?----build.gradle
? ?----settings.gradle
? ?----src/androidTest/java/.../LoginActivityTest
? ?----src/main/java/.../LoginActivity
?
?----Module/
?----krill/
? ?----build.gradle
? ?----settings.gradle
? ?----src/main/
| ?----java/service/MyService.java
| ?----res/value/integers.xml
?
?----otherModule/
?----build.gradle
我的考试班:
@RunWith(AndroidJUnit4.class)
@LargeTest
public class LoginActivityTest extends ActivityInstrumentationTestCase2<LoginActivity >{
@Rule
public ActivityTestRule<LoginActivity> mActivityRule = new ActivityTestRule(LoginActivity.class);
public LoginActivityTest() {
super(LoginActivity.class);
}
@Test
public void testConfigDialog() {
onView(withId(R.layout.login_custom_view));
onView(withId(R.id.id_username)).perform(clearText());
onView(withId(R.id.id_password)).perform(clearText());
}
}
Run Code Online (Sandbox Code Playgroud)
错误堆栈跟踪:
Running tests
Test running started
android.content.res.Resources$NotFoundException: Resource ID #0x7f090004
at android.content.res.Resources.getValue(Resources.java:1233)
at android.content.res.Resources.getInteger(Resources.java:989)
at it.company.android.lib.auth.infrastructure.AuthenticatorPreferences.<init>(MyService.java:36) …Run Code Online (Sandbox Code Playgroud) android gradle android-studio android-espresso android-instrumentation
星期五gradle正常工作,今天我收到了此gradle错误:
* Where:
Build file '...\git\project\app\build.gradle' line: 1
* What went wrong:
A problem occurred evaluating project ':app'.
> ASCII
CONFIGURE FAILED in 4s
ASCII
Run Code Online (Sandbox Code Playgroud)
错误gradle --debug:
...
10:29:50.018 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
10:29:50.018 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
10:29:50.018 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
10:29:50.018 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Where:
10:29:50.019 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Build file '...\git\project\project\build.gradle' line: 1
10:29:50.019 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
10:29:50.019 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
10:29:50.019 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] A problem occurred evaluating project ':app'.
10:29:50.019 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] …Run Code Online (Sandbox Code Playgroud) 今天,我将Jenkins版本从2.151更新为2.152(在我的ec2实例中),我遇到的第一个错误是 java.lang.NoClassDefFoundError: com/trilead/ssh2/crypto/Base64
我收到此错误:
Run Code Online (Sandbox Code Playgroud)org.apache.commons.jelly.JellyTagException: jar:file:/var/cache/jenkins/war/WEB-INF/lib/jenkins-core-2.152.jar!/lib/layout/hasPermission.jelly:35:20: <d:invokeBody> com/trilead/ssh2/crypto/Base64 at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:745) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:289) at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95) at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98) ... org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) ... 108 more
有人有解决这个问题的想法吗?
我有一个简单的场景,我在片段中做一些事情,当我收到 LiveData 时,我想在 Activity 中做一些事情。
视图模型:
class MyViewModel(application: Application) : AndroidViewModel(application) {
...
fun getUser(id: String): LiveData<User> {
return repository.getUser(id)
}
}
Run Code Online (Sandbox Code Playgroud)
分段:
class MyFragment : Fragment() {
private lateinit var myViewModel: MyViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
activity?.run {
myViewModel = ViewModelProviders.of(this).get(MyViewModel::class.java)
} ?: throw Exception("Invalid Activity")
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
button.setOnClickListener {
showProgressBar()
myViewModel.getUser(editText.text.toString()).observe(this, Observer { it ->
//TODO …Run Code Online (Sandbox Code Playgroud) android mvvm android-fragments android-livedata android-viewmodel
我正在关注这个 Google Codelab,在第8 页(任务:使用数据绑定进行端到端测试),在第 8 步(编写 DataBindingIdlingResource),您必须创建一个名为DataBindingIdlingResource.kt.
class DataBindingIdlingResource : IdlingResource {
[...]
}
private fun View.getBinding(): ViewDataBinding? = DataBindingUtil.getBinding(this)
/**
* Sets the activity from an [ActivityScenario] to be used from [DataBindingIdlingResource].
*/
fun DataBindingIdlingResource.monitorActivity(
activityScenario: ActivityScenario<out FragmentActivity>
) {
activityScenario.onActivity {
this.activity = it
}
}
/**
* Sets the fragment from a [FragmentScenario] to be used from [DataBindingIdlingResource].
*/
fun DataBindingIdlingResource.monitorFragment(fragmentScenario: FragmentScenario<out Fragment>) {
fragmentScenario.onFragment {
this.activity = it.requireActivity() …Run Code Online (Sandbox Code Playgroud) data-binding testing android android-espresso google-codelab
Windows 10(64 位)、Android Studio 3.1.2、Gradle 4.4、Java 1.8。
这是我的布局 xml
<TextView
android:id="@+id/loginTextView"
android:layout_width="255dp"
android:layout_height="60dp"
android:layout_marginBottom="15dp"
android:background="@drawable/sign_in_login_bg"
android:gravity="center"
app:layout_constraintBottom_toTopOf="@+id/registerTextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
Run Code Online (Sandbox Code Playgroud)
这里@drawable/sign_in_login_bg
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_primary" />
<corners android:radius="@dimen/text_view_rounded_corner_radius" />
</shape>
Run Code Online (Sandbox Code Playgroud)
我想编写浓缩咖啡测试来检查loginTextView是否具有背景@drawable/sign_in_login_bg
所以我写了自定义匹配器:
import org.hamcrest.Matcher;
public static Matcher<View> withBackground(final int expectedResourceId) {
return new BoundedMatcher<View, View>(View.class) {
@Override
public boolean matchesSafely(View view) {
return sameBitmap(view.getContext(), view.getBackground(), expectedResourceId);
}
@Override
public void describeTo(Description description) {
description.appendText("has background resource " + expectedResourceId);
}
};
} …Run Code Online (Sandbox Code Playgroud)