मैं एंड्रॉइड स्टूडियो में कोटलिन और कोटलिन एंड्रॉइड एक्सटेंशन की कोशिश करने की कोशिश कर रहा हूं। मैंने उबंटू 14.04 पर एंड्रॉइड स्टूडियो वी 1.5.1, और इसी परिणाम के साथ ओएस एक्स एल कैपिटान पर एंड्रॉइड स्टूडियो वी 1.5.1 में दोनों की कोशिश की है।
यहाँ मैं क्या कर रहा हूँ:
- मैं कोटलिन प्लगइन 1.0.0-beta-35950-IJ141-11 स्थापित करता हूं
- एक नया रिक्त Android प्रोजेक्ट बनाएं
- कोटलिन के लिए MainActivity फ़ाइल परिवर्तित करें (मदद के माध्यम से-> खोज-> फ़ाइल को कोटलिन में बदलें)
- Kotlin के लिए प्रोजेक्ट कॉन्फ़िगर करें
मैं तब उत्पन्न content_main.xml फ़ाइल में जाता हूं और "हैलो वर्ल्ड" के लिए एक आईडी (हैलो) जोड़ता हूं। व्याख्यान दर्शन।
<?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>
तब परिवर्तित MainActivity में मैं TextView सेट करने के लिए एक पंक्ति जोड़ता हूं। (नीचे दिखाया गया है)। Android Studio तब मुझे यह लाइन डालने के लिए (ऑल्ट-एंटर के माध्यम से) संकेत देता है (नीचे दिखाया गया है)
import kotlinx.android.synthetic.main.content_main.*
तो इस बिंदु पर सब कुछ ठीक लगता है
लेकिन तब जब मैं इसे संकलित करने की कोशिश करता हूं मुझे मिलता है
Unresolved reference: kotlinx
Unresolved reference: kotlinx
Unresolved reference: hello
ध्यान दें कि मैंने कोटलिन एंड्रॉइड एक्सटेंशन प्लगइन स्थापित नहीं किया था । कुछ दिनों पहले तक अब इसे मुख्य प्लग में शामिल किया जाना है और इसे अप्रचलित के रूप में चिह्नित किया गया है। (वास्तव में यदि आप इसे स्थापित करने की कोशिश करते हैं जब आपके पास नवीनतम प्लगइन होता है, तो कुछ भी नया स्थापित नहीं होता है)
कोई भी देखता है कि मैं क्या गलत कर रहा हूं?
मुख्य गतिविधि
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)
}
}