Android SDK cozies up to Kotlin
Close Ad
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("gpt-overlay", "true");
IDG.GPT.displayGoogleTagSlot('gpt-overlay');
});
Close Ad
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("gpt-overlay", "true");
IDG.GPT.displayGoogleTagSlot('gpt-overlay');
});
Close Ad
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("gpt-overlay", "true");
IDG.GPT.displayGoogleTagSlot('gpt-overlay');
});
infoworld
<!--
-->
Sign In | Register
- What’s new in Julia: Version 1.0 is here
- Going multicloud? Avoid these 3 pitfalls
- What’s new in Google’s V8 JavaScript engine Version 6.9
- Data in, intelligence out: Machine learning pipelines demystified
More Insider
Sign Out
$('.signin-register').hide();
$('#welcome-message').hide();
infoworld
<!--
-->
Sign In | Register
- What’s new in Julia: Version 1.0 is here
- Going multicloud? Avoid these 3 pitfalls
- What’s new in Google’s V8 JavaScript engine Version 6.9
- Data in, intelligence out: Machine learning pipelines demystified
More Insider
Sign Out
- What’s new in Julia: Version 1.0 is here
- Going multicloud? Avoid these 3 pitfalls
- What’s new in Google’s V8 JavaScript engine Version 6.9
- Data in, intelligence out: Machine learning pipelines demystified
More Insider
Sign Out
- What’s new in Julia: Version 1.0 is here
- Going multicloud? Avoid these 3 pitfalls
- What’s new in Google’s V8 JavaScript engine Version 6.9
- Data in, intelligence out: Machine learning pipelines demystified
More Insider
Sign Out
- What’s new in Julia: Version 1.0 is here
- Going multicloud? Avoid these 3 pitfalls
- What’s new in Google’s V8 JavaScript engine Version 6.9
- Data in, intelligence out: Machine learning pipelines demystified
More Insider
Sign Out
More Insider
Sign Out
$(document).ready(function(){
$('a[data-link]').click(function() {
//get this link's dataLink value
var dataLink = $(this).attr('data-link');
//select the div with the same value
var toKeep = 'div[data-link="'+dataLink+'"]';
//select data-link divs that are not the above div
$('div[data-link]').not(toKeep).hide();
if($(this).hasClass('link-transition')){
$(toKeep).fadeIn(800);
} else {
$(toKeep).show();
}
//prevent location change
return false;
});
});
$(document).ready(function(){
$('a[data-link]').click(function() {
//get this link's dataLink value
var dataLink = $(this).attr('data-link');
//select the div with the same value
var toKeep = 'div[data-link="'+dataLink+'"]';
//select data-link divs that are not the above div
$('div[data-link]').not(toKeep).hide();
if($(this).hasClass('link-transition')){
$(toKeep).fadeIn(800);
} else {
$(toKeep).show();
}
//prevent location change
return false;
});
});
$(document).ready(function(){
$('a[data-link]').click(function() {
//get this link's dataLink value
var dataLink = $(this).attr('data-link');
//select the div with the same value
var toKeep = 'div[data-link="'+dataLink+'"]';
//select data-link divs that are not the above div
$('div[data-link]').not(toKeep).hide();
if($(this).hasClass('link-transition')){
$(toKeep).fadeIn(800);
} else {
$(toKeep).show();
}
//prevent location change
return false;
});
});
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("ticker", "true");
$('#ticker').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: ticker - [971 1115]");
});
Android SDK cozies up to Kotlin
Nullability annotations accompany the Android 9 Pie debut
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("topleaderboard", "true");
$('#topleaderboard').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: topleaderboard - [971 1115]");
});
consent.ads.queue.push(function(){
if($(window).width() >= 930) {
IDG.GPT.addDisplayedAd("topimu", "true");
$('#topimu').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: topimu - [971 1115]");
}
});
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("inread", "true");
IDG.GPT.displayGoogleTagSlot('inread');
});
var dataLayer = window.dataLayer = window.dataLayer || ;
dataLayer.push({
'event': 'loadTopCollectionModule'
});
$(document).ready(function() {
$('.articleBloxAd').filter( ":visible" ).each(function(index, item) {
var id = $(item).attr('id');
var divClass = $(item).attr('class');
var adString = IDG.GPT.getLazyAdCode();
$(item).replaceWith("
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("ticker", "true");
$('#ticker').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: ticker - [971 1115]");
});
Thank you
Your message has been sent.
Sorry
There was an error emailing this page.
To
Use commas to separate multiple email addresses
From
Privacy Policy
Thank you
Your message has been sent.
Sorry
There was an error emailing this page.
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("topleaderboard", "true");
$('#topleaderboard').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: topleaderboard - [971 1115]");
});
What’s new in Google’s Dart 2 language
What’s new in Microsoft’s Visual Studio 2017
How to develop cross-platform apps more easily with Xamarin.Essentials
Video
R tip: Create maps in R
consent.ads.queue.push(function(){
if($(window).width() >= 930) {
IDG.GPT.addDisplayedAd("topimu", "true");
$('#topimu').responsiveAd({screenSize:'971 1115', scriptTags: });
IDG.GPT.log("Creating ad: topimu - [971 1115]");
}
});
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("inread", "true");
IDG.GPT.displayGoogleTagSlot('inread');
});
With the August 6 production debut of the Android 9 Pie mobile OS, Google has released an Android SDK with special capabilities for development with the Kotlin language.
The SDK has nullability annotations for frequently used APIs, preserving null-safety guarantees when Kotlin code is calling into annotated APIs in the SDK. To ensure that newly annotated APIs are compatible with existing code, an internal mechanism provided by the Kotlin compiler team marks APIs as recently annotated. These APIs result in warnings instead of errors from the Kotlin compiler. Developers need to use Kotlin 1.2.60 or later.
The intention is for newly added nullability annotations to only produce warnings, with the severity level increased to errors starting in a subsequent SDK. Google wants to give developers time to update their code by this stepped error messaging.
Google has endorsed Kotlin for use in building Android applications. But nullability annotations also can benefit developers using Java, the traditional language of Android development, if they use the Android Studio IDE to find nullability contract violations. Plans call for adding more nullability annotations to existing Android APIs in future versions of the SDK as well as ensuring new APIs are annotated.
Where to download the Kotlin-friendly Android SDK
You can download the Android SDK by choosing Tools > SDK Manager in Android Studio and selecting Android SDK on the left menu. The SDK Platforms tab must be open. Check Android 8.+ and click OK to install Android SDK Platform 28 revision 6. Then, set a project’s compile SDK version to API 28. You can download Android Studio from the project website.
Stay up to date with InfoWorld’s newsletters for software developers, analysts, database programmers, and data scientists.
Get expert insights from our member-only Insider articles.
<!--
document.write('');
consent.ads.queue.push(function(){
IDG.GPT.addDisplayedAd("ciu", "true");
IDG.GPT.addLazyloadedAd("ciu", "true");
});
document.write('');
consent.ads.queue.push(function(){
$('#ciu').responsiveAd({screenSize:'971 1115', scriptTags: });
if (Object.keys(IDG.GPT.companions).length > 0 || IDG.GPT.disableInitialLoad) {
IDG.GPT.refreshAd('ciu');
}
});
//-->
Copyright © 2018 IDG Communications, Inc.
- CIO
- CIO Asia
- Computerworld
- CSO
- GameStar
- Greenbot
- IDC
- IDG
- IDG Connect
- IDG.TV
- InfoWorld
- IT News
- ITwhitepapers
- ITworld
- JavaWorld
- Macworld
- Network World
- PCWorld
- TechConnect
- TechHive
- The Full Nerd
- CIO
- CIO Asia
- Computerworld
- CSO
- GameStar
- Greenbot
- IDC
- IDG
- IDG Connect
- IDG.TV
- InfoWorld
- IT News
- ITwhitepapers
- ITworld
- JavaWorld
- Macworld
- Network World
- PCWorld
- TechConnect
- TechHive
- The Full Nerd
- CIO
- CIO Asia
- Computerworld
- CSO
- GameStar
- Greenbot
- IDC
- IDG
- IDG Connect
- IDG.TV
- InfoWorld
- IT News
- ITwhitepapers
- ITworld
- JavaWorld
- Macworld
- Network World
- PCWorld
- TechConnect
- TechHive
- The Full Nerd
Clash Royale CLAN TAG#URR8PPP