In Compose Multiplatform, DropDownMenu is not available in commonMain? - android-jetpack-compose

Do I have to call it from specific platforms (in my case Android and desktop)?

No, it's not available. It's because it has different API on these platforms.
On Android it has popupProperties parameter, which contains a lot of Android specific parameters, .e.g dismissOnBackPress is meaningless on Desktop.
On Desktop this parameter is replaced with only one of popupProperties properties - focusable.
You can create your own version using expect/actual and reuse platform specific version with the needed parameters

Related

ODATA Connected Service Advanced Settings "GenerateMultipleFiles" option is missing

The generate multiple files option is not available in the 0.13.0 Settings UI but there is an entry in the ConnectedService.json settings file.
I tried editing the settings file manually and forcing an update but it did not work.
Has this feature been deprecated or is it just broken? I also noticed the custom namespace option did not seem to work either.
This is what shows up in the online documents:
https://learn.microsoft.com/en-us/odata/connectedservice/generating-multiple-files
Another doc shows a different UI...
What my VS 2017/2019 extension shows:
The latest version seems to be version 0.13, the feature seems to be introduced in the OData Connected Service 0.9.1 Release.
The "Generate Multiple Files" option is only available when you're targeting an OData v4 service. This also applies to a few other settings as well. Confirm whether you're targeting an OData v1, v2 or v3 service, if that's the case, that would explain why you're seeing different available options. The docs should be updated to reflect this.

"DART_SDK" environment variable is officially removed?

I remember DART_SDK was necessary. but now I am not able to find any document about DART_SDK.
When do we need to set DART_SDK ? I think there's no need in normal cases.
Some scripts needed a way to find the SDK and for this usually this environment variable was used. But as far as I have seen most code went away from this way of finding the SDK directory (see for example http://dartbug.com/17349, http://dartbug.com/16994, http://dartbug.com/15019 (fixed), http://dartbug.com/10444)
It depends on the tools you're using.
For example, I made DartVS use this variable to locate the SDK for the Analzyer (I saw it was already being used, so decided to piggy-back on it!).
In the next version, we will automatically download and unzip the SDK if this variable isn't set (so it won't be needed); however support for it still remains so you're able to change/override the SDK being used (eg. if you want to use dev channel versions, or go back to an old version).
(If you keep your SDK in the same place, then there shouldn't be any maintenance in keeping this set/valid. The Chocolatey package keeps the path the same across upgrades to aid this :))
Yes. You are right. This variable becomes unofficial (undocumented).
Of course, this is possible determine from the Dart script the path to Dart SDK.
But for the new programmers, that want to locate the path to Dart SDK from the non-Dart scripts (eg. from the .bat files), this can be problematic because currently not exists official way to specify the path to installed Dart SDK.

AndroidAnnotations minimum API supported

I would like to know the minimum Android API level AndroidAnnoatations supports ? I could not find any info on their website .
regards,
Felix T
I think there is NO specific minimum Android API Level that AndroidAnnotations can work with.
Since it's a compilation tool, I mean it's related with the Java files and it's related not with Android API.
If you build an Android project with AndroidAnnotations, then some intermediate java files will be generated, which will be the final java file for Java compiler, and that's all. It's just used for convinience of your development. The generated apk file will not have information about AndroidAnnotations - it's something like a conversion tool (shorter exprssion to long complicated expression, which is not visible to you).
I think that you can use AndroidAnnotation from Android API Level 1.
Maybe some of the annotations cannot be used in Android API 1 project, but even if such case happens, just removing only that specific annotation in your .java file will make it work.

Deprecated vs Unsupported SDK

What is the difference between an SDK that is "deprecated" and one that is "unsupported"?
I am asking in the context of developing javascript applications for Rally - I was fixing up an old application when I noticed the SDK will become unsupported in under 2 months. Does this mean the app will no longer work at all when the SDK becomes unsupported? Thanks
As I know, unsupported means that a function has thrown away and now it is not available. Deprecated, it means that a function is available but at the future will become unsupported. For unsupported/deprecated "things" almost always exists a new version of this with a different name( and maybe different parameters). You must not use deprecated functions or other staff.
Therefore, check for available updates and upgrades for your SDK, to make sure that your app will keep running and check for other implementations of the things that you are using.

Blackberry OS version

If I develop Blackberry application for OS version 6.0, will the application be compatible with OS version 4.5? If not, is there some way to port the application easily?
If you develop against a specific SDK (eg 6.0) your application will only be deployable to devices that use the matching OS version (6.0 in this case).
In order to develop applications that specifically target different OS versions, you must build separate deployable binaries for each version. Alternatively, you can build for the lowest common denominator -- if you want to support OS 4.5, build for 4.5 and your app will run (though not always gracefully) on all later BB OS versions.
Two open source projects that you can use for examples are BBSSH and LogicMail.
Neither of these uses preprocessor directives, however both take slightly different approaches to managing multiple target OS's; which solution is more appropriate is best determined by your own needs. Both use ant-based builds; and I think both target from OS 4.5 to 6.0. (Older versions of LogicMail target back to 4.1 I believe)
Build scripts can be found here:
BBSSH SVN (build.xml,build-impl.xml, build.properties)
LogicMail SVN (build.xml, build.properties)
Both projects can also be looked to for specific methods of handling things like utilizing features introduced in later OS versions seamlessly to your users -- either providing a custom implementation prior for earlier versions, or disabling the functionality as is appropriate.
Finally a quick note: if you continue to not accept valid answers, you'll soon find that people are less willing to answer you.
Try to use "Preprocessor Directives" to support multiple blackberry devices.
I m not 100% sure but probably not, because version 6.0 uses newer libraries.But try develope in lower version os and it will run at higher version.
hope it helps
Wblade
For an example of a quality open source project that supports many different BB OS versions, check out LogicMail.
The ant build.xml loads platform-specific classes based on the target:
<if><isset property="jde460.home"/><then>
<fileset id="bb460_fileset" dir="..">
<include .../>
...
As far as I can tell, this project does not rely on the preprocessor.

Resources