我有一个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应用程序中使用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) 在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?
我有
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识别类型,我只是简单地传递null给setOldSkus
文档报告说
setSku (String sku)并setType (String type)已被替换为setSkuDetails(SkuDetails)
(此SkuDetails对象String在构造函数中仅接收一个作为参数并抛出,JSONException因此似乎它不适用于旧String常量)
和
setOldSkus(ArrayList<String> oldSkus) 已被替换为 setOldSku(String)
我已将 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) 我需要以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个或更多人对象
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) 我正在尝试缩放LinearLayout包含DatePicker和TimePicker添加的水平
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)
没有此空白问题的任何缩放视图的解决方案?
当您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 )中可用的特定路径中打开内容管理器视图,并在打开选择器时使用“使用此文件夹”按钮?
我必须获取图库中图像的图像路径,并将其保存为列表,但是不幸的是,如果所选图像太大,则以下代码会使应用程序崩溃(并且不会查看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)