編輯:關於Android編程
根據需求選擇需要的平台:
點擊ShareSDK:
把鼠標移到應用<喎?/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPsnPo6y147v3PHN0cm9uZz7M7bzT06bTwzwvc3Ryb25nPjo8YnIgLz4NCjxpbWcgYWx0PQ=="" src="/uploadfile/Collfiles/20160907/20160907094401232.png" title="\" /> 根據自己的需求填寫:
這樣就得到了ShareSDK的AppKey:
進入ShareSDK解壓目錄,打開“Share SDK for Android”目錄,可以找到“QuickIntegrater.jar”,這個就是快速集成ShareSDK的工具。
Windows下:
首先確定您已經安裝了JDK,並且正確配置了JAVA_HOME和PATH系統變量,此時您可以雙擊QuickIntegrater啟動程序。


然後復制此文件夾中所有文件到自己的項目中覆蓋。
Linux/Mac OS下:
同樣需要先確保已經正確配置了JDK,之後啟動終端,cd進入“Share SDK for Android”目錄,輸入: java -jar QuickIntegrater.jar 可啟動QuickIntegrater

2.添加activity信息
3.如果集成了微信,易信,支付寶還需要添加下面回調的activity處理.4.替換mob後台申請的Appkey與各個平台申請的key。

5.添加一鍵分享代碼
private void showShare() {
ShareSDK.initSDK(this);
OnekeyShare oks = new OnekeyShare();
//關閉sso授權
oks.disableSSOWhenAuthorize();
// 分享時Notification的圖標和文字 2.5.9以後的版本不調用此方法
//oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
// title標題,印象筆記、郵箱、信息、微信、人人網和QQ空間使用
oks.setTitle(getString(R.string.share));
// titleUrl是標題的網絡鏈接,僅在人人網和QQ空間使用
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平台都需要這個字段
oks.setText("我是分享文本");
//分享網絡圖片,新浪微博分享網絡圖片需要通過審核後申請高級寫入接口,否則請注釋掉測試新浪微博
oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
// imagePath是圖片的本地路徑,Linked-In以外的平台都支持此參數
//oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片
// url僅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我對這條分享的評論,僅在人人網和QQ空間使用
oks.setComment("我是測試評論文本");
// site是分享此內容的網站名稱,僅在QQ空間使用
oks.setSite(getString(R.string.app_name));
// siteUrl是分享此內容的網站地址,僅在QQ空間使用
oks.setSiteUrl("http://sharesdk.cn");
// 啟動分享GUI
oks.show(this);
}
功能說明:點擊分享,彈出自定義對話框;根據傳入的參數,選擇要調起的平台,不同平台分享不同內容。

- 1.dialog的布局(dialog_share.xml)
2.item的布局文件(dialog_share_item.xml)
3.shareUtils代碼(ShareUtils.java)
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.chinalife.gstc.R;
import com.chinalife.gstc.common.data.Const;
import com.mob.tools.utils.UIHandler;
import android.app.Dialog;
import android.content.Context;
import android.os.Handler.Callback;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.system.text.ShortMessage;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.tencent.qq.QQ.ShareParams;
import cn.sharesdk.tencent.qzone.QZone;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;
public class ShareUtils {
// 圖片封裝為一個數組
private static int[] icon = { R.drawable.ssdk_oks_classic_qq,
R.drawable.ssdk_oks_classic_qzone,
R.drawable.ssdk_oks_classic_wechat,
R.drawable.ssdk_oks_classic_wechatmoments,
R.drawable.ssdk_oks_classic_sinaweibo,
R.drawable.ssdk_oks_classic_shortmessage };
private static String[] iconName = { "QQ", "QQ空間", "微信", "微信朋友圈", "新浪微博",
"短消息" };
private static int[] platform = { 1, 2, 3, 4, 5, 6 };
private static List
注意:
- 1.傳入的參數根據需求自行增減,shareParams不同平台的差異化參數設置寫在if判斷裡,就實現不同平台分享內容差異化。
- 2.微信平台必須設置shareParams.setShareType(*);
注意:
- 1.沒有標明可選的就是必填參數,不能為null或者空字符串。
- 2.imageUrl、imagePath、imageData為三選一。
新浪微博支持分享文字、本地圖片、網絡圖片和經緯度信息。
新浪微博使用客戶端分享不會正確回調
參數說明:
text:小於2000字
image:圖片最大5M,僅支持JPEG、GIF、PNG格式
latitude:有效范圍:-90.0到+90.0,+表示北緯
longitude:有效范圍:-180.0到+180.0,+表示東經
注:微博分享鏈接是將鏈接寫到setText內:eg:setText(“分享文本 http://mob.com”);
分享文本:
- text
分享圖文:
- text imagePath
- text imageUrl
注:如果imagePath和imageUrl同時存在,imageUrl將被忽略。
騰訊微博支持分享文字、本地圖片、網絡圖片和經緯度信息。
參數說明:
text:最多140個字字符
image:圖片最大4M
分享文本:
- text latitude(可選) longitude(可選)
分享圖文:
- text imagePath latitude(可選) longitude(可選)
- text imageUrl latitude(可選) longitude(可選)
- text ImageArray latitude(可選) longitude(可選)
2.5.0以後的版本新增分享多張圖片的功能ImageArray。 由於騰訊微博分享網絡圖片並不屬於高級接口,因此imageUrl優先級高於imagePath,這就是說,如果imagePath和imageUrl同時存在,imagePath將被忽略。
QQ空間支持分享文字和圖文。
參數說明:
title:最多200個字符
text:最多600個字符
分享文本:
- title titleUrl text site siteUrl
發表說說:
- text imagePath site siteUrl
- text imageUrl site siteUrl
分享圖文:
- title titleUrl text imagePath site siteUrl
- title titleUrl text imageUrl site siteUrl
QQ空間分享時一定要攜帶title、titleUrl、site、siteUrl,QQ空間本身不支持分享本地圖片,因此如果想分享本地圖片,圖片會先上傳到ShareSDK的文件服務器,得到連接以後才分享此鏈接。由於本地圖片更耗流量,因此imageUrl優先級高於imagePath。 site是分享此內容的網站名稱,僅在QQ空間使用;siteUrl是分享此內容的網站地址,僅在QQ空間使用;
繞過審核只對微信好友、微信朋友圈有效。
微信分享如果是繞過審核(配置信息BypassApproval屬性設置為true為繞過審核),微信朋友圈可以分享單張圖片或者圖片與文字一起分享,微信好友可以進行文字或者單張圖片或者文件進行分享,分享回調不會正確回調。
不繞過審核,微信三個平台中,好友的功能最完整,朋友圈不能分享表情、文件和應用,收藏不能分享表情和應用。表格下以好友為例子:
參數說明:
title:512Bytes以內
text:1KB以內
imageData:10M以內
imagePath:10M以內(傳遞的imagePath路徑不能超過10KB)
imageUrl:10KB以內
musicUrl:10KB以內
url:10KB以內
分享文本:
- shareType(Platform.SHARE_TEXT) title text
分享圖片:
- shareType(Platform.SHARE_IMAGE) title text(設置了不會顯示,可選參數) imagePath
- shareType(Platform.SHARE_IMAGE) title text(設置了不會顯示,可選參數) imageUrl
- shareType(Platform.SHARE_IMAGE) title text(設置了不會顯示,可選參數) imageData
分享音樂:
- shareType(Platform.SHARE_MUSIC) title text(朋友圈不顯示此字段) imagePath musicUrl url(消息點擊後打開的頁面)
- shareType(Platform.SHARE_MUSIC) title text(朋友圈不顯示此字段) imageUrl musicUrl url(消息點擊後打開的頁面)
- shareType(Platform.SHARE_MUSIC) title text(朋友圈不顯示此字段) imageData musicUrl url(消息點擊後打開的頁面)
分享視頻:
- shareType(Platform.SHARE_VIDEO) title text(朋友圈不顯示此字段) imagePath url(視頻網頁地址)
- shareType(Platform.SHARE_VIDEO) title text(朋友圈不顯示此字段) imageUrl url(視頻網頁地址
- shareType(Platform.SHARE_VIDEO) title text(朋友圈不顯示此字段) imageData url(視頻網頁地址
分享網頁:
- shareType(Platform.SHARE_WEBPAGE) title text(朋友圈不顯示此字段) imagePath url
-shareType(Platform.SHARE_WEBPAGE) title text(朋友圈不顯示此字段) imageUrl url
-shareType(Platform.SHARE_WEBPAGE) title text(朋友圈不顯示此字段) imageData url
分享應用:
- shareType(Platform.SHARE_APPS) title text(朋友圈不顯示此字段) imagePath filePath(apk文件) extInfo(應用信息腳本)
- shareType(Platform.SHARE_APPS) title text(朋友圈不顯示此字段) imageUrl filePath(apk文件) extInfo(應用信息腳本)
- shareType(Platform.SHARE_APPS) title text(朋友圈不顯示此字段) imageData filePath(apk文件) extInfo(應用信息腳本)
分享文件:
- shareType(Platform.SHARE_FILE) title text(朋友圈不顯示此字段) imagePath filePath
- shareType(Platform.SHARE_FILE) title text(朋友圈不顯示此字段) imageUrl filePath
- shareType(Platform.SHARE_FILE) title text(朋友圈不顯示此字段) imageData filePath
分享表情:
- shareType(Platform.SHARE_EMOJI) title text(朋友圈不顯示此字段) imagePath
- shareType(Platform.SHARE_EMOJI) title text(朋友圈不顯示此字段) imageUrl
- shareType(Platform.SHARE_EMOJI) title text(朋友圈不顯示此字段) imageData
微信並無實際的分享網絡圖片和分享bitmap的功能,如果設置了網絡圖片,此圖片會先下載會本地,之後再當作本地圖片分享,因此延遲較大。bitmap則好一些,但是由於bitmap並不知道圖片的格式,因此都會被當作png編碼,再提交微信客戶端。此外,SHARE_EMOJI支持gif文件,但是如果使用imageData,則默認只是提交一個png圖片,因為bitmap是靜態圖片。
QQ分享支持圖文和音樂分享。
參數說明:
title:最多30個字符
text:最多40個字符
分享圖片:
- ImageUrl
- imagePath
分享鏈接:
- title titleUrl text imagePath
- title titleUrl text imageUrl
分享音頻:
- title titleUrl text imagePath musicUrl
- title titleUrl text imageUrl musicUrl
QQ分享圖文和音樂,在PC版本的QQ上可能只看到一條連接,因為PC版本的QQ只會對其白名單的連接作截圖,如果不在此名單中,則只是顯示連接而已. 如果只分享圖片在PC端看不到圖片的,只會顯示null,在手機端會顯示圖片和null字段。
信息分短信和彩信,如果設置了標題或者圖片,會直接當作彩信發送。發送信息的時候使用手機的信息軟件
分享文本:
- address title text
分享圖文:
- address title text imagePath imageUrl
分享文本:
- shareType(SHARE_TEXT) title text
分享圖片:
- shareType(SHARE_IMAGE) title text imagePath
- shareType(SHARE_IMAGE) title text imageUrl
- shareType(SHARE_IMAGE) title text imageData
分享網頁:
- shareType(SHARE_WEBPAGE) title text imagePath url(消息點擊後打開的頁面)
- shareType(SHARE_WEBPAGE) title text imageUrl url(消息點擊後打開的頁面)
- shareType(SHARE_WEBPAGE) title text imageData url(消息點擊後打開的頁面)
android apk獲取root權限執行相應的操作
在apk中,有時候需要root權限,例如通過apk更新系統庫等system的文件等,避免升級固件,或者在apk中需要直接訪問某些設備等。下面是在apk中獲取root權限的
Android中關於Adapter的使用(上)ArrayAdapter
在Android應用的開發中,ListView是最常用的一個列表顯示控件,微博,聯系人啊,反正只要涉及多數據展示的情況,都會用到ListView(另外就是GridView
詳解Android 通過Socket 和服務器通訊(附demo)
Android 通過Socket 和服務器通訊,是一種比較常用的通訊方式,時間比較緊,說下大致的思路,希望能幫到使用socket 進行通信的人(1)開啟一個線程發送消息&
Android:ImageView
ImageViewImageView,圖像視圖,直接繼承自View類,它的主要功能是用於顯示圖片,實際上它不僅僅可以用來顯示圖片,任何Drawable對象都可以使用Ima
Android Meterial Design-Defining Shadows and Clipping Views(定義陰影和裁剪視圖)-(四)
Material Design引入了深度的UI元素。深入幫