Android Studio'da Kotlin ve Kotlin Android uzantılarını denemeye çalışıyorum. Bunu hem Ubuntu 14.04'te Android Studio v 1.5.1'de hem de OS X El Capitan'da Android Studio v 1.5.1'de aynı sonuçla denedim.
İşte yaptığım şey:
- Kotlin eklentisini 1.0.0-beta-35950-IJ141-11 kurdum
- Yeni bir boş Android projesi oluşturun
- MainActivity dosyasını Kotlin'e dönüştürün (yardım-> findaction-> dosyayı kotlin'e dönüştür aracılığıyla)
- Kotlin için projeyi yapılandırın
Daha sonra oluşturulan content_main.xml dosyasına gidiyorum ve "Merhaba Dünya!" İçin bir kimlik (merhaba) ekliyorum. Metin görünümü.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.gmail.npnster.mykotlinfirstproject.MainActivity"
tools:showIn="@layout/activity_main">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:id="@+id/hello"
/>
</RelativeLayout>
Sonra dönüştürülmüş MainActivity'de TextView'ı ayarlamak için bir satır ekliyorum. (aşağıda gösterilen). Android Studio daha sonra benden (alt-enter aracılığıyla) bu satırı eklememi ister (ayrıca aşağıda gösterilmiştir)
import kotlinx.android.synthetic.main.content_main.*
Yani bu noktada her şey görünüyor cezası
ama sonra bunu derlemeye çalıştığımda,
Unresolved reference: kotlinx
Unresolved reference: kotlinx
Unresolved reference: hello
Yaptığıma dikkat et değil Kotlin Android uzantıları eklentiyi yükleyin. Birkaç gün önce, bunun artık ana eklentiye dahil edilmesi gerekiyor ve artık kullanılmıyor olarak işaretleniyor. (Aslında en son eklentiye sahip olduğunuzda yüklemeye çalışırsanız, yeni hiçbir şey yüklenmez)
Neyi yanlış yaptığımı gören var mı?
Ana aktivite
import android.os.Bundle
import android.support.design.widget.FloatingActionButton
import android.support.design.widget.Snackbar
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.Toolbar
import android.view.View
import android.view.Menu
import android.view.MenuItem
import kotlinx.android.synthetic.main.content_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar = findViewById(R.id.toolbar) as Toolbar
setSupportActionBar(toolbar)
print("setting text view value to hey")
hello.text = "hey"
val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener { view -> Snackbar.make(view, "Replace this with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show() }
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.menu_main, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
val id = item.itemId
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true
}
return super.onOptionsItemSelected(item)
}
}