小编Ake*_*Jha的帖子

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

即使应用程序被销毁,AsyncTask也会一直运行?

我有一个应用程序,因为你不能做我使用的主线程上的网络操作AsyncTask,所以问题是,一旦我execute()AsyncTask右后,我finish()的活动,也许用户将finish()整个应用程序,所以我"我想知道的是:

  1. AsyncTask永远结束doInBackground()onPostExecute()即使该应用程序是只要关闭execute()了该应用程序正在运行的时候叫什么?

android android-lifecycle android-asynctask

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

在android错误中使用数据绑定:package*.*.databinding不存在

我正在尝试在Android应用程序中实现数据绑定.是我正在建立的链接.即使在完成所有必要的实现之后,我在gradle-build中遇到以下错误:

错误:包com.example.satpracticeapp.databinding不存在.

(这个包是我在MainActivity.java文件中导入的)我试过这个(数据绑定编译器),但它没有用.

问题是我已经使用数据绑定成功尝试了一个hello-world应用程序并且它可以工作.但是,当我尝试在几周前制作的应用程序中实现它时,我得到了上面提到的错误.在搜索解决方案时,我将gradle文件从我成功的hello world应用程序复制粘贴到我的旧应用程序 - 这也没有成功.

这是我的app level build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.satpracticeapp"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dataBinding {
        enabled = true
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.0'
}
Run Code Online (Sandbox Code Playgroud)

这是项目级build.gradle文件的buildscript:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是三个文件的最小版本的链接(如果需要) …

data-binding android

13
推荐指数
1
解决办法
7060
查看次数

覆盖给定矩形区域所需的最小矩形

我有一个矩形的维度区域:n*m.我还有一个较小的矩形矩形:x*y.覆盖较大矩形的所有区域所需的最小矩形数量是多少?

没有必要打包较小的矩形.允许它们相互重叠,如果需要,可以跨越较大矩形的边界.唯一的要求是我们必须使用最少数量的x*y矩形.

另一件事是我们可以根据需要旋转较小的矩形(我的意思是90度旋转),以最小化数字.

n,m,x和y:都是自然数.x,y不必是n,m的因子.

我无法在给定的时间内解决它,我也无法找到方法.我通过采用不同的n个案例开始,m可以被x,y整除.

更新

样本测试用例:

  • n*m = 3*3,x*y = 2*2.结果应为4
  • n*m = 5*6,x*y = 3*2.结果应为5
  • n*m = 68*68,x*y = 9*8.结果应该是65

algorithm math geometry

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

降低java方法的圈复杂度

我有以下方法:

private void setClientAdditionalInfo(Map map, Client client, User user) {

    Map additionalInfo = (Map) map.get("additionalInfo");

    if (checkMapProperty(additionalInfo, "gender")) {
        client.setGender(additionalInfo.get("gender").toString());
    }
    if (checkMapProperty(additionalInfo, "race")) {
        client.setRace(additionalInfo.get("race").toString());
    }
    if (checkMapProperty(additionalInfo, "ethnicity")) {
        client.setEthnicity(additionalInfo.get("ethnicity").toString());
    }
   .....
Run Code Online (Sandbox Code Playgroud)

如果以类似的方式使用语句,则再增加12个.唯一的区别是不同的setter方法名称和不同的参数.现在,由于一次又一次地重复相同的模式,有没有办法降低代码复杂度?

java if-statement cyclomatic-complexity sonarqube

8
推荐指数
1
解决办法
1494
查看次数

如何在EditText长度超过限制后停止输入

我知道有几个问题已经被问过,但我的查询有点不同.

我们如何限制输入的最大字符数EditText?我是否这样做

android:maxLength="7"
Run Code Online (Sandbox Code Playgroud)

或这个

((EditText)findViewById(R.id.zip)).setFilters(new InputFilter[] {
    new InputFilter.LengthFilter(7)
});
Run Code Online (Sandbox Code Playgroud)

我仍然可以输入文本字段,虽然它不可见但不考虑.如果我继续输入,输入在限制之后变得不可见,但是test-suggestions保持建立更高数量的字母.

假设我的限制是7并且我输入了10个字母,那么我只会看到前7个字母,但是文字建议会显示10个字母的单词.此外,我需要按退格3次才能真正开始删除我显示的7个字母单词中的字母.

所以,我的问题是:有没有办法在一定的字符长度后停止输入?

PS:不用说,但是虽然我不想在7个字母之后输入输入,但我会允许删除或退格.

android android-edittext

8
推荐指数
2
解决办法
3577
查看次数

Android NDK安装问题

我正在尝试在Android Studio 2.0(测试版)中安装NDK软件包.遵循此官方链接.zip文件完全下载,但在解压缩某些文件时卡住了mtd.h.这是截图:

在此输入图像描述

它现在已经停留了大约30分钟.我尝试取消和重新下载,但解压缩过程总是卡在同一个地方.关于它为什么会发生的任何想法?

android android-ndk

8
推荐指数
1
解决办法
6399
查看次数

日期作为 Spring REST 中的请求参数

我的控制器看起来像这样:

@RequestMapping(value = "/process_date", method = RequestMethod.GET)
    public ResponseEntity processDate
       (@RequestParam(value = "time", required = false) 
        @DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ssXXX") Date date){
// process the date
}
Run Code Online (Sandbox Code Playgroud)

邮递员查询:

http://localhost:8080/process_date?date=2014-05-09T00:48:16-04:00
Run Code Online (Sandbox Code Playgroud)

它给了我IllegalArgumentException。完整的例外是:

{
  "timestamp": 1495736131978,
  "status": 400,
  "error": "Bad Request",
  "exception": "org.springframework.web.method.annotation.MethodArgumentTypeMismatchException",
  "message": "Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@org.springframework.web.bind.annotation.RequestParam @org.springframework.format.annotation.DateTimeFormat java.util.Date] for value '2013-05-10T07:48:16-04:00'; nested exception is java.lang.IllegalArgumentException: Illegal pattern component: XXX",
  "path": "/airspaces"
} …
Run Code Online (Sandbox Code Playgroud)

java rest spring date spring-boot

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

MVVM 的 RoboBinding 与 Android 绑定

使用 RoboBinding 与 Android Binding 有何优缺点。

例如。

  1. RoboBinding 可以用于片段吗?
  2. Android 的 Fragment 绑定怎么样?
  3. 有没有使用反射在运行时减慢 Android 速度?
  4. 还有哪些可以用 proguard 混淆?
  5. 两者中的任何一个都可以自动生成 viewModel 接口吗?

Android 绑定信息

RoboBinding 演员表

model-view-controller android mvvm robobinding

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

如何在简单的非活动 java 类中创建类似于 onDestroy 的方法?

我想在类的实例关闭或销毁时执行一两个操作。我正在寻找类似于活动中 onDestroy 的东西。

编辑

我添加了代码,指出如何从 Helper 类返回 SQLiteDatabase。我使用最终代码来确保数据库已关闭。

public class PMDBDatabase {

    private static SQLiteDatabase DataBase = null;
    private static PMDBHelper dbHelper = null;

    public SQLiteDatabase getDatabase(Context ctx) throws SQLException {
        if (DataBase == null) {
            dbHelper = PMDBHelper.getInstance(ctx);
            DBOpen();
        } else
            if(!DataBase.isOpen())
                DBOpen();
        return DataBase;
    }

    private void DBOpen() throws SQLException {
        DataBase = dbHelper.getWritableDatabase();
    }

    public void close(){
        if(DataBase != null)  DataBase.close();
    }

    protected void finalize() throws Throwable {
        try {
            close();
        } finally {
            super.finalize();
        }
    } …
Run Code Online (Sandbox Code Playgroud)

java android ondestroy

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