小编XGo*_*het的帖子

如何阅读Stock CPU Usage数据

在Ice Cream Sandwich上,Developer Options中的一个选项是"Show CPU Usage",它在屏幕上添加了一个叠加层(见下面的截图).

我的问题是,我如何阅读数据?我猜测包名是当前活动的过程,但背后的红色和绿色条是什么意思?还有什么是包装顶部的3个数字?

在此输入图像描述

android cpu-usage

113
推荐指数
2
解决办法
11万
查看次数

当应用程序处于Debug状态时,为什么Gradle在Release模式下构建我的模块

我正在制作一个新的Android项目,包括标准'app'模块,以及一个库项目(让我们称之为'custom_lib').在appbuild.gradle文件,我的链接模块这样:

dependencies {
    compile project(':custom_lib')
}
Run Code Online (Sandbox Code Playgroud)

当我触发构建过程(Menu Build> Make Project)时,我在Gradle控制台中获得以下输出

Executing tasks: [clean, :app:compileDebugSources, :custom_lib:compileDebugSources]

Configuration on demand is an incubating feature.
:app:clean
:custom_lib:clean
:app:preBuild
:app:preDebugBuild
:app:checkDebugManifest
:app:preReleaseBuild
:custom_lib:compileLint
:custom_lib:copyReleaseLint UP-TO-DATE
:custom_lib:mergeReleaseProguardFiles UP-TO-DATE
:custom_lib:preBuild
:custom_lib:preReleaseBuild
:custom_lib:checkReleaseManifest
:custom_lib:prepareReleaseDependencies
:custom_lib:compileReleaseAidl
:custom_lib:compileReleaseRenderscript
:custom_lib:generateReleaseBuildConfig
:custom_lib:generateReleaseAssets UP-TO-DATE
:custom_lib:mergeReleaseAssets
:custom_lib:generateReleaseResValues UP-TO-DATE
:custom_lib:generateReleaseResources
:custom_lib:packageReleaseResources
:custom_lib:processReleaseManifest
:custom_lib:processReleaseResources
:custom_lib:generateReleaseSources
:custom_lib:compileReleaseJava
:custom_lib:processReleaseJavaRes UP-TO-DATE
:custom_lib:packageReleaseJar
:custom_lib:compileReleaseNdk
:custom_lib:packageReleaseJniLibs UP-TO-DATE
:custom_lib:packageReleaseLocalJar UP-TO-DATE
:custom_lib:packageReleaseRenderscript UP-TO-DATE
:custom_lib:bundleRelease
:app:prepareComAndroidSupportAppcompatV72102Library
:app:prepareComAndroidSupportSupportV42102Library
:app:prepareTestDoubleBuildCustom_libUnspecifiedLibrary
:app:prepareDebugDependencies
:app:compileDebugAidl
:app:compileDebugRenderscript
:app:generateDebugBuildConfig
:app:generateDebugAssets …
Run Code Online (Sandbox Code Playgroud)

android gradle android-gradle-plugin

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

找到Xcode 4.5.2错误但Build标记为Succeeded

这个问题非常类似于:Xcode 4 Preview 4显示"Build Succeeded"但有错误

链接中提出的不同解决方案不起作用.我尝试使用产品清理,删除派生数据,重启XCode和Mac,但问题仍然存在.

似乎所有错误都链接到项目的预编译头:虽然PCH工作正常并且本身没有错误,但报告的错误看起来像是找不到此特定文件的pch.有时,在构建过程中,错误会随机出现和消失.有人对此有所了解吗?

在此输入图像描述

该错误仅出现在编辑器中打开的文件中.如果我在xcode中关闭文件但保持项目打开,则根本不会报告任何错误.

xcode compiler-errors build

26
推荐指数
3
解决办法
4689
查看次数

如何修改JTextArea中tab键的行为?

我正在Java Swing中创建一个表单,其中一个字段是JTextArea.当我Tab在所有其他字段上使用该键时,它会将焦点放在下一个窗口小部件上,但在其中JTextArea,它会在文本中插入制表符(水平空格).

我该如何修改此行为?

java user-interface swing widget

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

无法将数据库从版本"n"降级为"n-1"在三星上

我有一个数据库的应用程序,使用标准的SQLiteOpenHelper创建和打开.

每当我升级数据库版本时,我也会升级应用程序的版本代码,因此数据库无法关闭(数据库版本号总是增加,永不减少).

我通过将android:allowBackup属性设置为false来禁用我的应用程序中的数据库备份.

但是当我在Play商店升级应用程序时,我遇到了很多崩溃

无法将数据库从版本降级nn-1

这些崩溃中有96%发生在运行的三星设备上.任何人都知道为什么会出现这个问题,更重要的是如何防止这种崩溃?

我知道我可以覆盖onDowngrade以防止崩溃但我实际上不明白为什么onDowngrade被调用,因为在总是使用数据库的最后版本的应用程序上调用了崩溃.

编辑:添加代码示例,FWIW

我的OpenHelper:

public class MyDBHelper extends SQLiteOpenHelper {

    private static final String LOG_TAG = MyDBHelper.class.getName();

    public static final String DB_NAME = "my_db";
    public static final int DB_V1 = 1;
    public static final int DB_V2_UNIQUE_IDS = 2;
    public static final int DB_V3_METADATAS = 3;
    public static final int DB_V4_CORRUPTED_IDS = 4;
    public static final int DB_V5_USAGE_TABLE = 5;

    public static final int DB_VERSION = DB_V5_USAGE_TABLE;

    public MyDBHelper(final Context …
Run Code Online (Sandbox Code Playgroud)

android sqliteopenhelper

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

拼写建议使用android.text.TextWatcher提供冗余值

我正在使用android.text.TextWatcher接口来侦听我的一个应用程序中的EditText上的更改.我使用beforeTextChanged()和onTextChanged()监视更改以允许撤消选项.

通常,更改一次发生一个字符,例如,如果用户键入"hello",我将获得beforeTextChanged()方法的start,after和count值的以下值:

start = 0; count = 0; after = 1;      // typed 'h'
start = 1; count = 0; after = 1;      // typed 'e' 
start = 2; count = 0; after = 1;      // typed 'l'
start = 3; count = 0; after = 1;      // typed 'l'
start = 4; count = 0; after = 1;      // typed 'o'
Run Code Online (Sandbox Code Playgroud)

现在,在ICS /三星Galaxy Nexus上,拼写建议处于活动状态,当我输入相同的文本时,EditText中的单词加下划线,直到我插入一个空格,我得到以下结果:

start = 0; count = 0; after = 1;      // typed 'h'
start …
Run Code Online (Sandbox Code Playgroud)

android android-edittext

10
推荐指数
1
解决办法
338
查看次数

因为编译时验证Android失败而拒绝类

我的一个应用程序在启动时突然失败,并显示以下错误消息:

java.lang.VerifyError:拒绝类com.sample.BufferManagerImpl,因为编译时验证失败('com.sample.BufferManagerImpl'的声明出现在/data/app/com.sample.myapp-1/base.apk中)

它仅在使用ART虚拟机的设备上失败,但在Dalvik上没有

android synchronized-block

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

使用Canvas.drawText()时如何知道文本的大小

我正在使用Canvas.drawText()在自定义视图上写文本.我想在文本后面添加一个背景9-patch drawable,所以我需要知道所绘制文本的边界.文本由用户提供,因此它不是固定大小.

现在我正在使用等宽字体,我设法建立一个看起来不那么糟糕的大小,但在手中我宁愿使用另一种字体.

android canvas drawtext

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

在java中是否有相同的ucwords

在php中,该方法ucwords转换字符串中的任何字符串,其中每个单词的第一个字符是大写,而所有其他字符都是小写.

我总是最终制作自己的实现,我想知道是否存在标准方法.

php java android

5
推荐指数
2
解决办法
8453
查看次数

glGetString(GL_VERSION) 返回“OpenGL ES-CM 1.1”,但我的手机支持 OpenGL 2

我正在尝试制作一个基于 NDK 的 OpenGL 应用程序。在我的代码中的某个时刻,我想检查设备上可用的 OpenGL 版本。

\n\n

我正在使用以下代码:

\n\n
const char *version = (const char *) glGetString(GL_VERSION);\nif (strstr(version, "OpenGL ES 2.")) {\n    // do something \n} else {\n    __android_log_print(ANDROID_LOG_ERROR, "NativeGL", "Open GL 2 not available (%s)", version=;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是版本字符串始终等于"OpenGL ES-CM 1.1"

\n\n

我正在 Moto G (Android 4.4.4) 和 Samsung Galaxy Nexus (Android 4.3) 上进行测试,两者都兼容 OpenGL ES 2.0(moto G 也兼容 OpenGL ES 3.0)。

\n\n

EGL_CONTEXT_CLIENT_VERSION我尝试在初始化显示时强制执行,但随后eglChooseConfig 返回 0 个配置。当我在默认配置中测试上下文客户端版本值时,它始终为 0 :

\n\n
const EGLint attrib_list[] = {\n        EGL_BLUE_SIZE, …
Run Code Online (Sandbox Code Playgroud)

android opengl-es android-ndk

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

从我自己的应用程序查询我自己的ContentProvider时获得权限拒绝

在我的一个应用程序中,我使用ContentProvider来保存和恢复信息.这个ContentProvider由主应用程序使用,以及一些服务,但它们都在同一个apk中,并且所有服务都存在于默认(主)进程中.

我的内容提供程序在我的清单中声明如下:

    <provider android:name="sample.provider.SampleProvider"
              android:authorities="sample.provider"
              android:exported="false"
              android:enabled="true">
    </provider>
Run Code Online (Sandbox Code Playgroud)

我的一个类被注册为URI的观察者,当通知更改时,我直接查询提供者以更新内部值.

@Override
public void onChange(boolean selfChange, @Nullable Uri uri) {
    if (uri == null) {
        return;
    }
    try {
        Cursor updated = mContentResolver.query(uri, null, null, null, null);
        // ... working with the cursor here
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码总是失败,但有以下异常

java.lang.SecurityException: Permission Denial: reading sample.provider.SampleProvider uri 
    content://sample.provider/infos/FOO from pid=0, uid=1000 requires the provider be 
    exported, or grantUriPermission()
      at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:605)
      at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:480)
      at android.content.ContentProvider$Transport.query(ContentProvider.java:211)
      at android.content.ContentResolver.query(ContentResolver.java:491)
      at android.content.ContentResolver.query(ContentResolver.java:434)
      at sample.foo.Bar.onChange(Bar.java:331) …
Run Code Online (Sandbox Code Playgroud)

android permission-denied android-contentprovider

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

我在 Kotlin KClass 中看不到私有成员

我正在开发一个使用反射的库,我想操作给定 KClass 的所有属性/函数。

使用该KClass::members属性,我可以操作所有可访问的成员(根据文档),即:公共、内部和受保护的字段、属性和函数。但我看不到私人的。

使用 Java 反射,我可以使用 来查看所有字段(包括私有字段)Class.getDeclaredFields(),同样我可以使用 来查看私有方法Class.getDeclaredMethods()

有没有办法使用 kotlin 反射 API 来做到这一点?

kotlin kotlin-reflect

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

如何从 gradle 插件将文件夹添加到 android 项目源集

我正在为 gradle 编写一个插件,为 Android 项目生成一些类。

我在项目src/gen/java文件夹中生成这些类,因为我不希望它们与真实的源代码混合。

从项目的build.gradle配置中,我可以添加它以使构建工具看到生成的类:

android {
    sourceSets {
        main {
            java {
                srcDir 'src/gen/java'
            }
        }
    }
} 
Run Code Online (Sandbox Code Playgroud)

问题是我希望我的插件自动设置它。从我的插件中我尝试了以下操作:

公共类 MyPlugin 实现插件 {

@Override
public void apply(Project project) {
    // ... 
    // TEST 1 : doesnt work
    project.android.sourceSets.main.java.srcDirs += "src/gen/java"

    // TEST 2 : doesnt work
    project.android.sourceSets {
        main {
            java {
                srcDir 'src/gen/java'
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

}

每次插件都可以工作,但是编译器仍然看不到该文件夹​​,并且在编译时找不到生成的类。有谁知道通过插件执行此操作的另一种方法吗?

plugins android gradle gradle-plugin

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