小编Yas*_*svi的帖子

android无法加载WebView提供程序:未安装WebView

最近,我们开始在我们的crashlytics中看到这个新条目,该条目表示android无法在设备上找到webview包.

这是完整的堆栈跟踪(源代码中的类已被替换为.....:

 Fatal Exception: android.view.InflateException: Binary XML file line #139: Binary XML file line #139: Error inflating class <unknown>

Caused by android.view.InflateException: Binary XML file line #139: Error inflating class <unknown>

Caused by java.lang.reflect.InvocationTargetException
       at java.lang.reflect.Constructor.newInstance0(Constructor.java)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
       at android.view.LayoutInflater.createView(LayoutInflater.java:645)
       at g.a.a.a.d.a(SourceFile:211)
       at g.a.a.a.d.a(SourceFile:20)
       at g.a.a.a.d$a.onCreateView(SourceFile:302)
       at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:189)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:777)
       at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
       at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
       at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
       at g.a.a.a.d.inflate(SourceFile:60)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
       at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
       at ......(SourceFile:148) …
Run Code Online (Sandbox Code Playgroud)

android webview

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

android java.lang.NoClassDefFoundError:org.bouncycastle.crypto.engines.AESEngine api 16

com.nimbusds.jose.crypto在我的android客户端中使用库来做一些jwt的东西.

这是我在gradle文件中声明的内容:

    compile 'com.nimbusds:nimbus-jose-jwt:4.23'
Run Code Online (Sandbox Code Playgroud)

在api> = 19时一切正常,但是当我在api 16上运行代码时,我得到了这个异常:

java.lang.NoClassDefFoundError: org.bouncycastle.crypto.engines.AESEngine.

这是什么问题?为什么AESENGINEapi 16上没有课程?

java android

12
推荐指数
1
解决办法
3375
查看次数

使用Confirm Credentials api解锁面部

我在我的应用程序中使用确认凭据api来使用createConfirmDeviceCredentialIntent api 对用户进行身份验证.

当我将设备锁定为pin/pattern/password或fingerprint时,api工作正常.但是,它不适用于面部解锁的情况.我已经在我的设备中设置了面部解锁,并且在打开设备时工作正常.但是当我使用上面提到的api启动意图时,它不会识别面部解锁而是所有其他事情.

这是api的限制吗?或者我要做一些额外的事情来实现这个目标?

在任何地方都找不到这样的帖子.

android

12
推荐指数
2
解决办法
4753
查看次数

docker容器中的mysql无法通过os x上的已安装卷运行

在OS X上.

我试图通过boot2docker在docker容器中运行mysql,通过/var/lib/mysql在主机上安装卷,这样我就可以拥有持久的mysql数据.我计划将来使用仅数据容器,但是现在我正在尝试使用此选项.

我使用以下命令来运行容器:

docker run -v /Users/yash/summers/db:/var/lib/mysql -i -t 'image name'

/Users/yash/summers/db文件夹已经存在.

我正面临着这方面的问题.使用命令行,我能够访问该目录,创建/删除新文件,但是当我运行时 service mysql start,我收到以下错误:

150528 15:43:43 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
150528 15:43:43 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
150528 15:43:43 [Note] /usr/sbin/mysqld (mysqld 5.5.43-0ubuntu0.14.04.1) starting as process 909 ... 
150528 15:43:43 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ …
Run Code Online (Sandbox Code Playgroud)

docker boot2docker

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

如何测试返回 DataSource.Factory 的 Dao 方法?

从移后SqliteOpenHelperroom我的应用程序中,我试图写的测试DAO类。

我的 DAO 看起来像这样:

    @Query("SELECT * FROM cards")
    fun getAllCards(): List<CardData>

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insertCard(vararg cardData: CardData): List<Long>

    @Query("SELECT * FROM cards ORDER BY isRead ASC, id DESC")
    fun getItemList(): DataSource.Factory<Int, CardData>

    @Query("SELECT * FROM cards where instr(title, :query) > 0 ORDER BY isRead ASC, id DESC")
    fun getItemList(query: String): DataSource.Factory<Int, CardData>

    @Query("UPDATE cards set isRead = 1 where title = :title")
    fun markRead(title: String): Int
Run Code Online (Sandbox Code Playgroud)

在写测试getAllCardsinsertCard并且markRead是微不足道的,我仍然不知道我怎么测试的API,其回报率 …

android android-testing android-room android-paging

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

Laravel 5.0,无法重新声明类App\models\Category

我最近将我的项目从laravel 4.2升级到laravel 5.0,并且遇到了一些错误.

我没有在4.2版本中定义任何名称空间,但如此处所示,

我已经开始在我的代码中定义名称空间.我不知道我面临的问题是否与此有关,但是在这个过程的中间发生了.

运行代码时出现以下错误:

exception 'Symfony\Component\Debug\Exception\FatalErrorException' with
message 'Cannot redeclare class App\models\Category' in  
/Users/yash/summers/lightsCameraDinner/lcd_updated/app/models/Category.php:19
Run Code Online (Sandbox Code Playgroud)

这是我的Category.php:

<?php namespace App\models;

use Eloquent;

class Category extends Eloquent {

  protected $table = 'categories';
  protected $guarded = array('id');

  // Defining 'Many to Many' Relationship with 'VendorProfile' Model
  public function clients() {
    return $this->belongsToMany('Client');
  }

  // Defining 'One to Many' Relationship with 'Job' Model
  public function jobs() {
    return $this->hasMany('Job');
  }
}
Run Code Online (Sandbox Code Playgroud)

我在SO上搜索了类似的错误,但没有发现任何错误.

这是我的控制器中在"/"路由上调用的函数.

    public function getIndex() {
    $categories = Category::all();

    $messages = …
Run Code Online (Sandbox Code Playgroud)

model runtime-error redeclaration laravel-5

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

需要按两次按钮才能从活动中导航回来

我有一个主要活动A(PlacesListActivity).它从导航抽屉调用活动B(AboutMeActivity).我已将活动A声明为清单中B的父活动.

现在,当我从A-> B出发时,

  • 如果我按下操作栏中的后退箭头,它会将我带回活动A.

  • 关于硬件按钮,我必须按两次才能返回活动A.当我按下硬件一次后,没有任何反应.看起来它只是重新加载活动B.我不想要这个.按一下硬件按钮即可完成工作.

活动代码B:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_about_me);
    initialize();
}

 private void initialize() {
    toolbar = (Toolbar) findViewById(R.id.toolbarAboutMe);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
   .....
 }
Run Code Online (Sandbox Code Playgroud)

initialize函数只是初始化一些UI元素.

呼叫活动代码B:

@Override
public void onDrawerItemSelected(View view, int position) {
    Intent i;
    switch (position) {
        case 0:
            i = new Intent(this, AboutMeActivity.class);
            startActivity(i);
            break;
            ......
Run Code Online (Sandbox Code Playgroud)

清单:

<activity
        android:name="....AboutMeActivity"
        android:parentActivityName="....PlacesListActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="....PlacesListActivity" />
    </activity>
Run Code Online (Sandbox Code Playgroud)

编辑:

我试过覆盖OnBackPressed(),但它永远不会被调用.

我试图重写OnKeyDown()并呼吁finish(),但仍然,我必须按两次才能回到活动A.

android

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

pagedList 一次加载所有项目

我试图在我的应用程序中集成架构组件,即分页、LiveData、ViewModel。Room 之前已经集成和测试过,所以我可以DataSource.Factory<Integer, DbEntity>从我的 DAO 类中返回一个。这是我创建 PagedList LiveData 的代码:

 PagedList.Config pagedListConfig =
            (new PagedList.Config.Builder()).setEnablePlaceholders(true)
                .setPrefetchDistance(5)
                .setPageSize(10)
                .setInitialLoadSizeHint(10)
                .build();

        LiveData<PagedList<DbEntity>> dbEntities = new 
LivePagedListBuilder<>(DAO.getItemList(timeNow), pagedListConfig).build();
Run Code Online (Sandbox Code Playgroud)

我正在我的片段类中观察这个实时数据:

viewModel.dbEntities.observe(this, new Observer<PagedList<DbEntity>>() {
            @Override
            public void onChanged(@Nullable PagedList<DbEntity> inboxEntities) {
                adapter.submitList(inboxEntities);
            }
        });
Run Code Online (Sandbox Code Playgroud)

问题是绘制列表的时间太长,似乎列表中的所有项目 (1300) 都是在第一次绘制时绘制的。

我在两个地方验证了这一点:onChanged在 PagedList 大小等于 1300onBindViewHolder的情况下被调用,并且适配器被调用到 1300 以内的所有位置。

我在这里做错了吗?

android android-architecture-components

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

java.lang.IllegalStateException: 应为 .,&lt;, 或 ;,但在解包时发现 firebaseperf

在我的应用程序中集成性能 sdk 后,gradle 在构建项目时打印以下警告:

java.lang.IllegalStateException: Expecting .,<, or ;, 但在解包时发现 firebaseperf ;BuilderType:Lcom/google/android/gms/internal/firebase-perf/zzam;>Ljava/lang/Object;Lcom/google/android /gms/internal/firebase-perf/zzdf;

虽然它没有使构建失败,但我不确定这意味着什么,因此在我确定它不会导致任何问题之前不想将其推入生产。

有人可以在这里帮忙吗?

Performance sdk version: 15.2.0

Firebase core version: 15.0.2
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-performance

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

类似于 Android 中的服务的 &lt;activity-alias&gt;

总而言之

我需要类似android 服务的活动别名之类的东西。

完整版

我正在数据库中存储某些服务的组件名称(完全限定名称)。现在,我需要将这些服务组件的物理位置从一个位置更改为另一个位置,这意味着它们的完全限定路径将发生变化,在这种情况下,它们的包也会发生变化。这意味着当我下次从数据库获取它们时,我将无法调用它们。

虽然在活动的情况下,我们可以在旧位置的清单中创建一个活动别名,但我没有看到类似的服务。

一个明显的解决方案是在启动时更新数据库,但我想知道是否有更优雅的解决方案可用。

编辑:我将在多个版本之间移动这些服务,因此这不会是单次迁移,并且我无法维护单个密钥作为迁移状态。

android android-service

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