`
abc20899
  • 浏览: 933451 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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才会被列入可选列表。





//分享到开心网api
         kaixin = (Button) findViewById(R.id.Button05);
        kaixin.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                startActivity(new Intent(
                        Intent.ACTION_VIEW,
                        Uri
                                .parse("http://www.jiathis.com/send/?webid=kaixin001&url=http://ruixiazun.blog.163.com&title=雪山中的狼")));

            }
        });

//分享到人人网 api
    renren = (Button) findViewById(R.id.Button04);
        renren.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                startActivity(new Intent(
                        Intent.ACTION_VIEW,
                        Uri
                                .parse("http://www.jiathis.com/send/?webid=renren&url=http://ruixiazun.blog.163.com&title=雪山中的狼")));

            }
        });

分享更多网址的api接口如下:只需修改id 后面跟自定义的url和title、
email http://www.jiathis.com
qzone http://qzone.qq.com
tsina http://t.sina.com.cn
t163 http://t.163.com
renren http://www.renren.com
sohu http://bai.sohu.com
hi http://hi.baidu.com
fanfou http://fanfou.com/
i139 http://go.139.com/
youshi http://www.ushi.cn
hotmail http://www.hotmail.com
feixin http://feixin.10086.cn
fav ——
buzz http://www.google.com
baidu http://cang.baidu.com
tsohu http://t.sohu.com
tqq http://t.qq.com
kaixin001 http://www.kaixin001.com
taobao http://www.taobao.com
xiaoyou http://xiaoyou.qq.com
gmail http://www.gmail.com
ymail http://mail.yahoo.com
51 http://www.51.com/
google http://www.google.com
qq http://shuqian.qq.com/
sina http://vivi.sina.com.cn
yahoo http://myweb.cn.yahoo.com/
hexun http://www.hexun.com
139 http://www.139.com
haoei http://www.haoei.com/
douban http://www.douban.com
xianguo http://www.xianguo.com
renjian http://www.renjian.com
delicious http://www.delicious.com
youdao http://shuqian.youdao.com
msn http://cn.msn.com
live http://favorites.live.com/
115 http://fav.115.com
yesky http://hot.yesky.com
tieba http://tieba.baidu.com
digu http://www.digu.com
zhuaxia http://www.zhuaxia.com
zuosa http://zuosa.com
follow5 http://www.follow5.com
digg http://digg.com
fb http://www.facebook.com
myspace http://www.myspace.com
wealink http://www.wealink.com
leshou http://leshou.com
tongxue http://tongxue.com/
shouker http://www.shouker.com
9fav http://www.9fav.com
99earth http://www.99earth.org
dig24 http://www.dig24.cn
digbuz ——
baohe http://www.baohe.com
twitter http://twitter.com
poco http://www.poco.cn
cnfol http://t.cnfol.com
diglog http://www.diglog.com
waakee http://www.waakee.com
cyzone http://u.cyzone.cn
114la http://www.114la.com
chouti http://www.chouti.com
douban9dian http://9.douban.com
hemidemi http://www.hemidemi.com
yijee http://www.yijee.com
pdfonline http://www.pdfonline.com
translate http://translate.google.com/
diigo http://www.diigo.com
friendfeed http://www.friendfeed.com
mixx http://www.mixx.com
netvibes http://www.netvibes.com
pingfm http://ping.fm
polladium http://www.polladium.com
wong http://www.mister-wong.cn
plurk http://www.plurk.com
ask http://www.ask.com
printfriendly http://www.printfriendly.com
googlereader http://www.google.com/reader/
evernote http://www.evernote.com/
linkedin http://www.linkedin.com
netlog http://www.netlog.com
phonefavs http://phonefavs.com
plaxo http://www.Plaxo.com
reddit http://www.reddit.com
stumbleupon http://www.stumbleupon.com
funp http://www.funp.com
myshare http://www.myshare.com
fwisp http://fwisp.com
分享到:
评论

相关推荐

    android原生分享功能实现

    通过理解并应用这些知识点,你可以轻松地在Android应用中实现原生分享功能,无论是分享到社交应用,还是利用系统级的分享菜单,都能提供给用户方便快捷的分享体验。在开发过程中,不断优化用户体验,考虑各种可能的...

    Android 微信分享功能实现

    本教程将详细介绍如何在Android项目中实现微信分享功能,并简化官方SDK的复杂代码,使其更易理解和使用。 首先,我们需要在项目中集成微信SDK。下载微信官方提供的Android SDK(在本例中为`wechat_sdk_sample_...

    Android实现QQ和微信分享功能

    本篇文章将详细介绍如何在Android应用中实现QQ和微信的分享功能。 首先,我们需要在项目中引入相关的SDK。对于QQ分享,需要集成Tencent SDK;对于微信分享,则需要集成WeChat SDK。这两个SDK可以通过腾讯开放平台...

    Android系统分享功能实现

    在Android系统中,分享...通过上述步骤,开发者可以在Android应用中实现分享功能,使得用户能够方便快捷地与朋友、社交网络共享信息。在实际开发中,还需要结合具体的业务需求和用户体验设计,不断优化和完善分享功能。

    Android 微信分享功能

    本篇将详细阐述如何实现Android应用中的微信分享功能,以及在这个过程中涉及的关键知识点。 首先,要启用微信分享,你需要在你的Android应用中集成微信SDK。下载并引入微信官方提供的Android SDK,这通常包括`wxapi...

    两行代码实现android中分享

    本教程将详细解释如何使用两行代码实现Android中的分享功能。 首先,我们需要了解Android中的Intent系统。Intent是Android系统中的一种消息对象,用于启动一个操作,如启动一个新的Activity或Service。在分享功能中...

    Android中“分享”功能的实现 源码

    TestShare可能包含一个简单的分享功能实现,包括创建Intent、添加分享内容、启动分享选择器以及处理分享结果的完整代码。通过对这个源码的学习,你可以更好地理解如何在实际项目中集成分享功能。 总结,Android中的...

    Android 分享功能 代码

    在Android应用开发中,分享功能是一项非常常见的需求,它允许用户将应用内的内容,如文本、图片、链接等,分享到其他社交平台或者通过消息发送给朋友。...希望这个简要的介绍能为你在实现Android分享功能时提供帮助。

    Android短信发送功能实现技巧分享

    这个主题将深入探讨如何在Android应用中有效地构建短信发送功能,并分享一些实用的技巧。 首先,我们要了解Android系统中处理短信的核心组件——`SmsManager`。`SmsManager`是Android提供的一个类,它提供了发送...

    Android实现微信分享功能.zip

    本教程将详述如何在Android项目中实现QQ和微信的分享功能,覆盖微信好友、微信朋友圈、QQ好友以及QQ空间的分享操作。这些功能的实现基于微信和QQ的开放平台SDK,开发者需要注册并获取相应的AppID和AppKey。 1. **...

    Android分享功能开发实例

    本教程以"Android分享功能开发实例"为主题,主要涵盖了与微信、腾讯微博和新浪微博的集成与分享功能的实现。下面将详细讲解这些知识点: 1. **Android分享基础**: 在Android中,分享通常通过Intent机制来实现。...

    android中完成分享功能(邮件或者短信方式)

    在Android应用开发中,实现分享功能是常见的需求,让用户能够通过邮件或短信将内容传递给其他人。本篇文章将深入探讨如何在Android应用中实现这样的功能,主要涉及Android的Intent机制、邮件API和短信API。 首先,...

    android实现微信朋友圈和微信好友分享功能

    通过以上步骤,你可以实现在Android应用中集成微信朋友圈和微信好友的分享功能。在实际开发中,还可以根据需要调整分享内容的类型和样式,以满足更多个性化需求。同时,记得定期更新微信SDK,以获取最新的功能和修复...

    Android实现调用系统分享功能示例的总结

    Android分享—调用系统自带的分享功能 实现分享功能的几个办法 1.调用系统的分享功能 2.通过第三方SDK,如ShareSDK,友盟等 3.自行使用各自平台的SDK,比如QQ,微信,微博各自的SDK Android调用系统分享文本信息、...

    android分享功能

    在Android应用开发中,分享功能是一项非常常见的需求,它允许用户将内容(如文本、图片、链接等)轻松地发送到其他应用或者社交平台。在本篇中,我们将深入探讨如何利用`PopupWindow`实现这一功能,以及Android系统...

    Android 分享控件的实现代码

    TextView 用于显示分享控件的标题,View 用于分隔分享控件和应用列表,TextView 用于显示分享文本信息,RecyclerView 用于展示提供分享功能的应用列表。 单个子项的布局使用的 XML 文件为 item_app.xml,主要内容...

    android分享功能实现 源码下载

    为了应用的推广、传播,很多的应用中都有“分享”功能,一个按钮,点击后会出现短信、微博等等一切实现了分享功能的应用列表。具体可参考:http://blog.csdn.net/xyz_lmn/article/details/16856843

    Android分享功能大全demo

    在Android应用开发中,...通过"Android分享功能大全demo",开发者不仅可以学习如何实现基础的分享功能,还能了解如何集成多种第三方分享平台,以及如何优化用户体验。这为开发具有全面分享功能的应用提供了宝贵的参考。

    Android中最简单的分享功能Demo

    在本教程中,我们将探讨如何在Android应用中实现一个简单的分享功能,通过`DemoShareToFriends`这个示例项目来讲解。 首先,我们需要了解Android中的Intent系统,它是Android组件之间通信的主要方式,包括应用内的...

    Android分享功能小Demo

    本篇将基于提供的"Android分享功能小Demo"来深入讲解如何在Android中实现分享功能。 首先,Android的分享功能主要依赖于Intent系统,通过Intent可以启动其他应用程序的特定操作,如发送邮件、发布到社交平台等。在`...

Global site tag (gtag.js) - Google Analytics