編輯:關於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最佳性能實踐(三)——高性能編碼優化
在前兩篇文章當中,我們主要學習了Android內存方面的相關知識,包括如何合理地使用內存,以及當發生內存洩露時如何定位出問題的原因。那麼關於內存的知識就討論到這裡,今天開
android學習---SeekBar和RatingBar
SeekBar 拖動條:拖動條和滾動條類似,當是拖動條可以拖動滑塊改變進度 RatingBar 星級評分條:星級評分條與拖動條相似 See
git關聯Android Studio以及上傳項目到GitHub
轉眼時間一晃就過去了,從事Android開發已有一年多的時間,由於項目忙,一直沒時間更新,雖然筆記做了很多,但是一直沒時間總結,只是把很多開發遇到的坑和知識點記在筆記本。
Android學習系列一用按鈕實現顯示時間
我們先用AndroidStudio新建一個項目,選擇空白模板,然後像其中拖入兩個Button,將他們的id分別命名為btDate(顯示日期),btTime(顯示時間),他