Android中“分享”功能的实现

Android的编程界面相当直截了当,只要了解Activity和View,就可以写出可用的应用。不过这还不够。Android是一种手机操作系统,它提供了对各种与联网及通讯相关的支持。善用这些支持,才能开发出贴近移动应用特点的程序。

 

在Android的种种编程概念中,尤为值得注意的是Intent。Intent的英文词义是“意图”,而在Android的编程框架里面,也正是体现“想要做某事”的概念。它的作用是在Activity之间传递数据,或者说,通过传递数据,达到请求另一Activity执行某种操作的目的。下面以一个例子来展示Intent的应用。

 

应用场景:某个手机阅读器程序,读者看到一篇文章,觉得不错,想要与朋友分享。

应用展现:按手机的Menu键,弹出“分享”菜单,点击后显示一系列分享方式(短信、E-mail等)。

背景知识:Android上不同程序里面的Activity之间可以互相调用。你可以在自己的程序中,调用短信程序,发送一条短信。调用的方式就是向系统提出请求,系统会去调用适当的程序Activity。

 

以下是源代码:

 

package com.ghstudio.sharetest;

import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class Main extends Activity {
 
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);               
    }
 
    /* 创建菜单 */
    public boolean onCreateOptionsMenu(Menu menu) {
  menu.add(0,0,0,"分享");   
  return true;
 }
   
    public boolean onOptionsItemSelected(MenuItem item){
     switch (item.getItemId()){
     case 0:
      Intent intent=new Intent(Intent.ACTION_SEND);
      
      intent.setType("text/plain");
      intent.putExtra(Intent.EXTRA_SUBJECT, “分享”);
      intent.putExtra(Intent.EXTRA_TEXT, "I would like to share this with you...");
      startActivity(Intent.createChooser(intent, getTitle()));
      return true;
     }
     return false;
    }
 }

 

代码解析:首先创建一个Options菜单,该菜单只有一个项“分享”。当点击菜单项时,创建一个Intent。该Intent设置为发送给支持ACTION_SEND的Activity。用两个putExtra给Intent设置了SUBJECT和TEXT的数据,再用startActivity方法让系统调用适当的Activity执行之。createChooser方法接受Intent做参数,也同时接纳了Intent里面要求的filter(ACTION_SEND),只有支持ACTION_SEND的Activity才会被列入可选列表。

 

执行截图:

 

图一 按下Menu键,显示分享菜单

 

图二 显示支持ACTION_SEND的程序列表

 

图三 点击“信息”后,进入短信界面

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
### 回答1: Android Studio提供了多种分享功能,可以让用户将应用程序的内容分享到其他应用程序或社交媒体平台上。其包括: 1. Intent分享:使用Intent来启动其他应用程序,例如分享到Facebook、Twitter等社交媒体平台。 2. 分享对话框:使用Android系统提供的分享对话框,让用户选择要分享的应用程序。 3. 自定义分享:开发者可以自定义分享功能,例如创建自己的分享对话框或分享按钮。 总之,Android Studio提供了丰富的分享功能,可以帮助开发者轻松实现应用程序的分享功能。 ### 回答2: Android Studio 是一个开发 Android 应用程序的集成开发环境,它提供了各种各样的功能来辅助开发人员完成他们的工作。其之一就是分享功能,它允许用户通过他们的应用程序与其他人共享内容或信息。 在 Android Studio 实现分享功能需要以下步骤: 1. 在 AndroidManifest.xml 文件定义一个 Intent-filter,并将其设置为 ACTION_SEND。此操作将使你的应用程序能够与其他应用程序一起处理“共享”操作。 2. 创建您要分享的内容。内容可以是文本、图像、视频或其他任何类型的数据。 3. 使用 Intent 类创建一个包含要分享内容的 Intent,并设置 Intent 的类型、标题和文本。 4. 启动一个 IntentChooser,允许用户选择他们要分享的应用程序。 下面是一个示例代码: ``` Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); shareIntent.putExtra(Intent.EXTRA_TEXT, "这是一段分享的文本"); startActivity(Intent.createChooser(shareIntent, "分享到")); ``` 在这个例子,我们创建了一个包含文本“这是一段分享的文本”的 Intent,并将其设置为 text/plain 类型。当启动分享操作时,用户将会看到一个名为“分享到”的对话框,其列出了所有可用于处理 Intent 的应用程序。 可以通过将 Intent 的类型更改为图像、视频或其他类型的数据来共享不同类型的内容。你可以根据你的应用程序的要求自定义 Intent,包括设置内容、标题、类别、标志等。 总结来说,Android Studio 提供了非常方便的分享功能,这对开发人员来说是一个很好的特性。 通过使用 Android Studio,开发人员可以轻松地实现这个功能来提高应用程序的用户体验。 ### 回答3: Android Studio是一款用于开发Android应用程序的集成开发环境。在Android Studio,集成了丰富的工具和插件,方便开发者进行开发、测试和调试。其包括了分享功能,允许开发者将应用程序分享到其他应用程序,从而方便用户进行使用和分享Android Studio提供了两种不同的分享方式:系统分享和自定义分享。其,系统分享是指将应用程序所支持的数据类型(如文本、图片等)直接分享到系统已经安装的其他应用程序。自定义分享则是开发人员根据自己的需求和应用场景,自定义分享功能实现方法。 在使用系统分享功能时,开发者需要借助Android系统提供的Intent机制来实现。具体来说,开发者需要构建一个包含要分享的数据的Intent对象,并通过startActivity()方法来启动该Intent。系统会根据Intent指定的数据类型匹配已经安装的其他应用程序,并将数据传递给匹配的应用程序。 自定义分享实现方法则需要结合Android系统提供的ContentProvider机制。开发者需要先定义一个ContentProvider,然后将要分享的数据存储到ContentProvider。在分享时,开发者可以构建一个Intent对象,并指定Intent的ActionACTION_SEND,Type为ContentProvider存储的数据类型,然后将ContentProvider的URI作为Intent的Extra传递给其他应用程序。这样,其他应用程序就可以通过ContentResolver来获取ContentProvider存储的数据,并对其进行使用或分享。 总之,Android Studio的分享功能为开发者提供了多种实现方式,可以根据应用场景和需求灵活选择。同时,开发者也可以结合系统提供的机制和工具来实现自定义的分享功能,从而提升应用程序的用户体验和分享效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值