我在布局上有4个按钮,对于每个按钮,它们都具有以下属性:
android:onClick="numberChosen"
现在,我计划做的是在我的活动中(使用具有4个按钮的布局),我有类似的东西:
public class Blah extends Activity{
String fileName;
Button one;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_number_players_selection_screen);
one = (Button) findViewById(R.id.number_players_one);
}
public void numberChosen(View v){
if(v == one){ // <-------- first way
System.out.println("first way");
}
if(v.getId()==R.id.number_players_one){ // <-------- second way
System.out.println("second way");
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果你注意到方法中发生了什么numberChosen,在这两种方式之间,哪一个更好?或者他们都在做同样的事情?
在旁注,是做android:onClick="numberChosen"更好还是更糟,而不仅仅是设置View.onClickListener?
我正在尝试以编程方式在Maniphest上创建任务/错误:https://www.phacility.com/phabricator/maniphest/
但我似乎找不到可以做到这一点的RESTful API.
我完全错过了什么吗?或者目前还没有
所以我可以自由地将用户添加到Jenkins.但是,似乎由于某种原因,我无法限制这些用户的权限.
目前,任何添加的用户都可以看到任何Jenkins作业并触发任何这些作业/任务.
我在Jenkins的"Manager Users"和Credentials选项卡中找不到任何文档或任何内容,以了解如何将某些作业限制为某些用户.
这有可能吗?
多项选择题:
以下哪项将正确检查应用程序是否在其AndroidManifest.xml中声明了某个权限?
getContext().checkCallingOrSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
Run Code Online (Sandbox Code Playgroud)
要么
getContext().getPackageManager().checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE, getContext().getPackageName()) == PackageManager.PERMISSION_GRANTED
Run Code Online (Sandbox Code Playgroud)
基本上,我从Android文件中害怕什么checkCallingOrSelfPermission声称 - >如果你只是检查它,它授予IPC权限?那有什么意思?
http://developer.android.com/reference/android/content/Context.html#checkCallingOrSelfPermission(java.lang.String)
所以对真正差异的任何解释都会很棒:D
*注意:我在库中提供此代码,因此我只允许在运行时检查权限,除非您知道更好的方法.
permissions android package android-manifest android-context
我正在尝试设置持续集成,特别是针对circleciiOS。有人在编写详细信息方面做得很好:http : //mazyod.com/blog/2015/03/26/marry-circleci-to-hockey/
然而,我的 xcodebuild 总是卡住,看起来它正在等待协同设计:
/usr/bin/codesign --force --sign...
日志显示它已经运行了一个多小时。我的猜测是……这个命令是在等待输入还是什么?
如果是这样,我如何强制它使用我使用分发证书/私钥创建的钥匙串?
脚本 (add-keys.sh) 如下所示:
#!/bin/sh
security -v create-keychain -p $KEY_PASSWORD ios-build.keychain
security -v import ./utils/build_tools/custom_builds/apple.cer -k ~/Library/Keychains/ios-build.keychain -T /usr/bin/codesign
security -v import ./utils/build_tools/custom_builds/distribution.cer -k ~/Library/Keychains/ios-build.keychain -T /usr/bin/codesign
security -v import ./utils/build_tools/custom_builds/distribution_cert_private_key.p12 -k ~/Library/Keychains/ios-build.keychain -P $KEY_PASSWORD -T /usr/bin/codesign
security -v list-keychain -s ~/Library/Keychains/ios-build.keychain
security -v unlock-keychain -p $KEY_PASSWORD ~/Library/Keychains/ios-build.keychain
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp ./utils/build_tools/custom_builds/profile/* ~/Library/MobileDevice/Provisioning\ Profiles/
ls ~/Library/MobileDevice/Provisioning\ Profiles/
Run Code Online (Sandbox Code Playgroud)
我已经存储$KEY_PASSWORD在 circle ci 的环境变量中并且正在被识别。
这是否会导致弹出提示以允许用户使用钥匙串或其他东西?如果是这样,我是否应该到处 sudo?或者我如何摆脱这个? …
出于某种原因,顺风似乎已经删除了 http 链接的“蓝色”和“下划线”部分。
如何恢复此功能?
例如,在我的 React 代码中,我有:
return (
<a href={v.url}>{v.alias}</a>
);
Run Code Online (Sandbox Code Playgroud)
但是此链接显示为普通字体,并且没有下划线。浏览器也没有记住或将不同颜色悬停在链接上的概念。
我是Objective-C的新手,如果在某个地方重复这一点,请道歉.我有一个类别(?),如:
里面SomeClass.h:
@interface SomeClass (SomeCategory) <SomeDelegate>
@property (nonatomic, retain) id somePublicProperty;
@property (nonatomic, retain) id someProperty; // <-- i want to move this to "private"
@end
Run Code Online (Sandbox Code Playgroud)
现在在我SomeClass.m,我所拥有的是:
@implementation SomeClass (SomeCategory)
// dynamic setters/getters here for someProperty.
@end
Run Code Online (Sandbox Code Playgroud)
我认为这someProperty是公开的.我如何让这个"私人"?(换句话说,我如何在语法上把它放在.m文件中?我试图使用
@interface SomeClass (SomeCategory) {
@property (nonatomic, retain) somePrivateProperty;
}
@end
Run Code Online (Sandbox Code Playgroud)
但它只是抱怨我有类别的重复定义.我该怎么做?
我正在尝试将这个特定的库集成到我的Android项目中,该库是用C/C++编写的.我奇迹般地得到ndk-build了我需要的.so文件.
然而,看一下,项目中有一个样本,他们使用/ files .jar的API绑定神秘..cc++
我怎么样
.jar具有API的特殊文件,基于.so?要么
c++文件,然后从Java调用它?我试图用JNI重新包装东西,但它肯定似乎不起作用.我一直在UnsatisfiedLinkError.
很多在线文档使用jni作为教程.我很高兴只有一些指向JNA教程的链接.
我几乎可以肯定我忽略了一些东西。
我有一个带有build.gradle文件的 android gradle 项目。在这里,我指定了任务:
task doSomething(type: Exec) {
println("okay clearly you have got to be getting in here")
commandLine 'sh /Users/dzt/Desktop/create_a_file_on_desktop.sh'
}
Run Code Online (Sandbox Code Playgroud)
那根本不运行。shell 文件的字面意思是:
#!/bin/sh
echo "hi" > /Users/dzt/Desktop/i_am_a_byproduct.txt
Run Code Online (Sandbox Code Playgroud)
我运行chmod u+x它,所以它是可执行的(我在常规 bash shell 上仔细检查)。
我还尝试使用 groovy 命令:
"cd ../ && sh /Users/dzt/Desktop/create_a_file_on_desktop.sh".execute()
Run Code Online (Sandbox Code Playgroud)
这也不起作用。我有点难住了。我没有看到输出文件。但是,我确实在 gradle 控制台中看到了我的打印语句。
这里发生了什么?
** 编辑 **
好吧,我更深入地研究了它 ->
cd ../根本不起作用。为什么是这样?我需要使用相对路径,至少相对于该目录
我想使用protoc命令生成java文件
我一直按照 github https://github.com/protocolbuffers/protobuf的自述文件中的说明进行操作,但它只是告诉您下载 zip 文件并且“二进制文件”已包含在内。但是,在下载最新版本(以及其他几个版本)并解压缩文件后,我找不到“protoc”二进制文件。
还有其他我应该遵循的缺少的说明吗?
PS我使用的是Mac OS X
android ×4
ios ×2
android-ndk ×1
bash ×1
c++ ×1
circleci ×1
code-signing ×1
css ×1
gradle ×1
groovy ×1
jenkins ×1
jna ×1
maniphest ×1
objective-c ×1
package ×1
permissions ×1
phabricator ×1
private ×1
reactjs ×1
shell ×1
tailwind-css ×1
web ×1
xcodebuild ×1