android studio 数据的传输

活动1:

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val button1 : Button = findViewById(R.id.button)
        val button2 : Button = findViewById(R.id.button2)
        val textView :TextView = findViewById(R.id.textView)
        button1.setOnClickListener{
            val data = textView.getText().toString()//获取文本框内容
            val intent = Intent(this,xryActivity2::class.java)
            intent.putExtra("extra_data",data)//显式intent
            startActivity(intent)
        }
        button2.setOnClickListener{
            val intent = Intent("com.example.activitytest.ACTION_START")
            intent.addCategory("com.example.activitytest.MY_CATEGORY")
            startActivityForResult(intent,1)//隐式intent
        }

    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        when(requestCode){
            1 -> if(resultCode == RESULT_OK){
                val returnedData = data?.getStringExtra("data_return")
                Toast.makeText(this,returnedData,Toast.LENGTH_SHORT).show()//用Toast显示
            }
        }
    }
}

活动2:(对话框)

class xryActivity2 : AppCompatActivity(),View.OnClickListener {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_xry2)
        val button3: Button = findViewById(R.id.button3)
        button3.setOnClickListener(this)
        val extraData = intent.getStringExtra("extra_data")//传入文本框内容
        Log.d("xryActivity2","extra data is $extraData")

    }

    override fun onClick(v: View?) {//设置对话框
        val extraData = intent.getStringExtra("extra_data")
        when(v?.id){
            R.id.button3 ->{
                AlertDialog.Builder(this).apply {
                    setTitle("This is Dialog")
                    setMessage(extraData)
                    setCancelable(false)
                    setPositiveButton("OK"){
                        dialog,which ->
                    }
                    setNegativeButton("Cancel"){
                        dialog,which ->
                    }
                    show()
                }
            }
        }
    }
}

活动3:

class xryActivity3 : AppCompatActivity() {
    @SuppressLint("ResourceType")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_xry3)
        val button4: Button = findViewById(R.id.button4)
        val textView :TextView = findViewById(R.id.textView2)
        button4.setOnClickListener{
            val intent = Intent(this,MainActivity::class.java)
            val inputText = textView.getText().toString()//获取文本框内容
            intent.putExtra("data_return",inputText)
            setResult(RESULT_OK,intent)
            finish()
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android Studio数据传输是指在Android应用程序中,通过不同的方式将数据从一个地方传输到另一个地方。这些数据可以是用户输入的数据、从服务器获取的数据、或者是应用程序内部的数据。常用的数据传输方式包括Intent、Bundle、SharedPreferences、SQLite数据库、网络请求等。在Android Studio中,可以使用各种API和库来实现数据传输,例如Android SDK提供的网络库、第三方网络库Retrofit、数据库操作库Room等。通过合理使用这些API和库,可以实现高效、安全、可靠的数据传输。 ### 回答2: Android Studio是一个非常流行和强大的应用程序开发工具,用于创建Android移动应用程序。在Android Studio中,数据传输是一个非常重要和常见的任务。数据传输不仅可以帮助我们在应用程序中传递数据,还可以帮助我们与后端服务器通信并检索数据数据传输可以分为两种类型:本地和网络。在本地传输中,数据在设备的本地存储中传输,而在网络传输中,数据在应用程序和服务器之间传输。以下是Android Studio数据传输的常见方法: 1. Intent传输:在Android Studio中,Intent传输是最常见和简单的方法之一。Intent传输允许应用程序之间传递数据。您可以使用Intent传递字符串、数字、布尔值、序列化对象等数据类型。 2. Bundles传输:使用Bundle对象可以在活动之间传递大量的数据。Bundle对象是一种键值对的数据结构,可以保存任何数据类型。 3. SharedPreferences存储:SharedPreferences允许您将数据(键/值对)存储在设备的本地存储中,并在应用程序之间共享数据。 4. 网络传输Android Studio的网络传输包括使用HTTP库、JSON解析器和REST API等技术来向服务器发送请求和接收响应。在Android Studio中,您可以使用OkHttp、Volley等流行的HTTP库来处理HTTP请求和响应。 总之,数据传输Android应用程序开发的重要组成部分。无论是在本地还是在网络传输中,Android Studio提供了强大的工具和技术来处理数据传输。了解并掌握这些技术将有助于您构建高效、流畅的应用程序。 ### 回答3: 在android开发中,数据传输是一个非常重要的任务。作为开发人员,我们经常需要从网络或本地数据库中获取数据,并将其呈现给用户。Android Studio提供了多种传输数据的方式,下面我来详细介绍一下。 首先是网络传输。在进行网络传输时,我们可以使用Android系统提供的HttpURLConnection、HttpClient或第三方库如Volley、Retrofit等。其中,HttpURLConnection是Android系统提供的网络请求库,使用它我们可以发送HTTP请求并获取响应数据。HttpClient是Apache提供的网络请求库,与HttpURLConnection相比,HttpClient在Android 6.0以后被弃用了。Volley是谷歌推出的轻量级网络请求库,它能够自动缓存请求响应数据并对请求进行统一管理。Retrofit是一个强大的网络请求库,它使得将RESTful API与Android应用程序相结合变得非常容易。 其次是本地数据传输Android Studio使用SQLite作为本地数据库,SQLite是一个轻量级的、嵌入式的关系型数据库引擎。它提供了简单、快速、可靠的数据存储方式,非常适合在移动设备上使用。在进行本地数据存储时,我们需要使用SQLiteOpenHelper类来管理数据库的创建和版本控制。同时,我们也可以使用ContentProvider来实现和其他应用程序之间的数据共享。 最后是Intent传输。Intent是Android应用程序中最常用的组件之一。通过Intent,我们可以实现Activity、Service、BroadcastReceiver和ContentProvider之间的交互和数据传递。在使用Intent传输数据时,我们需要在发送方指定数据,然后在接收方接收并解析数据。通过Intent传输数据,我们可以实现不同组件之间的数据共享和交互。 综上所述,Android Studio提供了多种传输数据的方式,开发人员可以根据具体需求选择合适的方式进行数据传输。无论是网络传输、本地数据传输还是Intent传输, 都有其独特的优缺点。开发人员需要根据具体情况来选择最适合自己的数据传输方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值