Scala開発環境の構築とApiDemosサンプルプロジェクトの作成


2011年からAndroid ApiDemosを書き始めて以来、Androidのバージョンも多く更新され、現在のバージョンは4.04になっています.ApiDemosの例もかなり増えていますが、Android ApiDemoの例解析シリーズの記事を更新する必要があります(もちろんこれまでの記事は役に立ちましたが、参考にすることができます).以前の内容を繰り返さないために、我々はScala言語を用いてAndroidアプリケーションを開発する予定であり、例の逐次解析に伴い、ApiDemosの例のコードを順次Scalaコードに変更し、Robujuiceを用いてViewに注入する.Scalaプログラミングについてはブログscala開発チュートリアルを参照し、Robujuiceの紹介についてはAndroid RoboGuice使用ガイドを参照することができる
Androidアプリケーションを開発して使用しているIDEはIntellijです(これも新版Android Studioベースのバージョンです).1.Scala開発環境をインストールするには、不思議なScalaプログラミングを開始する旅を参照してください.IDEA ScalaプラグインをインストールIntelliJ IDEAを使用してScalaアプリケーションを開発する.Android SDK 4をインストールする.ApiDemosの例をIntellijにインポートします.ここではAndroid-17ディレクトリを使用しています.便宜上、ApiDemosのプロジェクトはgithubサイトでコピーできます.https://github.com/guidebee/ApiDemos一般的には更新のたびにその日の日付をマークして参考にします.5.AndroidプロジェクトにScala Facetを設定し、導入したApiDemosプロジェクトでFile->Project Structure->Facetsを使用する
6.プロジェクトにScalaライブラリファイルを追加し、File->Project Structure->Librariesscala-libraryを使用します.JArファイルは、Scalaインストールディレクトリのlibsの下にある7.前に追加したScala Facetがmoduleのdependencyであることを確認する.モジュールのdependency File->Project Structure->Modules->Dependenciesを表示し、compiler pluginsを構成できます(オプション)
注意:選択したAndroidプラットフォームはJDK 7を使用する必要があります.これは、最新版のproguardがJDK 8をサポートしていないためです.
8.proguardを構成し、以下のproguard-projectを使用する.txtファイル、このファイルは大多数のプロジェクトを使用することができて、あなたはこのファイルをAndroidプロジェクトの中でIntellij 12に対して追加して、File→project settings→modules→select module(s)→compiler tab→enable proguardを使ってIntellij 13に対して、File→project settings→modules→select module(s)→compiler tab→check Run Proguard checkboxを使用するproguardリストを構成する際にAndroid SDKのデフォルトファイル/android-sdk-home/tools/proguard/proguard-androidを追加する必要があることに注意.txtのデフォルトはプロジェクトの構成にあります.
その後、通常のJavaが開発したAndroidアプリケーションをコンパイルするようにScalaコードをコンパイルすることができます.この構成を使用すると、scalaとJava言語を任意に混合して使用することができます.もちろん、Scalaコードがある場合は、同じファイルで混合して使用することはできません.scalaファイルにはjavaコードがすべて格納されています.JAvaファイルではgithubのプロジェクトに2つのインスタンスがあります.JAvaファイルExampleActivity.JAvaとSignInActivity.java .まずscalaコードに変更します1 import   android.app.Activity 2 import   android.os.Bundle 3
  4 class   ExampleActivity  extends   Activity { 5
  6    override   def   onCreate(savedInstanceState :   Bundle) { 7      super .onCreate(savedInstanceState) 8      // The activity is being created. 9    } 10
  11    protected   override   def   onStart() { 12      super .onStart() 13      // The activity is about to become visible. 14    } 15
  16    protected   override   def   onResume() { 17      super .onResume() 18      // The activity has become visible (it is now "resumed"). 19    } 20
  21    protected   override   def   onPause() { 22      super .onPause() 23      // Another activity is taking focus (this activity is about to be "paused"). 24    } 25
  26    protected   override   def   onStop() { 27      super .onStop() 28      // The activity is no longer visible (it is now "stopped") 29    } 30
  31    protected   override   def   onDestroy() { 32      super .onDestroy() 33      // The activity is about to be destroyed. 34    } 35 }
実はこの2つのファイルApiDemosはそれらを使っていません.私たちはちょうどそれらを使ってScalaの開発環境が構成されているかどうかをテストすることができます.このプロジェクトをコンパイルすると、コンパイル後のディレクトリout/production/ApiDemosでExampleActiveを見つけることができます.classはIDEコンパイルScalaコードが成功したことを示している.
最後のプロジェクトはgithubです.comダウンロードhttps://github.com/guidebee/ApiDemos