編輯:關於Android編程
前言:自己在學習的過程中的一些操作過程,對分享的一些理解。下面就講解一下:
首先,我們需要去ShareSdk官方網站http://sharesdk.cn/ 去下載ShareSDK ,然後我們會有4個文件:
根據我自己在學習的過程中只用到了第一個文件夾的
libs目錄的2個項目,這2個是必須要的,是ShareSdk提供的,然後需要將這2個放入到自己做的項目當中去,在Res目錄下有一個
ShareSdk.xml文件 這個很重要的,大概意思就是:提供各個客戶端能否分享,將這個也要復制到自己做的項目的assets 目錄下
第二步,我們需要將第3個文件Sample打開,裡面有項目需要用到的一些類,
這個也需要導入到項目中去的,會自動生成一個小項目,注意:不是主程序哦。這個程序中可以進行測試的,秘鑰是123456
第三步:配置AndroidManifest.xml
其他配置:
配置完之後,就給大家說一下添加分享代碼
在您的代碼中調用此方法,即可打開一鍵分享功能進行分享
列入一個按鈕:
ShareSDKUtil shareSDKUtil = new ShareSDKUtil(this); shareSDKUtil.setPage(getWindow().getDecorView()); shareSDKUtil.showShare(false, null);
核心代碼:
public class ShareSDKUtil { private Context mContext; private View mView; public ShareSDKUtil(Context context) { this.mContext = context; } public Context getContext() { return mContext; } /** * ShareSDK集成方法有兩種 * 1、第一種是引用方式,例如引用onekeyshare項目,onekeyshare項目再引用mainlibs庫 * 2、第二種是把onekeyshare和mainlibs集成到項目中,本例子就是用第二種方式 請看“ShareSDK * 使用說明文檔”,SDK下載目錄中 或者看網絡集成文檔 * http://wiki.sharesdk.cn/Android_%E5%BF%AB * %E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97 * 3、混淆時,把sample或者本例子的混淆代碼copy過去,在proguard-project.txt文件中 * * * 平台配置信息有三種方式: 1、在我們後台配置各個微博平台的key * 2、在代碼中配置各個微博平台的key,http://sharesdk.cn/androidDoc * /cn/sharesdk/framework/ShareSDK.html * 3、在配置文件中配置,本例子裡面的assets/ShareSDK.conf, */ public void showShare(boolean silent, String platform) { final OnekeyShare oks = new OnekeyShare(); oks.setNotification(R.drawable.app_icon, getContext().getString(R.string.app_name)); oks.setAddress(12345678901); oks.setTitle(getContext().getString(R.string.app_name)); oks.setTitleUrl(http://www.xx.com); oks.setText(555555555555555555); // oks.setImagePath(Environment.getExternalStorageDirectory().getAbsolutePath()+/AndyDemo/ScreenImage/Screen_1.png); //weixin // oks.setImageUrl(http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg);//MainActivity.TEST_IMAGE_URL oks.setImageUrl(/sdcard/AndyDemo/ScreenImage/Screen_1.png); // 不能為空,否則微信分享類型為文本 oks.setUrl(http://www.xx.com);// WeiXin // oks.setFilePath(MainActivity.TEST_IMAGE);//WeiXin // oks.setComment(getContext().getString(R.string.share));// QZone oks.setSite(getContext().getString(R.string.app_name));// QZone oks.setSiteUrl(http://www.xx.com);// QZone // oks.setVenueName(ShareSDK); // oks.setVenueDescription(This is a beautiful place!); // oks.setLatitude(23.056081f); // oks.setLongitude(113.385708f); oks.setSilent(silent); if (platform != null) { oks.setPlatform(platform); } // 取消注釋,可以實現對具體的View進行截屏分享 // Add by yinghui.hong 取消注釋的同時需要將setImagePath注釋,見{@link ShareCore share} // oks.setViewToShare(getPage()); oks.setViewToShare((Activity)getContext()); // 去除注釋,可令編輯頁面顯示為Dialog模式 // oks.setDialogMode(); // 去除注釋,在自動授權時可以禁用SSO方式 // oks.disableSSOWhenAuthorize(); // 去除注釋,則快捷分享的操作結果將通過OneKeyShareCallback回調 // oks.setCallback(new OneKeyShareCallback()); // oks.setShareContentCustomizeCallback(new // ShareContentCustomizeDemo()); // 去除注釋,演示在九宮格設置自定義的圖標 // Bitmap logo = BitmapFactory.decodeResource(menu.getResources(), // R.drawable.ic_launcher); // String label = menu.getResources().getString(R.string.app_name); // OnClickListener listener = new OnClickListener() { // public void onClick(View v) { // String text = Customer Logo -- ShareSDK + // ShareSDK.getSDKVersionName(); // Toast.makeText(menu.getContext(), text, Toast.LENGTH_SHORT).show(); // oks.finish(); // } // }; // oks.setCustomerLogo(logo, label, listener); // 去除注釋,則快捷分享九宮格中將隱藏新浪微博和騰訊微博 // oks.addHiddenPlatform(SinaWeibo.NAME); // oks.addHiddenPlatform(TencentWeibo.NAME); oks.show(getContext()); } public void setPage(View view) { this.mView = view; } protected View getPage() { return mView; }
我自己在做的過程中遇到的問題也說一下: 做這些功能分為2種,一種是需要審核的,我做的就是第一種,第2種是不需要審核的,這個大家可以去看下API,
像新浪和微信.QQ空間必須要審核才可以分享的,審核的時間有點長,在微信審核的時候那個應用簽名一定要注意了,不能填錯哦,否則就算審核成功了,也無法
分享的哦!
QQ空間是支持網絡圖片,我做的時候本地圖片會顯示不出來,查了下原因,是因為QQ空間沒提過這個功能,所以只能分享文字!
?? ??
在前兩篇文章當中,我們主要學習了Android內存方面的相關知識,包括如何合理地使用內存,以及當發生內存洩露時如何定位出問題的原因。那麼關於內存的知識就討論到這裡,今天開
SeekBar 拖動條:拖動條和滾動條類似,當是拖動條可以拖動滑塊改變進度 RatingBar 星級評分條:星級評分條與拖動條相似 See
轉眼時間一晃就過去了,從事Android開發已有一年多的時間,由於項目忙,一直沒時間更新,雖然筆記做了很多,但是一直沒時間總結,只是把很多開發遇到的坑和知識點記在筆記本。
我們先用AndroidStudio新建一個項目,選擇空白模板,然後像其中拖入兩個Button,將他們的id分別命名為btDate(顯示日期),btTime(顯示時間),他