android studio scala插件,Scala 语言开发Andorid ,开发环境的搭建(一)
Scala 語言開發Andorid ,開發環境的搭建
厭倦 Java 繁瑣的語法,為了更優雅的開發 Android 程序,Scala 代替 Java 是一個不錯的嘗試。 開發前可以學習 Scala 的基本語法,某些部分和 Java 非常類似,但又聚合了其他先進語言的特性。與 Java 不同的是,在你熟悉函數式編程的情況下能寫出更加優雅的代碼。
SBT 構建工具
現在絕大多數的 Android 開發者是官方提供的 Android Studio ,這個 IDE 使用的是基于 Gradle 的自動化建構工具,通過 Gradle 可以配置 Project 各種參數,生產 APK 等操作。
SBT 是和 Gradle,Ant,Maven 一樣的自動化建構工具,SBT 方便管理我們用 Scala 編寫的 Android 工程。
和使用 Java 開發 Andoird 一樣,首先要安裝 Scala, 下載 官方文件,在此之前先確定電腦已經安裝配置好 Java 環境。如果 macOS 已經安裝有 Homebrew 只需要一行代碼即可安裝配置成功
brew install scala
接著安裝 SBT 同一也一行代碼搞定(趕緊換一臺 mac 吧~~
brew install sbt
其他系統的配置大可直接看 [Scala]((http://scala-lang.org/) 和 SBT 官網,里邊有詳細的安裝配置教程
項目結構
和使用 構建工具一樣,Gradle 有一種固定的文件分類方式,不同的文件夾安放不同類型的文件。同樣的,SBT 也是有固定的文件結構。其實 SBT 的結構和 Gradle 的結構類似。
scala-android/
|- project/
| |- plugins.sbt
|- src/
| |- main/
| |- assets/
| |- java/
| |- res/
| |- layout/
| |- main.xml
| |- values/
| |- strings.xml
| |- scala/
| |- com/
| |- fortysevendeg/
| |- scala/
| |- android/
| |- SampleActivity.scala/
| |- AndroidManifest.xml
| |- test/
| |- java/
| |- res/
| |- scala/
|- build.sbt
結構文件
根目錄下,src 文件夾內存放的有源碼的文件,布局文件,以及另外一些資源文件。java 文件存放的是 java的源代碼文件,scala文件夾里存放的當然是 scala 源代碼文件,和 java 編寫的結構一樣,倒序域名包命名的管理方式。text存放的是測試文件。
build.sbt 和 app 中Gradle build 文件類似,可以配置一些項目信息,例如管理包名,應用名,編譯的目標版本,最低限制版本,開啟混淆的。使用的語法與 gradle 的語法略有不同。下面是一些常用的配置信息。
build.sbt
// 申明使用 Android 插件,讓構造工具知道這是一個Android 工程
android.Plugin.androidBuild
// 生命 Android 目標 API
platformTarget in Android := "android-21"
// 應用名
name := """scala-android"""
// 應用版本號
version := "1.0.0"
// Scala 版本
scalaVersion := "2.11.4"
// 項目中依賴的庫
resolvers += Resolver.jcenterRepo
libraryDependencies ++=
"com.android.support" % "cardview-v7" % supportLibsVersion ::
"com.android.support" % "customtabs" % supportLibsVersion ::
"com.android.support" % "design" % supportLibsVersion ::
"com.android.support" % "gridlayout-v7" % supportLibsVersion ::
"com.android.support" % "preference-v14" % supportLibsVersion ::
"com.futuremind.recyclerfastscroll" % "fastscroll" % "0.2.5" ::
"com.evernote" % "android-job" % "1.1.4" ::
"com.github.jorgecastilloprz" % "fabprogresscircle" % "1.01" ::
"com.google.android.gms" % "play-services-ads" % playServicesVersion ::
"com.google.android.gms" % "play-services-analytics" % playServicesVersion ::
"com.google.android.gms" % "play-services-gcm" % playServicesVersion ::
// 開啟 Scala 混淆
proguardScala in Android := true
// 開啟 Android 混淆
useProguard in Android := true
// 設置混淆規則
proguardOptions in Android ++= Seq(
"-ignorewarnings",
"-keep class scala.Dynamic")
project/plugins.sbt文件是項目中構建工具使用到的插件
project/plugins.sbt
addSbtPlugin("org.scala-android" % "sbt-android" % "1.7.2")
addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.1.10")
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.2")
總結
以上是生活随笔為你收集整理的android studio scala插件,Scala 语言开发Andorid ,开发环境的搭建(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 动态录音权限,Andro
- 下一篇: android 获取存储卡,Androi