小编And*_*eaF的帖子

如何在Android中设置过期日期

我有一个Android应用程序,我想将它用于测试目的,在到期日期后,应用程序必须显示一个对话框并阻止命令.

这里我的代码显示对话框和块命令

public void expired(){
    bt1.setEnabled(false)
    bt2.setEnabled(false)
    bt3.setEnabled(false)
    bt4.setEnabled(false)
    bt5.setEnabled(false)
Alerts.AppExpiredMessage(Home.this);
}
Run Code Online (Sandbox Code Playgroud)

但如何在表单中设置Android中的到期日期

if(appLicenseExpired){
void expired();
}
Run Code Online (Sandbox Code Playgroud)

验证实际日期是先前设定的到期日期(例如2013年3月3日)?

android android-calendar

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

无法修复Android Proguard返回错误代码1错误

当我尝试在我的Android应用程序中使用proguard时只需添加

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt
Run Code Online (Sandbox Code Playgroud)

到我的project.properties文件,APK导出失败并显示消息 Proguard Returned with error code 1

这是我的project.properties档案

target=android-18
android.library.reference.1=../LVL
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt
Run Code Online (Sandbox Code Playgroud)

这是错误堆栈:

    Proguard returned with error code 1. See console
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.DataProxy: can't find superclass or interface java.awt.datatransfer.Transferable
    [2013-08-28 18:27:13 - MyApp] Warning: org.apache.harmony.awt.datatransfer.NativeClipboard: can't find superclass or interface java.awt.datatransfer.Clipboard
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.Sasl
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class javax.security.sasl.Sasl
    [2013-08-28 18:27:13 - MyApp] Warning: com.sun.mail.imap.protocol.IMAPSaslAuthenticator: can't find referenced class …
Run Code Online (Sandbox Code Playgroud)

android proguard

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

为什么C代码中的1.0f在生成的程序集中表示为1065353216?

在CI中有这个代码块:

if(x==1){
    a[j][i]=1;
}
else{
    a[j][i]=0;
}
Run Code Online (Sandbox Code Playgroud)

a 是一个浮点值矩阵,如果我试图在nasm语法中看到此代码的编译程序集

a[j][i]=0;分配,以这种方式编码

dword [rsi+rdi], 0
Run Code Online (Sandbox Code Playgroud)

但行a[j][i]=1;分配是以这种方式编码的

dword [rsi+rdi], 1065353216
Run Code Online (Sandbox Code Playgroud)

1065353216如何代表1.0f

c floating-point assembly nasm

7
推荐指数
2
解决办法
2938
查看次数

如何正确更新已弃用的 Android BillingFlowParams 方法

我有

BillingFlowParams purchaseParams = BillingFlowParams.newBuilder().setSku(skuId).setType(billingType).setOldSkus(oldSkus).build();
Run Code Online (Sandbox Code Playgroud)

但现在

setSku

setType

setOldSkus
Run Code Online (Sandbox Code Playgroud)

都被弃用了。

我想更新旧代码而不发布会干扰当前订阅和未来订阅的更新。我应该如何正确更新上述代码?

目前我使用aString myProduct="my_newsweek_1"; 来识别购买和BillingClient.SkuType.SUBS识别类型,我只是简单地传递nullsetOldSkus

文档报告说

setSku (String sku)setType (String type)已被替换为setSkuDetails(SkuDetails) (此SkuDetails对象String在构造函数中仅接收一个作为参数并抛出,JSONException因此似乎它不适用于旧String常量)

setOldSkus(ArrayList<String> oldSkus) 已被替换为 setOldSku(String)

android android-billing

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

从 3.4.3 更新到 4.1.1 后无法检测 OpenCV 库

我已将 OpenCV 模块依赖项从 3.4.3 更新到 4.1.1,现在我收到消息

未找到 OpenCV 管理器包

尽管我已经包含了所有 libopencv_java4.so 本机库。

在以前的版本 (3.4.x) 中,仅当我省略包含本机*.so库时才需要包管理器,但在这个版本 (4.1.1) 中似乎没有任何区别,无论如何每次都要求 OpenCV 管理器。

我不希望该应用程序依赖于单独的 OpenCV 管理器。我该如何解决这个错误?

错误日志是:

OpenCV error: Cannot load info library for OpenCV
W/System.err: java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found
W/System.err:     at java.lang.Runtime.loadLibrary0(Runtime.java:1071)
W/System.err:     at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
W/System.err:     at java.lang.System.loadLibrary(System.java:1667)
W/System.err:     at org.opencv.android.StaticHelper.loadLibrary(StaticHelper.java:64)
W/System.err:     at org.opencv.android.StaticHelper.initOpenCVLibs(StaticHelper.java:95)
W/System.err:     at org.opencv.android.StaticHelper.initOpenCV(StaticHelper.java:39)
W/System.err:     at org.opencv.android.OpenCVLoader.initDebug(OpenCVLoader.java:107)
W/System.err:     at com.mysite.myapp.OpenCVTestActivity.onResume(OpenCVTestActivity.java:144)
W/System.err:     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1446)
W/System.err:     at android.app.Activity.performResume(Activity.java:7939)
W/System.err:     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4195)
W/System.err:     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4237)
W/System.err:     at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52) …
Run Code Online (Sandbox Code Playgroud)

android opencv opencv4android

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

在Android中,使用嵌套的json对象和带有多个json对象的嵌套json数组从json获取String

我需要以String的形式访问复杂Json中包含的所有单个参数.

例如String people=...; String idPeople=...;

我试图使用JSONTokeners,因为我试图搜索类似的问题,而对于简单的json,我没有问题,但我不知道如何从这里正确获取参数:

{"id":1,"error":null,"result":
  {"nPeople":2,
    "people":[
            {"namePeople":"Inca",
             "power":"1235",
             "location":"asdfghjja",
             "idPeople":189,
             "mainItems":"brownGem",
             "verified":false,
             "description":"Lorem impsum bla bla",
             "linkAvatar":"avatar_12.jpg",
             "longitude":16.2434263,
             "latitude":89.355118},

            {"namePeople":"Maya",
             "power":"1235",
             "location":"hcjkjhljhl",
             "idPeople":119,
             "mainItems":"greenstone",
             "verified":false,
             "description":"Lorem impsum bla bla",
             "linkAvatar":"avatar_6.jpg",
             "longitude":16.2434263,
             "latitude":89.3551185}]
    }
}
Run Code Online (Sandbox Code Playgroud)

NB数组中对象的数量并不总是2 ...并且可能包含4个或更多人对象

android json

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

如果我使用itext Library jar,则会出现Proguard错误

Proguard不适用于iText库.错误是相关的org.spongycastle.** org.bouncycastle.*,com.itext.pdf.**我试图使用保持这些包,但没有成功.

我的proguard配置文件是这样的:

-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification
-dontpreverify

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService

# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclassmembers public class * extends android.view.View {
   void set*(***);
   *** get*();
}

-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable { …
Run Code Online (Sandbox Code Playgroud)

android proguard

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

缩放视图会缩小内容大小,但会增加空白边距

我正在尝试缩放LinearLayout包含DatePickerTimePicker添加的水平

android:scaleX="0.6"
android:scaleY="0.6"
Run Code Online (Sandbox Code Playgroud)

问题是,这会缩放内容但同时增加边距,因此我无法正确使用空间.在图片中,标记的白色区域是通过缩放获得的空间,但我无法使用此空间(事实上,右侧的时钟被裁剪)

截图

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:scaleX="0.6"
    android:scaleY="0.6">

    <DatePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/datePicker"
        android:layout_gravity="center_horizontal"
        android:calendarViewShown="false"
        android:spinnersShown="false"
        android:layoutMode="opticalBounds"
        android:measureAllChildren="true" />

    <TimePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/timePicker"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="5dp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

没有此空白问题的任何缩放视图的解决方案?

android android-layout

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

如何提示内容管理器选择器直接在 ACTION_OPEN_DOCUMENT_TREE 的可选位置上打开

当您ACTION_OPEN_DOCUMENT_TREE在 Android 11 中选择存储文件的路径的权限时,默认的 Android 内容管理器默认会在最近使用的路径上打开,并且由于某种原因“使用此文件夹”按钮根本不会出现,即使此路径是可访问路径,除非用户手动移动路径以转到合适的位置(或者返回默认打开的路径,如果这是可选位置,则移动到目录)。

例如,假设用户使用的最新路径是Documents。当我要求用户选择允许应用程序保存文件的路径时,

Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
i.addCategory(Intent.CATEGORY_DEFAULT);
Run Code Online (Sandbox Code Playgroud)

这就是出现的情况:

在此输入图像描述

正如您所看到的,没有“使用此文件夹”蓝色按钮。

现在,如果用户从此处选择超级文件夹路径并在文档中再次输入,这就是他所看到的:

在此输入图像描述

现在“使用此文件夹”按钮可用。

这是完全没有意义的,而且对用户体验来说非常糟糕,许多用户最终肯定会感到烦恼和困惑地卸载该应用程序。

难道我做错了什么?是否可以向意图传递一些提示,以便直接在所有 Android 设备存储(例如DocumentsACTION_OPEN_DOCUMENT_TREE )中可用的特定路径中打开内容管理器视图,并在打开选择器时使用“使用此文件夹”按钮?

android storage-access-framework android-11

6
推荐指数
0
解决办法
531
查看次数

如果我选择大图像,OnActivityResult崩溃

我必须获取图库中图像的图像路径,并将其保存为列表,但是不幸的是,如果所选图像太大,则以下代码会使应用程序崩溃(并且不会查看try catch块中的警报)。

private void openImage() {

         try{
            Intent i = new Intent(Intent.ACTION_GET_CONTENT);
            i.setType("image/*");
            startActivityForResult(i, FILE_REQ_CODE);
            } catch (RuntimeException e) {
                           e.printStackTrace();
               Alerts.TooLargeImage(LoadImage.this);
            }

    }

    protected void onActivityResult(int requestCode, int resultCode,
            Intent intentData) {
        try{
            Uri tmp = intentData.getData();
            String path = tmp.toString();
            imagePathList.add(path);
            preview.setImageURI(tmp);
            FileArchiveManager.saveImagePath(imagePathList);
            super.onActivityResult(requestCode, resultCode, intentData);
            } catch (RuntimeException e) {
                           e.printStackTrace();
               Alerts.TooLargeImage(LoadImage.this);
            }
    }
Run Code Online (Sandbox Code Playgroud)

错误日志

java.lang.OutOfMemoryError: bitmap size exceeds VM budget(Heap Size=8135KB, Allocated=3718KB, Bitmap Size=11707KB)
    at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
    at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:694)
    at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:494)
    at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
    at android.graphics.drawable.Drawable.createFromStream(Drawable.java:657)
    at …
Run Code Online (Sandbox Code Playgroud)

android android-image android-activity

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