我有一个PVK和SPC文件,并希望使用它们来签署Netbeans IDE 7.3中的jar文件.我的应用程序将从Java Web Start部署.
我使用keytool将它们组合成一个PFX文件.
"C:\ Program Files\Microsoft SDKs\Windows\v7.1\Bin\pvk2pfx.exe"-pvk joy.pvk -spc joy.spc -pi happy -pfx joyful.pfx
我找到了别名.
"C:\ Program Files\Java\jdk1.7.0_17\bin\keytool"-v -list -storetype pkcs12 -keystore joyful.pfx> abc.txt
然后我从这个Comodo 链接的步骤将pfx转换为Java Keystore
"C:\ Program Files\Java\jdk1.7.0_17\bin\keytool"-importkeystore -srckeystore joyful.pfx -srcstoretype pkcs12 -destkeystore joyful.jks -deststoretype JKS
IDE(项目属性|部署|签名证书)要求提供密钥库路径,密码,密钥别名和密钥密码.我填写它.
现在我做了一个干净的构建,但注意到这个消息:
警告:未验证签名者的证书链.
我做错了什么?
为什么我的服务开始两次?我正在返回START_STICKY.
我使用Run As从Eclipse安装它,并在Windows控制台窗口中启动它:
D:\>adb shell am startservice --user 0 -a android.intent.action.MAIN -n "com.sandbox.mq/.MainService"
Starting service: Intent { act=android.intent.action.MAIN cmp=com.sandbox.mq/.MainService }
Run Code Online (Sandbox Code Playgroud)
在Logcat窗口中,我看到它已经运行了两次!:
09-07 21:49:19.427: D/MQ(14027): Hi, the system is up! Today is: Sep 7, 2014 9:49:19 PM
09-07 21:49:19.427: V/MQ(14027): onStartCommand(). I am INSIDE THE main sERVICE Thread id = 1
09-07 21:49:19.427: V/MQ(14027): BackgroundThread0. Thread id = 866 sent message 0
09-07 21:49:19.427: V/MQ(14027): onStartCommand(). I am INSIDE THE main sERVICE Thread id = 1
09-07 21:49:19.437: V/MQ(14027): …Run Code Online (Sandbox Code Playgroud) 如何在JavaFX2中的服务和UI之间传递用户定义的对象和用户定义的(已检查的)异常?这些示例仅显示将String作为属性发送到服务,并将可观察字符串数组发送回UI.
似乎仅为简单类型定义属性.StringProperty,IntegerProperty,DoubleProperty等.目前我有一个用户定义的对象(不是简单的类型),我希望Task操作并使用它生成的输出数据进行更新.我通过Service的构造函数发送它,它通过Task的构造函数传递它.我想知道参数必须通过属性传递的限制.此外,如果在Task的操作期间抛出异常,它将如何从Service传递到UI?我只看到一个getException()方法,没有传统的throw/catch.
属性http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm
服务与任务http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm
服务javadocs http://docs.oracle.com/javafx/2/api/javafx/concurrent/Service.html#getException()
"因为任务是专为使用JavaFX GUI应用程序的使用,它可以确保每次更改其公共属性,以及为国家,错误和事件处理程序的变更通知,所有发生的主要的JavaFX应用程序线程.访问这些属性从后台线程(包括call()方法)将导致引发运行时异常.
强烈建议使用任务运行的不可变状态初始化所有任务.这应该通过提供一个Task构造函数来完成,该构造函数接受执行Task所需的参数.不可变状态使得从任何线程使用变得容易和安全,并确保在存在多个线程时的正确性."
但是如果我的UI只在Task完成后触摸了对象,那么它应该没问题,对吧?
如何在不确定的ProgressBar(纺车)中心显示文字?
我想在中心显示秒数.使用android API-19.该文件说,以显示进度,必须使用单杠.但是,如果我可以在中心显示文本,那么这对我有用.
那么,如何设置要在旋转轮进度条中显示的文本?
(我希望在运行之前尝试使用现有的API来构建自定义进度条)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.mycom.countdowntimer.CountdownMainActivity$PlaceholderFragment" >
<ProgressBar
android:id="@+id/progressBar1"
android:indeterminate="true"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="87dp" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 在 Spring Batch 的课程中,我很惊讶地看到? extends String. 由于 String 是最终类,这如何正确?
public void write(List<? extends String> items) throws Exception {
System.out.println(String.format("Received list of size: %s", items.size()));
items.forEach(System.out::println);
}
Run Code Online (Sandbox Code Playgroud) 我很惊讶地发现equals()显然被覆盖了ArrayList<String>.因为Collection <>中的contains()显然比较值,而不是引用.当然,因为Collection<Object>参考将被比较.在下面的程序中,我不应该在第二行上弄错?
public static void main(String[] args) {
ArrayList<String> al = new ArrayList<String>();
al.add("Obama");
al.add("Reagan");
al.add("Bush");
al.add("Nyquist");
StringBuffer sb = new StringBuffer();
sb.append("Bush");
System.out.println("compares values? using constants " + al.contains("Bush"));
System.out.println("compares values? using local variable " + al.contains(sb.toString()));
}
run:
compares values? using constants true
compares values? using local variable true
Run Code Online (Sandbox Code Playgroud) SystemProperties.set需要什么Linux权限才能工作?(机器人)
我正在编写一个在Android设备上的系统/应用程序中运行的应用程序.
它正在运行
机器人:sharedUserId = "android.uid.systemui"
在Android.mk中
LOCAL_CERTIFICATE:=平台
但是,我发现我无法创建,编写或设置属性.在控制台中,我可以做一个getprop,setprop.但是,我的程序无法创建它.
ls -l/data/property /
表明它不存在.
Slog.d(TAG, "key is not set, will set APPLE");
SystemProperties.set(keyName, favorite);
if(SystemProperties.get(keyName).equals(favorite)) {
Slog.d(TAG, keyName + " = " + SystemProperties.get(keyName));
} else {
Slog.e(TAG, "setting SystemProperties failed. value written = " + SystemProperties.get(keyName));
}
Run Code Online (Sandbox Code Playgroud)
logcat的:
Line 1365: D/MyTag( 2593): keyName: persist.fruit.user.favorite
Line 1373: D/MyTag( 2593): keyName has value []
Line 1377: D/MyTag( 2593): key is not set, will set APPLE
Line 1381: E/MyTag( 2593): setting SystemProperties failed. …Run Code Online (Sandbox Code Playgroud) 我的主屏幕UI上有一个进度指示器,由各种选项卡和服务共享.每个TabController都有自己的Service实例.在我的MainController类中,对于每个选项卡,我将每个Service的progress属性绑定到ProgressIndicator.
@FXML
Region veil;
@FXML
ProgressIndicator progressDial;
progressDial.progressProperty().bind(tabController.commandService.progressProperty());
veil.visibleProperty().bind(tabController.commandService.runningProperty());
progressDial.visibleProperty().bind(tabController.commandService.runningProperty());
tabController.commandService.messageProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> ov, String t, String newValue) {
addCommentary(newValue);
}
});
Run Code Online (Sandbox Code Playgroud)
但是我看到,在第一个服务使用它之后,进度拨号不会出现以执行后续服务或任务.我想知道我是否滥用ProgressIndicator,因为每个服务可能同时运行.我猜测第一次完成后进度没有重置.我该如何重置?该progress属性为只读.
ReadOnlyDoubleProperty progressProperty()获取表示进度的ReadOnlyDoubleProperty.
并且调用updateProgress(0)不会使拨号重新出现.
我尝试使用ProgressIndicator作为全局显式重置它
mainController.progressDial.setProgress(0);
但这失败了
java.lang.RuntimeException: A bound value cannot be set.
at javafx.beans.property.DoublePropertyBase.set(DoublePropertyBase.java:159)
我可能会弄错,但我认为这是JavaFX UI控件设计中的错误.将进度更新为0应重置进度指示器.
我有 Windows 11 家庭版(不允许 Hyper-V,只有专业版允许)。安装了 WSL2 和 Docker Desktop。
使用 Chocolatey 安装了 Minikube,但它拒绝启动。在 SO 上搜索,我在几篇文章中找到了这个建议,但它失败了。
PS C:\WINDOWS\system32> docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
Are you sure you want to continue? [y/N] y
error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/prune": open …Run Code Online (Sandbox Code Playgroud) 更新:在寻找"vnd.android.cursor.dir/vnd.google.note"和"vnd.android.cursor.item/vnd.google.note"在我看来,就好像光标是为一个表.
从示例中可以看出内容提供程序设计为使用一个表.我知道如何在sqlite中使用多个表,但在我看来,内容提供者似乎是从一个表中选择一行或多行.
请参阅http://developer.android.com/guide/topics/providers/content-provider-creating.html
另外,请参阅adt-bundle-windows-x86-20131030\sdk\samples\android-19\legacy\NotePad\src\com\example\android \notepad中的记事本示例
假设我想按主题发表评论.
我想要一个包含_id和Title_text列的主题表.我想让Notes表包含列_id和外键Topic_id和Note_text.
如何设计主题和注释?
但是看看Notes示例,内容提供商上的内容URI和文档,看起来好像有多个相关的表是事后的想法,对我来说并不明显.
来自NotepadProvider.java,Notepad.java:
public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.google.note";
/**
* The MIME type of a {@link #CONTENT_URI} sub-directory of a single
* note.
*/
public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.google.note";
public static final Uri CONTENT_ID_URI_BASE
= Uri.parse(SCHEME + AUTHORITY + PATH_NOTE_ID);
/**
* The content URI match pattern for a single note, specified by its ID. Use this to match
* incoming URIs or …Run Code Online (Sandbox Code Playgroud) android ×4
java ×3
javafx-2 ×2
certificate ×1
docker ×1
jar-signing ×1
kubernetes ×1
linux ×1
minikube ×1
service ×1
worker ×1