android开发之分享App模块
2015-03-11 16:58
363 查看
最近,老大要我把项目中有的共用代码抽取成一个个独立的模块,为了以后的复用,那么,现在我将我半个小时的成果分享给大家–“分享App”。
第零步:下载第三方jar,并导入至项目:http://pan.baidu.com/s/1hqjCtZu 提取密码:od1l
第一步:布局
第二步:实现分享App代码
第三步:引用了配置文件
第四步:创建一个类继承FrontiaAppliation
第五步:清单文件配置
添加权限
配置< application android:name=“.ShareApplication ”… />
配置< activity … />
示例代码戳Here
第零步:下载第三方jar,并导入至项目:http://pan.baidu.com/s/1hqjCtZu 提取密码:od1l
第一步:布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff"> <TextView android:id="@+id/tv_share" android:layout_width="fill_parent" android:layout_height="50dp" android:background="@drawable/textview_seletor" android:text="分享给好友" android:layout_marginLeft="15dp" android:layout_marginRight="15dp" android:gravity="center" android:textColor="@drawable/textview_color_selector" android:layout_marginTop="100dp" /> </RelativeLayout>
第二步:实现分享App代码
public class MyActivity extends Activity { // 分享 private FrontiaSocialShare mSocialShare; private FrontiaSocialShareContent mImageContent; private Toast toast; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); toast = Toast.makeText(this,"",Toast.LENGTH_SHORT); initShare(); this.findViewById(R.id.tv_share).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mSocialShare.show(MyActivity.this.getWindow().getDecorView(), mImageContent, FrontiaSocialShare.FrontiaTheme.LIGHT, new ShareListener()); } }); } private void initShare() { Frontia.init(this.getApplicationContext(), Conf.APIKEY); //自定义 mImageContent = new FrontiaSocialShareContent(); mSocialShare = Frontia.getSocialShare(); mSocialShare.setContext(this); mSocialShare.setClientId(FrontiaAuthorization.MediaType.SINAWEIBO.toString(), Conf.SINA_APP_KEY); mSocialShare.setClientId(FrontiaAuthorization.MediaType.QZONE.toString(), Conf.QQ_APP_KEY); mSocialShare.setClientId(FrontiaAuthorization.MediaType.QQFRIEND.toString(), Conf.QQ_APP_KEY); mSocialShare.setClientName(FrontiaAuthorization.MediaType.QQFRIEND.toString(), getResources().getString(R.string.app_name)); mSocialShare.setClientId(FrontiaAuthorization.MediaType.WEIXIN.toString(), Conf.WEIXIN_APP_KEY); mSocialShare.setClientId(FrontiaAuthorization.MediaType.RENREN.toString(), Conf.RENREN_APP_KEY); mSocialShare.setClientId(FrontiaAuthorization.MediaType.KAIXIN.toString(), Conf.KAIXIN_APP_KEY); mSocialShare.setClientId(FrontiaAuthorization.MediaType.QQWEIBO.toString(), Conf.QQWEIBO_APP_KEY); mImageContent.setTitle("共和国客户端"); //自定义 mImageContent.setContent("共和国客户端 http://china.com/app/"); //自定义 mImageContent.setImageData(BitmapFactory.decodeResource(getResources(), R.drawable.ghg)); //自定义 mImageContent.setLinkUrl(Conf.LINK_URL); //自定义 } private class ShareListener implements FrontiaSocialShareListener { @Override public void onSuccess() { toast.setText("分享成功"); toast.show(); } @Override public void onFailure(int errCode, String errMsg) { toast.setText("分享失败"); toast.show(); } @Override public void onCancel() { toast.setText("取消分享"); toast.show(); } } }
第三步:引用了配置文件
public class Conf { //share key public final static String APIKEY = "申请的Key"; // social demo public final static String QQ_APP_KEY = "101037845"; public final static String WEIXIN_APP_KEY = "wx1c6097ebac17f924"; public final static String KAIXIN_APP_KEY = "100059024"; public final static String RENREN_APP_KEY = "265443"; public final static String SINA_APP_KEY = "430833150"; public final static String QQWEIBO_APP_KEY = "801487388"; public final static String LINK_URL = "链接地址"; // personal file storage demo public final static String PERSON_STORAGE_DIR_NAME = "/apps/FrontiaDevDemo/pic"; public final static String PERSON_STORAGE_FILE_NAME = "/apps/FrontiaDevDemo/pic/custom.jpg"; public final static String LOCAL_FILE_NAME = "/sdcard/Download/custom.jpg"; public final static String FILE1 = "/sdcard/Download/custom.jpg"; public final static String FILE2 = "/sdcard/Download/custom.jpg"; public final static String FILE3 = "/sdcard/Download/custom.jpg"; // app file storage demo public final static String APP_STORAGE_FILE_NAME = "custom.jpg"; // statistics demo public static final String eventId = "1";// 提醒 public static final String reportId = "fd4278e8f6"; }
第四步:创建一个类继承FrontiaAppliation
/** * Created by ZaneLove on 2015/3/11. */ public class ShareApplication extends FrontiaApplication { }
第五步:清单文件配置
添加权限
配置< application android:name=“.ShareApplication ”… />
配置< activity … />
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zanelove.ShareAppDemo" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="8"/> //添加权限 <uses-permission android:name="android.permission.WRITE_SETTINGS"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.GET_TASKS" /> <application //配置< application android:name=“.ShareApplication ”... /> android:name=".ShareApplication" android:label="@string/app_name" android:icon="@drawable/ghg"> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <!-- share --> //配置< activity ... /> <activity android:name="com.baidu.frontia.activity.share.FrontiaSocialOAuthActivity" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" > </activity> <activity android:name="com.baidu.frontia.activity.share.FrontiaLocalShareActivity" android:launchMode="singleTask" > </activity> <activity android:name="com.baidu.frontia.activity.share.FrontiaQQFriendShareReceiverActivity" android:launchMode="singleTask" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent100581272" /> </intent-filter> </activity> </application> </manifest>
示例代码戳Here
相关文章推荐
- Android开发——记账App开发项目分享(一)之用户登录
- Android官方开发文档Training系列课程中文版:分享简单数据之发送简单数据给其它APP
- android 与 蓝牙模块 hc06通信app 开发要点
- 实验四 系统登录/注册模块(Android app)的开发
- Android分享:如何高效率开发App
- React Native 集成分享第三方登录功能分享第三方登录模块开发(Android)
- 分享几款Android开发工具助力APP开发(磨砺营马剑威Android)
- 分享我开发的网络电话Android手机APP正式版,图文详解及下载
- 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现
- Android经典项目开发之天气APP实例分享
- React Native 集成分享第三方登录功能分享第三方登录模块开发(Android)
- Android开发 APP集成QQ、微信和微博分享
- Android官方开发文档Training系列课程中文版:分享简单数据之从其它APP接收简单数据
- 分享:高效开发Android App的10个建议
- Android开发-从硬件到APP(一) : 单独编内核驱动模块
- 分享Android开发实用小工具:图标批量提取工具:为APP开发快速获取资源
- React Native 集成分享第三方登录功能分享第三方登录模块开发(Android)
- android系统开发(七)-背光模块
- 程序员:Android开发经验分享(二)
- 推测用户行为 程序员分享Android开发经验