我是macos的新手,我只需要一个带xcode的mac来编译我的应用程序.然而,对于macos sierra,我的usb有问题,不再工作了(我无法插入我的ipad pro)
在OSX el capitan下,我的usb工作得很好,但现在的问题是应用程序商店让我下载只能在sierra上运行的Xcode 8.3(奇怪的是它们提供你下载的东西与你的系统不兼容但是没有,这是苹果).所以我唯一的方法是手动下载xcode 8.2.1
现在我的问题,如何安装我刚刚下载的Xcode_8.2.1.xip?在不久的将来,如果我需要更新xcode(我想下载自己的新版本),我将如何做?还保存首选项和配置设置的位置?每次更新都会丢失这些偏好吗?
当我尝试在 Windows 上运行此命令时:
模拟器.exe -avd android13
其中 android13 是 arm64 avd 我收到错误:
INFO | Android emulator version 31.3.13.0 (build_id 9189900) (CL:N/A)
emulator: INFO: Found systemPath c:\Users\zeus\AppData\Local\Android\Sdk\system-images\android-33\google_apis\arm64-v8a\
PANIC: Avd's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host.
Run Code Online (Sandbox Code Playgroud)
我使用的是 Windows 10。如何运行具有 arm64 cpu 架构的 AVD?
android android-virtual-device android-emulator android-studio avd-manager
我在delphi下,我使用android框架创建一个编辑.当我将主题设置为Theme.DeviceDefault.Light.NoActionBar然后我可以在我的EditText中选择一些文本,我有一个弹出窗口"select all/cut/copy/paste/etc",如下图所示.
但是,当我选择Theme.Material.Light.NoActionBar或Theme.Holo.Light.NoActionBar然后我无法选择我的EditText中的任何文本(我没有右或左文本选择句柄),当然我没有任何复制/粘贴弹出窗口
他们是否可以在Theme_Material_Light_NoActionBar上进行此复制/粘贴弹出?
Theme.DeviceDefault.Light.NoActionBar
Theme_Material_Light_NoActionBar
注1:
当我将屏幕移动到水平然后编辑文本占用所有可用空间,然后我可以看到我的左右文本选择句柄,如下图所示,但我认为这是因为主题交换到Theme.DeviceDefault.Light.NoActionBar当我将屏幕移动到水平但我不确定:
注2:
在我的editText上,当我执行setCustomSelectionActionModeCallback(new Callback(){})时,从不调用Callback :(这是不正常的我认为?editText中的哪些内容可以禁止回调?
注2:
我可以在所有主题中选择文本(但我不能将其复制出去),但除了在Theme.DeviceDefault.Light.NoActionBar中,我看不到左右文本选择句柄.
注3:
Theme.DeviceDefault.Light.NoActionBar仅在某些手机上显示左右文本选择句柄,如三星星系.在其他方面它没有用.
注4:
我发现了部分问题的根源!这是因为我通过WindowManager.addView(view,layout_params)创建我的视图,这样startactionmodeforChild返回null,这禁止动作栏和文本选择句柄显示.现在如果我在我的edittext中做了类似的事情:
@Override
public ActionMode startActionMode(ActionMode.Callback callback) {
Activity host = (Activity) this.getContext();
return host.getWindow().getDecorView().startActionMode(callback);
}
Run Code Online (Sandbox Code Playgroud)
然后我可以看到左右文本动作句柄(但不是棉花糖,它只在棒棒糖上工作,我不知道为什么).我现在的问题是显示了操作栏,但它显示为空:(内部没有任何内容(但我可以看到剪切/复制/过去控件位于转储视图中的内部).所以现在我不寻找方法通过弹出菜单替换此操作栏(如图片Theme.DeviceDefault.Light.NoActionBar).任何想法?
android textview android-theme android-edittext android-styles
注意
如果有人知道如何订购(z-order)Windows通过windowmanager添加,我也会接受答案,因为它将回答所有问题.实际上我只是windowManager.removeView(MyView)立即通过windowManager.addView(MyView)将视图放在另一个视图之前进行跟踪,但这并不理想,因为它可视地删除并添加视图.它看起来很疯狂,他们在android中没有构建功能来做这么简单的思考.
我创建了一个包含EditText的视图(linearlayout).我通过WindowManager.addView(view,Layout_Params)在活动中添加此视图;
但我有问题,edittext将生成的每个弹出窗口(如复制/过去菜单或单词建议菜单)将在其他视图下,甚至在他们自己的EditText视图下(不在图片上,edittext具有透明背景)
我用这些布局参数创建视图(即:LinearLayout):
protected WindowManager.LayoutParams createLayoutParams() {
WindowManager.LayoutParams p = new WindowManager.LayoutParams();
p.gravity = Gravity.LEFT | Gravity.TOP;
p.width = 0;
p.height = 0;
p.format = PixelFormat.TRANSLUCENT;
p.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED;
p.flags = NOT_FOCUSABLE_FLAGS;
// TYPE_APPLICATION allows for popups in browser windows (like edit menus)
p.type = WindowManager.LayoutParams.TYPE_APPLICATION;
p.token = null;
return p;
}
Run Code Online (Sandbox Code Playgroud)
我显示视图(谁只包含一个edittext)像这样:
private final WindowManager mWindowManager;
mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams lp = createLayoutParams();
mWindowManager.addView(view, lp);
Run Code Online (Sandbox Code Playgroud)
那么如何让弹出窗口连接到editText前面的一切?
这个问题也可能有点帮助(关于窗口视图的z顺序): …
android android-layout android-edittext android-view android-windowmanager
我有这个代码(在iOS下使用Delphi Tokyo运行):
procedure TMainForm.Button1Click(Sender: TObject);
var aData: NSData;
begin
try
try
aData := nil;
finally
// this line triggers an exception
aData.release;
end;
except
on E: Exception do begin
exit;
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
通常,异常应该在except end块中捕获,但在这种情况下,它不会被处理程序捕获并且会传播到Application.OnException处理程序.
地址0000000100EE9A8C的访问冲突,访问地址0000000000000000
我错过了什么?
为什么Delphi使用double(8字节)来存储日期和时间而不是Int64(8字节)?由于双精度浮点不是精确值,我很好奇unix日期的精度和存储在Int64值中的时间将优于Delphi日期和时间的精度?
Delphi是否"实例化"每个匿名方法(如对象)?如果是这样,Delphi何时创建此实例,最重要的是,Delphi何时释放它?
因为匿名方法还捕获外部变量并延长其生命周期,所以知道这些变量何时将从内存中"释放"非常重要.
在另一个匿名方法中声明匿名方法有什么可能的缺点.是否可以循环引用?
我找不到AtomicCmpExchange(似乎隐藏)的实现,所以我不知道它的作用.
是AtomicCmpExchange在所有平台上可靠吗?它是如何在内部实施的?它是否使用类似临界区的东西?
我有这种情况:
MainThread:
Target := 1;
Run Code Online (Sandbox Code Playgroud)
线程1:
x := AtomicCmpExchange(Target, 0, 0);
Run Code Online (Sandbox Code Playgroud)
线程2:
Target := 2;
Run Code Online (Sandbox Code Playgroud)
Thread3:
Target := 3;
Run Code Online (Sandbox Code Playgroud)
将x永远是一个整数1,2或3,或可能是别的东西吗?我的意思是,即使AtomicCmpExchange(Target, 0, 0)未能交换该值,它是否返回一个"有效"整数(我的意思是,不是半读取整数,例如,如果另一个线程已经开始写入该值的一半)?
我想避免使用临界区,我需要最大速度.
在Delphi中有一种方法可以将过程声明为另一个过程的别名吗?就像是:
function AnAliasToUpperCase(const S: AnsiString): AnsiString = system.AnsiStrings.UpperCase;
Run Code Online (Sandbox Code Playgroud)
然后在程序中调用AnAliasToUpperCase或UpperCase必须完全相同.
我有一项服务需要通知主要活动。我用过LocalBroadcastManager,效果很好,但是LocalBroadcastManager已被弃用。
这是我在服务中的实际代码:
public void onTokenRefresh() {
/* build the intent */
Intent intent = new Intent(ACTION_TOKENREFRESHED);
intent.putExtra("token", "xxx");
/* send the data to registered receivers */
try{
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
} catch (Throwable e){
//no exception handling
}
}
Run Code Online (Sandbox Code Playgroud)
在主要活动中,我收到如下通知:
context.registerReceiver(broadcastReceiver, intentFilter);
Run Code Online (Sandbox Code Playgroud)
我现在可以使用什么来删除已弃用的警告?我发现的有关从服务向活动发送数据的所有示例都使用 LocalBroadcastManager。有人可以给我一个可行的模型来迁移现有代码吗?
笔记
在我的示例中, TheonTokenRefresh是从 a 内部调用的background thread。这非常重要,因为这意味着我可以同时接收多个 onTokenRefresh,并且我必须将所有这些令牌转发到该活动。大多数提供的解决方案都使用实时数据,但做出如下声明:
public static final MutableLiveData<String> tokenLiveData = new MutableLiveData<>();
Background Thread1:
tokenLiveData.postValue(Token1);
Background Thread2 (at same time):
tokenLiveData.postValue(Token2);
Run Code Online (Sandbox Code Playgroud)
是否会将同时收到的所有代币转发到观察代币LiveData 的主要活动?主 Activity 一定会收到 token1 和 …
java android broadcastreceiver android-service localbroadcastmanager
delphi ×5
android ×4
alias ×1
android-view ×1
avd-manager ×1
firemonkey ×1
function ×1
java ×1
textview ×1
xcode ×1
xcode8 ×1