目前,我工作的公司在多个 Android 应用程序中使用 AWS 库,AWS 库如下:
com.amazonaws:aws-android-sdk-s3
com.amazonaws:aws-android-sdk-mobile-client
com.amazonaws:aws-android-sdk-auth-userpools
com.amazonaws:aws-android-sdk-auth-core
Run Code Online (Sandbox Code Playgroud)
当我尝试查找这些库的文档时,我只能找到 Xamarin 文档。Android 和 iOS 文档缺失,并且我看到不祥的警告“2021 年 10 月 30 日,AWS Amplify 将取代 AWS Mobile Hub”
目前尚不清楚“AWS Mobile Hub”是否仅包含在线 Mobile Hub 界面,或者是否包含我一直在使用的这些库。
我是否可以无限期地使用 AWS 开发工具包库,或者它们会在 2021 年 10 月 30 日停止运行吗?我找不到任何可以直接回答这个问题的东西。
android amazon-web-services aws-amplify aws-sdk-ios aws-amplify-sdk-android
我已经学会了如何通过添加OnTouchListener来对图像进行着色,其中我在图像上调用了setColorFilter.
我已经学会了如何使用九个补丁图像作为按钮和ImageButton的背景.
问题是,如果九路径图像是ImageButton的src,则它们不会拉伸,并且色调对背景图像没有影响.
如何按下九个补丁的ImageButton?有什么建议?
为文本视图启用“检查器栏”很容易,以便带有各种格式按钮的栏出现在屏幕顶部。(尽管直到我学会确定要在滚动视图中选择文本视图而不是滚动视图本身之前,我还是有些困惑。)我可以以编程方式使用[textView setUsesInspectorBar:YES]或转到“属性”检查器,然后在“使用”部分中选中“检查器栏”框。
我的问题是,如何进一步控制检查栏?我在XCode文档或在线中找不到有关它的信息时遇到麻烦。我希望能够将其放置在屏幕上的其他位置。能够选择栏中的特定控件也很不错。
在我的代码中,我想检查并查看记录是否已经存在,因此我知道是创建它还是更新它.但是我遇到了一个问题.问题是当我使用它时:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"%@ == %@", ATTRIBUTE_ID, idNumber];
[request setPredicate:pred];
Run Code Online (Sandbox Code Playgroud)
这不起作用.它总是声称没有找到结果.但是,当我像这样重写它时,它工作得很好:
NSExpression *lhs = [NSExpression expressionForKeyPath:ATTRIBUTE_ID];
NSExpression *rhs = [NSExpression expressionForConstantValue:idNumber];
NSPredicate *pred = [NSComparisonPredicate
predicateWithLeftExpression:lhs
rightExpression:rhs
modifier:NSDirectPredicateModifier
type:NSEqualToPredicateOperatorType
options:0];
[request setPredicate:pred];
Run Code Online (Sandbox Code Playgroud)
我在格式字符串中缺少什么或做错了什么?
我希望用户能够在应用程序中录制音频,然后能够选择文件的一部分并重新录制它。例如,也许他们最初录制“How now, brown cow”,然后选择结尾并重新录制“皱眉母猪”。这将合并到初始文件中,然后将是“How now, frown sow”。
这似乎比我预期的要困难得多。我可以使用 3GP 格式文件执行此操作吗?如果没有,我如何将它们转换为我需要的格式?
我希望能够说“获取这个刚刚录制的音频文件。它将填充这个其他媒体文件的 5 秒到 10 秒部分,现在保存新的、编辑过的文件。” 我收集毫秒、帧、样本和字节之间的转换可能会使这变得更加复杂。
我正在检查 Ringdroid 应用程序(我非常感谢它是开源的!)它至少做了类似的事情,但是非常复杂,几乎没有评论......希望它比我需要的要复杂得多。
我确实看到了另一个线程,但即使这是我需要的,我也不相信这些类是 Android 的一部分:保存音频文件的一部分(Java)
我试图暂时锁定Android设备的方向,大多数情况下它会随着传感器的变化而变化.所以我想要做的是弄清楚当前的方向(横向,反向横向,纵向,反向肖像)是什么,将方向更改为该方向,然后将其更改回原来的方向.
我知道我可以使用诸如int orientation = this.getResources().getConfiguration().orientation等代码.this.setRequestedOrientation(取向); 这个问题通常是所讨论的方向被设置为"未定义"或者可能是"用户"或"传感器",这对我没有帮助.如何找出屏幕四个可能的哪一侧"向下"?
我知道getRotation(),如下所述:如何检测android设备的方向?
问题是我可以从设备的"自然"方向找出实际旋转(0度,90度,180度,270度)......但如果我不知道原始方向是什么,这对我没有帮助是.
如何找出设备的转向方式,以便暂时将设备固定到该方向?
不,这不是一个重复的问题.我怀疑在不同的设备上可能会有不同的行为,但不能确定.我做了更多的实验和研究.我原因认为getConfiguration().orientation返回"未指定".我误解了.它确实返回横向或纵向.
但这是问题所在.直到Gingerbread(2.3,API 9)才添加了REVERSE风景和逆向肖像.
因此,如果设备处于反向横向模式,例如,getConfiguration.orientation会告诉我它处于横向模式.然后,当我将所请求的方向设置为landscape-bam时,屏幕会颠倒翻转.
我没有意识到这在Froyo中更难,所以我将重新解释我之前拼写的问题:
在Froyo中,如何检测设备是横向,反向横向,纵向还是反向纵向?
建议列出所有工作 - 姜饼或更高.
我对文档感到有点困惑.经过一些研究和实验,这就是我所拥有的.
if ([self canUseMKMapItem]) {
[self iosTheMap];
} else {
[self googleTheMap];
}
Run Code Online (Sandbox Code Playgroud)
使用它来检测我们是否可以使用IOS6映射功能:
- (BOOL) canUseMKMapItem {
Class itemClass = [MKMapItem class];
return (itemClass && [itemClass respondsToSelector:@selector(openMapsWithItems:launchOptions:)]);
}
Run Code Online (Sandbox Code Playgroud)
这适用于IOS5,使用谷歌地图.它会自动将我们带到一个屏幕,其中包含从当前地址(如果用户允许)到目的地的路线列表.
- (void)googleTheMap
{
NSNumber *userLat = [[NSNumber alloc]initWithDouble:mapView.userLocation.coordinate.latitude];
NSNumber *userLong = [[NSNumber alloc]initWithDouble:mapView.userLocation.coordinate.longitude];
NSMutableString *queryString = [NSMutableString stringWithFormat:@"http://maps.google.com/?saddr=%@,%@&daddr=",userLat,userLong];
NSString *address = [partnerObject valueForKey:ATTRIBUTE_ADDRESS];
[queryString appendString:address];
NSString *escaped = [queryString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:escaped]];
}
Run Code Online (Sandbox Code Playgroud)
这是棘手的部分 - 这就是我想要使用Apple Maps的方法
- (void)iosTheMap {
NSNumber * latitude = [partnerObject valueForKey:ATTRIBUTE_LATITUDE];
NSNumber * …Run Code Online (Sandbox Code Playgroud) 以下是我尝试在 Gradle 中为 Android 应用程序执行的操作的极其简化的版本:
android {
buildTypes {
debug {
buildConfigFieldMyWay("keyName", "keyValue")
buildConfigField("String", "keyName", "keyValue") }
}
}
}
def buildConfigFieldMyWay(String keyName, String keyValue) {
buildConfigField("String", keyName, keyValue)
}
Run Code Online (Sandbox Code Playgroud)
真实的版本更复杂,这就是为什么将我正在做的事情组织到单独的函数中会很好。
问题是,当我执行 Gradle 同步时,出现以下错误:
No signature of method: build_byqgds5lao5ipgp4gk5ftyud4.android() is applicable for argument types: (build_byqgds5lao5ipgp4gk5ftyud4$_run_closure2) values: [build_byqgds5lao5ipgp4gk5ftyud4$_run_closure2@536e468e]
我认为这与 Android 中使用的 DSL Gradle 有关;当buildConfigField()在 内部调用时android { buildTypes { debug,它正在buildConfigField()一个BuildType对象上运行。如果我从一个单独的函数调用它,则它无法BuildType进行操作。
因此,我要么需要修改 DSL,以便buildConfigFieldMyWay()可以调用我的函数 ()android { buildTypes { debug并对BuildType …
我有两个 NSButton,它们的开启状态和关闭状态都有图像。一次只能激活一个;单击一个,然后单击另一个以来回更改属性。
问题是,如果我在单击按钮时禁用它,因此无法再次单击它,那么在禁用按钮时图像会变暗——我不想让它变暗,我只想使用备用图像。另一方面,如果我只是让按钮处于启用状态,但以编程方式在单击它时不运行任何代码,那么当鼠标单击时会出现闪烁的效果——当按钮不应该执行任何操作时,这会分散注意力。
所以我要么需要防止按钮在禁用时变暗,要么在按住鼠标按钮时防止它改变按钮外观。
读完之后,听起来我需要子类化 NSButtonCell 并覆盖 - (BOOL)imageDimsWhenDisabled 来做前者。但我无法弄清楚如何对它进行子类化(我应该继承什么样的 NSButtonCell 类)以及 NSButton 的“setCell”方法是否足以使用新的 NSButtonCell 类,或者我是否还需要对 NSButton 进行子类化.
对此的一些提示将不胜感激,或者可能有一种完全不同的方法可以实现我的目标。
尽管起初并不明显,但是在Android Instagram应用中,您可以(在编辑照片之后)返回照片胶卷以查看旧图像。然后出现一个侧面带有拖动手柄的框架。您可以移动框架并通过拖动手柄来调整其大小,从而可以将其裁剪到图像的任何部分。
如何在Android上执行此操作?这是标准功能吗,是否有类似的开源库?
我以为我已经在我的应用程序中正确设置了 autofillHints,但最近我注意到一些奇怪的事情。登录屏幕有两个字段:电子邮件地址和密码。如果我点击密码字段,将出现自动填充提示(我使用的是 LastPass)。如果我选择一个帐户,它会填写密码,但不会填写电子邮件地址。密码字段更改了颜色以表明它使用了自动填充,但电子邮件地址字段未受影响。
过去我可以发誓它工作正常,但也许我错了。我试过设置android:importantForAutofill="yes",但这没有什么区别。我尝试emailEditText.setAutofillHints(View.AUTOFILL_HINT_EMAIL_ADDRESS)在代码中而不是android:autofillHints="emailAddress"在 XML 中进行设置,但这并没有改变它。
我应该能够点击电子邮件或密码字段并显示自动填充提示。两个字段都应更改颜色。两个字段都应填写。
有趣的是,如果我android:autofillHints将电子邮件字段的属性更改为password,它确实会填写。当然,密码不是电子邮件。但至少自动填充服务正在做一些事情。
我决定尝试新的视图绑定功能https://developer.android.com/topic/libraries/view-binding,但每当我尝试使用它打开 Activity 时,应用程序都会崩溃。这是错误:
Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
Run Code Online (Sandbox Code Playgroud)
我已经需要对各种 build.gradle 依赖项进行一些故障排除和欺骗,以使应用程序能够使用视图绑定进行编译和运行,因此我尝试了各种故障排除步骤,但无济于事。
我是Kotlin的新手,但我非常喜欢它.当你可以将三行代码合二为一时,会有一种美妙的感觉.现在我经常发现自己正在查看我的代码并思考"这里有一些冗余.应该有一种更简洁的方法来实现它." 当我做一些搜索时,Kotlin经常提供更简洁的方式.
这是一个问题,我感觉应该有一个简单,简洁的Kotlin解决方案,但我不知道它.希望你能开导我!
像这个人为的例子一样代码:
fun doSomething(): Boolean {
if (randomInt % 2 == 0) {
foo = Foo()
true
} else {
bar = null
false
}
}
Run Code Online (Sandbox Code Playgroud)
根据if条件,我想运行一些代码,然后返回条件的值.令我烦恼的是,我必须明确说"如果条件成立,则返回true.如果是假,则返回false." 这似乎是多余的.当然,我可以说return randomInt % 2,但我想根据它是否真实运行代码.
是否有一个我不知道的魔术师Kotlin?我是否应该为我处理这种情况,尽管调用的语法与if语句不同?是否有某种映射功能,或某种方式重载如果?似乎应该有一个简洁,聪明的答案,但它不会来找我.
android ×9
objective-c ×4
cocoa ×3
xcode ×2
aws-amplify ×1
aws-sdk-ios ×1
cocoa-touch ×1
foundation ×1
gradle ×1
ios6 ×1
ios6-maps ×1
java ×1
kotlin ×1