Blog-05-《一週快速上手Kotlin For Android》-
---《一週快速上手Kotlin For Android》簡介
目前Kotlin已正式成為Android的官方語言,作為Android開發者來說,學習和了解Kotlin也是屬於理所當然的事情,興許你覺得Java對於你來說才是真正的開發”利器”,使用Java你能發揮更高的效率,當然,如果如此你還是可以繼續使用Java來開發Android。但對於Kotlin來說,開發Android會變得更簡單一些,因為Kotlin其實就是Android開發中的語法糖,採用更簡短的程式碼,描述更多的邏輯而已。開發語言本身就沒有對錯和最優,每個開發語言被開發出來的時代背景不同,需要解決的主要問題也不同。選擇適合你自己的就可以。
BroadcastReceiver工作過程
Java 傳送廣播:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn_send = findViewById(R.id.btn_send);
btn_send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction("ACTION_TEST");
intent.putExtra("VALUE", 123);
sendBroadcast(intent);
}
});
}
}
Kotlin 傳送廣播:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val btn_send = findViewById
Java接收廣播:
public class Main2Activity extends AppCompatActivity {
private static final String TAG = "Main2Activity";
private MyReceiver myReceiver;
private IntentFilter intentFilter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Log.d(TAG, "onCreate");
myReceiver = new MyReceiver();
intentFilter = new IntentFilter();
intentFilter.addAction("ACTION_TEST");
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
}
@Override
protected void onResume() {
super.onResume();
registerReceiver(myReceiver, intentFilter);
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(myReceiver);
}
private class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("ACTION_TEST")){
int value = intent.getIntExtra("VALUE", 0);
Log.i(TAG, "onReceive value: " + value);
}
}
}
}
Kotlin接收廣播:
class Main2Activity : AppCompatActivity() {
private var myReceiver: MyReceiver? = null
private var intentFilter: IntentFilter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
Log.d(TAG, "onCreate")
myReceiver = MyReceiver()
intentFilter = IntentFilter()
intentFilter!!.addAction("ACTION_TEST”)
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
}
override fun onResume() {
super.onResume()
registerReceiver(myReceiver, intentFilter)
}
override fun onDestroy() {
super.onDestroy()
unregisterReceiver(myReceiver)
}
private inner class MyReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == "ACTION_TEST") {
val value = intent.getIntExtra("VALUE", 0)
Log.i(TAG, "onReceive value: " + value)
}
}
}
companion object {
private val TAG = "Main2Activity"
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2730/viewspace-2811599/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 幾個特性,快速上手KotlinKotlin
- 充分理解Kotlin,快速上手寫業務Kotlin
- Android BLE 快速上手指南Android
- 快速上手Kotlin開發-張濤-極客時間Kotlin
- Vue同構(一): 快速上手Vue
- 快速切換至Kotlin for Android模式KotlinAndroid模式
- 快速上手系列--Android應用開發模板Android
- Redis 快速上手Redis
- 快速上手BootstrapVuebootVue
- ElasticJob 快速上手AST
- Flask快速上手Flask
- JDBC快速上手JDBC
- docker 快速上手Docker
- 快速上手第一個智慧合約
- Flask之旅: 快速上手Flask
- Vue框架快速上手Vue框架
- 快速上手之dockerDocker
- 快速上手——我用scrapy寫爬蟲(一)爬蟲
- Vue入門指南-05 Vue例項的生命週期(快速上手vue)Vue
- 一文快速上手-Vue CLI腳手架Vue
- 快速上手前端框架layui前端框架UI
- Git和GitHub快速上手Github
- Docker 快速上手指南Docker
- Zalando Postgres Operator 快速上手
- 快速上手 vue3Vue
- LLaMA快速上手指南
- Git 快速上手精華梳理Git
- vue.js快速上手Vue.js
- react native快速上手React Native
- Vue.js 快速上手。Vue.js
- 資訊科技快速上手教程
- gdb除錯快速上手除錯
- Vue3快速上手Vue
- 極簡Kotlin-For-Android(一)KotlinAndroid
- Spring Boot 揭祕與實戰(一) 快速上手Spring Boot
- Toolbar快速實現,讓你一分鐘上手
- 如何找到並快速上手一個開源專案
- 【零基礎上手JavaWeb】快速上手 JavaScript DOM操作WebJavaScript