SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

連載記事

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
Android Studioの新バージョン3をCheck It Out!

Android Studioの新バージョン3をCheck It Out!

  • X ポスト
  • このエントリーをはてなブックマークに追加

 2017年10月25日(現地時間)、Android Studioの新バージョン3.0がリリースされました。注目すべき機能がいろいろ追加されています。本記事では、そのうちいくつかを紹介していきます。

  • X ポスト
  • このエントリーをはてなブックマークに追加

対象読者

  • Androidアプリ開発者

3.0リリース

 Android Studioの2.0がリリースされたのが、2016年4月7日(現地時間)です。今回1年半ぶりのメジャーアップデートである3.0が、2017年10月25日(現地時間)にリリースされました。このCodeZineでも、速報としてこちらの記事が公開されています。この記事に記載されている通り、注目すべき機能がいくつかあります。ここでは、そのうち以下の内容をもう少し詳しく紹介していきます。

  • Kotlinサポート
  • 新しいJavaの書き方をサポート
  • Layout Inspector
  • XMLフォントとダウンローダブルフォント
  • Android Profiler
  • Instant Appsサポート
  • Android Emulator Quick Boot

Kotlinサポート

 今回のアップデートで最も注目されているのがこのKotlin言語の正式サポートです。

 KotlinはJVM言語のひとつで、Android StudioのベースとなっているIntelliJ IDEAを開発しているJetBrains社が開発した言語です。Javaとの互換性を維持しつつもJavaよりも簡潔に記述できることを目指して開発されています。このKotlinでAndroidアプリを作成しようとした場合、今まではプラグインをインストールして使っていました。今回のアップデートで、このKotlinが正式サポートされたということは、Java以外で対等の立場として、Androidアプリ開発のための言語がもうひとつ追加されたことに他なりません。

 さて、早速そのKotlinでプロジェクトを作成する方法を見ていきましょう。といっても非常に簡単です。Android Studio 3で新規プロジェクト作成ウィザードを起動すると、第1画面は図1の通りになっています。

図1 新規プロジェクト作成ウィザード第1画面
図1 新規プロジェクト作成ウィザード第1画面

 画面下部に[Include Kotlin support]のチェックボックスがあります。これにチェックを入れるだけです。あとは今まで同様、プロジェクト情報を入力してプロジェクト作成を完了してください。すると、作成されたプロジェクトのエディタ領域は図2のようになります。

図2 作成されたプロジェクトのエディタ領域
図2 作成されたプロジェクトのエディタ領域

 今までは「MainActivity.java」となっていたファイル名が「MainActivity.kt」とKotlin言語ファイルになっており、あらかじめ記述されているソースコードもKotlin言語になっています。

 ここにKotlin言語でソースコードを記述することでAndroidアプリ開発が行えます。例えば、リスト1ではIDとしてtvHelloが設定されたTextViewに「こんにちは!」と表示するコードとして太字の2行を追記しています。

リスト1 MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        var tvHello = findViewById<TextView>(R.id.tvHello)
        tvHello.setText("こんにちは!")
    }
}

 リスト1の2行目を見てください。Javaと同じようにonCreate()メソッドが記述されています。Kotlinは変数の後ろにコロン(:)で区切ってデータ型を記述するので、引数のデータ型はBundleです。では、「?」は何を意味するのでしょうか。これは、nullになる可能性があることを示します。逆に「?」が記述されていなければその変数(引数)はnullにならない変数(引数)を表します。このように、Kotlinはnullの可能性があるものとないものを厳格に区別することで、Javaと比べてnullに対して安全な言語仕様となっています。

 また、同じく5行目を見てください。変数を宣言する際、Javaならば、

TextView tvHello = …

と、変数の型を指定する必要がありました。5行目にはそれがありません。それは、Kotlinでは型推論を行ってくれるからです。この仕組みにより、Kotlinではシンプルな記述が可能となっています。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
新しいJavaの書き方

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

WINGSプロジェクト 齊藤 新三(サイトウ シンゾウ)

<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook <個人紹介>WINGSプロジェクト所属のテクニカルライター。Web系製作会社のシステム部門、SI会社を経てフリーランスとして独立。屋号はSarva(サルヴァ)。HAL大阪の非常勤講師を兼務。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10554 2017/12/11 14:00
" ); }

おすすめ

アクセスランキング

  1. 1
    日本マイクロソフト、AI学習プラットフォーム「AI SKILLS NAVIGATOR日本語版」を無償提供
  2. 2
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  3. 3
    OpenAI、AIによる自動でのGUI操作を可能にするエージェント「Operator」を発表 NEW
  4. 4
    Flutterでアプリをビルドしよう。AndroidとiOSそれぞれの流れを解説
  5. 5
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  1. 6
    Google、Samsungと共同開発したオーディオ技術「Eclipsa Audio」の詳細発表
  2. 7
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  3. 8
    より使いやすくなったPHP 8.4の新機能──処理系とDOM処理・関数の強化ポイント
  4. 9
    Mendix、ローコードプラットフォーム「Mendix 10.18」を発表 NEW
  5. 10
    Next.js 15の新機能――ルーティングとキャッシュの制御の変更を中心に解説

アクセスランキング

  1. 1
    日本マイクロソフト、AI学習プラットフォーム「AI SKILLS NAVIGATOR日本語版」を無償提供
  2. 2
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  3. 3
    OpenAI、AIによる自動でのGUI操作を可能にするエージェント「Operator」を発表 NEW
  4. 4
    Flutterでアプリをビルドしよう。AndroidとiOSそれぞれの流れを解説
  5. 5
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  6. 6
    Google、Samsungと共同開発したオーディオ技術「Eclipsa Audio」の詳細発表
  7. 7
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  8. 8
    より使いやすくなったPHP 8.4の新機能──処理系とDOM処理・関数の強化ポイント
  9. 9
    Mendix、ローコードプラットフォーム「Mendix 10.18」を発表 NEW
  10. 10
    Next.js 15の新機能――ルーティングとキャッシュの制御の変更を中心に解説
  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  2. 2
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  3. 3
    日本マイクロソフト、AI学習プラットフォーム「AI SKILLS NAVIGATOR日本語版」を無償提供
  4. 4
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』
  5. 5
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  6. 6
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  7. 7
    実はITエンジニアの設計力が求められるkintone、その仕組みとポイントを事例に学ぶ
  8. 8
    Google、社内AIエージェント「Google Agentspace」発表
  9. 9
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  10. 10
    C# 13の新機能を理解する――paramsコレクションと新しいロックセマンティクス

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

メールバックナンバー

アクセスランキング

  1. 1
    日本マイクロソフト、AI学習プラットフォーム「AI SKILLS NAVIGATOR日本語版」を無償提供
  2. 2
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  3. 3
    OpenAI、AIによる自動でのGUI操作を可能にするエージェント「Operator」を発表 NEW
  4. 4
    Flutterでアプリをビルドしよう。AndroidとiOSそれぞれの流れを解説
  5. 5
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  1. 6
    Google、Samsungと共同開発したオーディオ技術「Eclipsa Audio」の詳細発表
  2. 7
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  3. 8
    より使いやすくなったPHP 8.4の新機能──処理系とDOM処理・関数の強化ポイント
  4. 9
    Mendix、ローコードプラットフォーム「Mendix 10.18」を発表 NEW
  5. 10
    Next.js 15の新機能――ルーティングとキャッシュの制御の変更を中心に解説

アクセスランキング

  1. 1
    日本マイクロソフト、AI学習プラットフォーム「AI SKILLS NAVIGATOR日本語版」を無償提供
  2. 2
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  3. 3
    OpenAI、AIによる自動でのGUI操作を可能にするエージェント「Operator」を発表 NEW
  4. 4
    Flutterでアプリをビルドしよう。AndroidとiOSそれぞれの流れを解説
  5. 5
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  6. 6
    Google、Samsungと共同開発したオーディオ技術「Eclipsa Audio」の詳細発表
  7. 7
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  8. 8
    より使いやすくなったPHP 8.4の新機能──処理系とDOM処理・関数の強化ポイント
  9. 9
    Mendix、ローコードプラットフォーム「Mendix 10.18」を発表 NEW
  10. 10
    Next.js 15の新機能――ルーティングとキャッシュの制御の変更を中心に解説
  1. 1
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  2. 2
    ガントチャートをWebアプリに組み込める「ガントシート」でプロジェクト管理機能を作成してみよう
  3. 3
    日本マイクロソフト、AI学習プラットフォーム「AI SKILLS NAVIGATOR日本語版」を無償提供
  4. 4
    1/10まで全文無料公開、人気の入門書シリーズ『いきなりプログラミング Androidアプリ開発』
  5. 5
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  6. 6
    ITエンジニア本大賞2025、ベスト10選出! 技術書部門とビジネス書部門の大賞はどうなる!?
  7. 7
    実はITエンジニアの設計力が求められるkintone、その仕組みとポイントを事例に学ぶ
  8. 8
    Google、社内AIエージェント「Google Agentspace」発表
  9. 9
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  10. 10
    C# 13の新機能を理解する――paramsコレクションと新しいロックセマンティクス