小编Lev*_*yan的帖子

19
推荐指数
3
解决办法
5万
查看次数

Rxjava2只是方法 - 如何在另一个线程上运行房间插入?

我有一个房间持久数据库插入方法,如下所示:

@Dao
public interface CountriesDao{

    @Insert(onConflict = REPLACE)
    List<Long> addCountries(List<CountryModel> countryModel);
}
Run Code Online (Sandbox Code Playgroud)

我意识到这不能在主线程上运行.以下是我定义数据库的方法:

Room.inMemoryDatabaseBuilder(context.getApplicationContext(), MyDatabase.class).build();
Run Code Online (Sandbox Code Playgroud)

我试图使用rxjava2,以便我不在主线程上运行.我创建了以下方法:

public void storeCountries(List<CountryModel> countriesList) {
        Observable.just(db.countriesDao().addCountries(countriesList))
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new DefaultSubscriber<List<Long>>(){
            @Override
            public void onSubscribe(@NonNull Disposable d) {
                super.onSubscribe(d);
            }

            @Override
            public void onNext(@NonNull List<Long> longs) {
                super.onNext(longs);
                Timber.d("insert countries transaction complete");
            }

            @Override
            public void onError(@NonNull Throwable e) {
                super.onError(e);
                Timber.d("error storing countries in db"+e);
            }

            @Override
            public void onComplete() {
                Timber.d("insert countries transaction complete");
            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

对我来说,这显然是在另一个线程上运行.不是主线程,但是当我运行此代码时,我收到以下错误:

完整的堆栈跟踪如下.为什么会这样?

进程:com.mobile.myapp.staging,PID:12990
java.lang.IllegalStateException:调度程序抛出致命异常.引起:java.lang.IllegalStateException:无法访问主线程上的数据库,因为它可能会长时间锁定UI.at io.reactivex.android.schedulers.HandlerScheduler $ …

android rx-java android-room

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

错误:无法找到基本名称messages.AndroidJpsBundle,locale en_US的包

任何人,请帮助我,因为以下错误,我无法运行Android应用程序.

java.util.MissingResourceException:找不到捆绑的基本名称messages.AndroidJpsBundle,在java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564)地区en_US在java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387)在java.util.ResourceBundle.getBundle(ResourceBundle.java:773)org.jetbrains.jps.android.AndroidJpsBundle.getBundle(AndroidJpsBundle.java:22)org.jetbrains.jps.android.AndroidJpsBundle.message(AndroidJpsBundle.java) :32)在org.jetbrains.jps.android.AndroidSourceGeneratingBuilder.runAaptCompiler(AndroidSourceGeneratingBuilder.java:971)在org.jetbrains.jps.android.AndroidSourceGeneratingBuilder.doBuild(AndroidSourceGeneratingBuilder.java:210)在org.jetbrains.jps.android. AndroidSourceGeneratingBuilder.build(AndroidSourceGeneratingBuilder.java:114)在org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1263)在org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProje ctBuilder.java:940)在org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1012)在org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:903)在org.jetbrains.jps .incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:736)org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:384)org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:192) )在org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)在org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:295)在org.jetbrains.jps.cmdline.BuildSession.运行(BuildSession.java:125)org.jetbrains.jps.cmdline.BuildMain $ MyMessageHandler.lambda $ channelRead0 $ 0(BuildMain.java:236)org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda $ executeOnPooledThread $ 0( SharedThreadPoolImpl.java:42)java.util.concurrent.Executors java.util.c上的$ RunnableAdapter.call(Executors.java:511)java上的java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)中的oncurrent.FutureTask.run(FutureTask.java:266)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) .lang.Thread.run(Thread.java:745)[下午5:49,2017年10月30日] +852 9034 6076:信息:30/10/2017,5:10 PM - 编译完成,出现1错误0s警告5s 426ms

错误:无法找到基本名称messages.AndroidJpsBundle,locale en_US的包

android

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

如何检查Wifi是否已连接,但Android中无法访问Internet

我想知道为什么wifi连接但Android没有互联网接入.我怎么检查它?我的代码是:

ConnectivityManager cn=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
 NetworkInfo nf=cn.getActiveNetworkInfo();

 if(nf != null && nf.isConnected() )
         {
            Flag2=false;
            Log.e("network--------", "1--------------");

            if (cn.getActiveNetworkInfo().isConnectedOrConnecting())
            {Log.e("network--------", "11111111111111--------------");
             }
            else
            {Log.e("network--------", "2222222222222--------------");
            }
        }

 else 
         {
            Log.e("network--------", "2--------------");
 }
Run Code Online (Sandbox Code Playgroud)

android android-networking

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

5
推荐指数
3
解决办法
5076
查看次数

在某些设备上,camera2 的前置摄像头变暗

我使用谷歌样本camera2录制视频时,背置摄像头就可以了。我在代码中所做的唯一更改是

 String cameraId = manager.getCameraIdList()[1];
Run Code Online (Sandbox Code Playgroud)

切换到前置摄像头。预览还可以,但是当我开始录制时它变得太暗了,停止录制后黑暗消失了。

目前我在使用 Android 8.1.0 的 Pixel 2 上遇到了这个问题,但还有其他用户在具有不同 API 级别的不同设备上遇到了同样的问题。

有人知道如何解决这个问题吗?

android android-camera2

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

通过 user_link 打开用户 Facebook 页面时出现问题

我在尝试打开用户的 facebook 页面时收到错误消息。奇怪的是,如果我与该用户有共同的朋友,则页面加载没有问题,但我不认为这是默认行为,否则我无法理解user_link许可的含义。

Facebook 已批准user_link许可,我通过了应用程序审核。

我从开发者帐户更改了应用程序调用的 API 版本v3.1

我得到的方式user_link

LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("user_gender", "user_link"));
        LoginManager.getInstance().registerCallback(callbackManager,
                new FacebookCallback<LoginResult>() {
                    @Override
                    public void onSuccess(LoginResult loginResult) {
                       makeGraphRequest(loginResult.getAccessToken());
                    }

                    @Override
                    public void onCancel() {
                    }

                    @Override
                    public void onError(FacebookException error) {

                    }
                });


 public void makeGraphRequest(AccessToken token) {
        GraphRequest request = GraphRequest.newMeRequest(
                token, (object, response) -> {
                    try {
                        userStorage.setUserProfileUrl(object.getString(AppConstants.LINK));
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                });
        Bundle parameters = new Bundle();
        parameters.putString("fields", "name,gender,link,picture.width(700).height(700)");
        request.setParameters(parameters); …
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-graph-api

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

Android Talkback 在 TextInputLayout 上的错误公告

我的布局中有以下代码

\n\n
<com.google.android.material.textfield.TextInputLayout\n        android:id="@+id/tilPassword"\n        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"\n        android:layout_width="match_parent"\n        android:layout_height="wrap_content"\n        android:hint="Password"\n        app:layout_constraintEnd_toEndOf="parent"\n        app:layout_constraintStart_toStartOf="parent"\n        app:layout_constraintTop_toBottomOf="@id/tilUserName"\n        app:passwordToggleEnabled="true">\n\n        <com.google.android.material.textfield.TextInputEditText\n            android:id="@+id/tiePassword"\n            android:layout_width="match_parent"\n            android:layout_height="wrap_content"\n            android:imeOptions="actionDone"\n            android:inputType="textPassword"\n            android:selectAllOnFocus="true"\n            android:singleLine="true" />\n\n    </com.google.android.material.textfield.TextInputLayout>\n
Run Code Online (Sandbox Code Playgroud)\n\n

导航到 TextInputLayout 时 TalkBack 宣布:“密码密码编辑框”

\n\n

所需的公告:“密码编辑框”

\n\n

如果我删除其中一个,android:hint="Password"或者 android:inputType="textPassword"它会按预期工作。

\n\n

设置提示的注意事项

\n\n

提示应设置在 TextInputLayout 上,而不是 TextInputEditText 或 EditText 上。如果在 XML 中的子 EditText 上指定了提示,则 TextInputLayout 可能仍能正常工作;TextInputLayout 将使用 EditText\xe2\x80\x99s 提示作为其浮动标签。但是,以后调用修改提示将不会更新 TextInputLayout\xe2\x80\x99s 提示。为了避免意外行为,请在 TextInputLayout 上调用 setHint() 和 getHint(),而不是在 EditText 上调用。

\n

android talkback android-textinputlayout android-textinputedittext

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

是否有可能只在 android 的 firebase ml 套件中查找黑色字体?

我已经阅读了有关 ml kit 教程的所有内容https://firebase.google.com/docs/ml-kit/android/recognize-text。我只对本地 ocr 感兴趣,而不是云版本。当然,正如问题所暗示的那样,它与文本识别有关。

text-recognition firebase-mlkit google-mlkit

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

带有甜蜜警报对话框库的Android studio 3.0错误

单击以显示对话框,发生此错误

java.lang.RuntimeException:未知的animation-name:cn.pedant.SweetAlert.Rotate3dAnimation错误:null

有人一步一步解决问题吗?

android

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

任务“:app:compileDebugJavaWithJavac”执行失败反应本机

我正在尝试在我的 Android 设备上运行 React Native 应用程序,就像在 cmd 中一样

cd C:\Users\User\Desktop\js

react-native run-android
Run Code Online (Sandbox Code Playgroud)

失败:构建失败并出现异常。

  • 出了什么问题:任务“:app:compileDebugJavaWithJavac”执行失败。

    找不到tools.jar

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。

构建失败

总时间:5.243 秒 无法在设备上安装应用程序,请阅读上面的错误以了解详细信息。确保您有正在运行的 Android 模拟器或已连接的设备,并已设置您的 Android 开发环境: https ://facebook.github.io/react-native/docs/android-setup.html

谁能告诉我如何解决这个问题?

android react-native

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

开发服务器返回响应错误代码:404 react native

我正在尝试在 cmd 中运行这样的 react native app

cd C:\Users\User\Desktop\js

react-native run-android
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

android react-native

2
推荐指数
1
解决办法
4944
查看次数