當前位置:首頁 » 編程語言 » java分享

java分享

發布時間: 2022-02-10 05:26:52

『壹』 java怎麼實現微信分享到朋友圈功能

申請應用 AppKey
申請方法:訪問友推網站後台,登錄後進入應用列表,添加需要集成友推組件的 App,如下圖,添加成功後可獲取應用的 AppKey。
如何把app分享到微信
2
申請社交平台appkey
集成前您需要為您的應用在各大社交網站的開放平台申請賬號並通過審核,否則只能調用系統的分享菜單,無法跟蹤分享的回調事件及統計平台
如何把app分享到微信
3
引用youtui庫項目
將youtui-lib項目庫和應用工程放在同一個目錄下
在 Package Explorer 中右鍵點擊工程的根目錄,選擇 Properties(屬性),然後點擊,在Android選項點擊Add添加youtui-lib
如何把app分享到微信
4
注冊需要分享的平台
1.配置各分享平台key,該配置文件為youtui_sdk.xml,配置完放入工程的assets文件夾
2.如果需要分享到哪個平台就將該平台的Enable屬性設置為true.
3.如果需要將某個平台排列到前面,只需要改變它在youtui_sdk.xml文件中的位置即可。
5
各平台需要注意的事項:
新浪微博:
新浪微博需要驗證應用簽名,請一定要在新浪開放平台管理中心應用信息 -> 基本信息 -> Android簽名包名信息 配置該信息
每次包名變化或者使用的.keystore變化都會導致應用簽名變化,請重新到新浪微博開放平台設置。
運行Demo時如果重新編譯,因為使用的.keystore文件變化也會導致應用簽名變化,導致Demo新浪微博分享無法正常工作,請運行Demo時使用Demo工程包中提供的debug.keystore替換C:\Users\Administrator.android中的debug.keystore文件
微信和朋友圈:
微信和朋友圈也需要驗證應用簽名,請在微信開放平台管理中心修改應用 -> 開發信息配置。
QQ和QQ空間:
QQ和QQ空間使用的是騰訊開放平台api,請在騰訊開放平台申請賬號和注冊應用,請不要使用QQ互聯(用於網站賬號登錄)的配置,雖然都是騰訊的,但是兩個平台並不通用,除了需要在youtui_sdk.xml配置信息,還需要在manifest文件中的android:scheme中的tencent後的一串數字換成自己應用的appid。
<?xml version="1.0" encoding="utf-8"?>
最後一行配置說明:選用調用系統分享菜單功能
在AndroidManifest.xml 注冊許可權
在 AndroidManifest.xml 注冊需要的Activity
微信和朋友圈回調設置
如果需要分享微信和朋友圈,必需建一個 應用包名+ .wxapi 的包,在該包下建 WXEntryActivity.java,將該類繼承cn.bidaround.youtui.wxapi.WXEntryActivity即可(裡面不用寫代碼)
public class WXEntryActivity extends cn.bidaround.youtui.wxapi.WXEntryActivity { }
如圖:(將com.xingxinglangtuoche替換成你應用的package名,微信回調會使用到)
如何把app分享到微信
初始化友推
開發者請在自己的程序開始,最好是在MainActivity的onCreate方法調用YtTemplate.init(this)初始化友推sdk,這樣友推sdk才能進行後續調用(否則分享等操作會出現空指針異常),例如:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); YtTemplate.init(this);/初始化友推/ initView(); } 應用退出時:
在您項目的出口Activity的 onDestroy 方法的第一行插入下面的代碼 YtTemplate.release(this); 此方法用於釋放內存,統計用戶使用情況,一旦調用了release,就必須重新調用init才能使用友推的功能,否則會出現空指針異常;
創建 ShareData 實例,調用該實例的set方法設置需要分享的數據: 創建ShareData實例,調用該實例的set方法設置自己需要分享的數據,關於該實例具體內容見下文,如果只是分享應用則只需要設置 setIsAppShare(true) 就可以分享應用在友推後台填寫的信息和下載鏈接。
ShareData 包含的欄位:
isAppShare text imagePath imageUrl description title target_url 判斷是否為分享應用 待分享的文字,簡訊要小於70個字元,微博要小於140個字元,如果需要分享鏈接,最好將鏈接url放在最後 待分享的本地圖片地址,分享圖片的話需要在本地和網路圖片中選一,如果都有則優先分享本地圖片 待分享網路圖片url,分享圖片的話需要在本地和網路圖片中選一,如果都有則優先分享本地圖片 待分享內容的描述 待分享內容的標題 待分享內容的跳轉鏈接
通過創建該類實例,調用實例的set方法設置這些參數,例如:
ShareData shareData = new ShareData(); shareData.isAppShare = false;//設置為true則分享的信息從友推後台填寫的應用信息中讀取,可動態更新,後面的值不用設置。 shareData.setDescription("友推積分組件"); shareData.setTitle("友推分享"); shareData.setText("通過友推積分組件,開發者幾行代碼就可以為應用添加分享送積分功能,並提供詳盡的後台統計數據,除了本身具備的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,");
shareData.setTarget_url("");
shareData.setImageUrl("");
shareData.setImagePath("");
各個平台分享數據的限制和注意事項:
因為各個平台的分享限制,請分享時盡量分享圖片+鏈接,依靠鏈接來了解更多信息
1) 微信 朋友圈 微信分享為linkcard形式,超出的文字部分不會顯示
2) 新浪微博 很低版本的新浪微博不支持發多類型微博,進行圖文分享時只會分享圖片,新浪微博分享消息最長為140字
3) QQ、QQ空間 QQ分享的消息最長40字,分享的標題最長30字,多餘的部分將被忽略,description將被忽略 QQ空間分享的消息最長200字,分享的標題最長600字,多餘的部分將被忽略,description將被忽略
4) 騰訊微博 只有image(imagePath或imageUrl)和text被分享,其他欄位忽略,騰訊微博分享消息最長為140字
5) 人人網 只有image(imagePath或imageUrl)和text被分享,其他欄位忽略
6) 簡訊 只有text被分享,其他欄位忽略
7) 郵件 只有text被分享,其他欄位忽略
如何把app分享到微信
調用友推分享推薦組件
為應用添加一個分享推薦按鈕,如:
如何把app分享到微信
在分享按鈕事件中調用youtui的組件即可,示例代碼:
public void onClick(View v) { if(v.getId()==R.id.popup_bt)
{ /調用友推分享推薦組件,YouTuiViewType類的常量為分享樣式參數,目前支持白色列表和黑色網格兩種/ /創建分享的模板,第一個參數為activity,第二個參數為分享窗口樣式,第三個參數為是否需要積分/
YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.BLACK_POPUP,false); //黑色網格樣式不需要積分活動 /YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.WHITE_LIST,ture);/ //白色列表樣式需要積分活動
ShareData shareData = new ShareData();
shareData.isAppShare = false;//設置為true則分享的信息從友推後台填寫的應用信息中讀取,可動態更新後面的值不用設置。
shareData.setDescription("友推積分組件");
shareData.setTitle("友推分享");
shareData.setText("通過友推積分組件,開發者幾行代碼就可以為應用添加分享送積分功能,並提供詳盡的後台統計數據,除了本身具備的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,快來試試吧 ");
shareData.setTarget_url("");
shareData.setImageUrl("");
shareData.setImagePath("");
blackTemp.setShareData(shareData);//設置默認的分享數據;shareData 設置參看4.6
//**如果要為某個平台設置不一樣的分享信息。則單獨設置*/ //blackTemp.addData(YtPlatform.PLATFORM_QQ, shareData); //調出分享窗口 blackTemp.show();
//如果需要自定義分享事件,可以創建監聽事件,然後在回調中處理 YtShareListener listener1 = new YtShareListener() {
@Override
public void onSuccess(ErrorInfo arg0)
{
}
@Override public void onPreShare()
{
}
@Override
public void onError(ErrorInfo arg0)
{
}
@Override
public void onCancel() {
}
};//給新浪微博添加分享監聽 blackTemp.addListener(YtPlatform.PLATFORM_SINAWEIBO, listener1);
//給QQ添加分享監聽 //
blackTemp.addListener(YtPlatform.PLATFORM_QQ, listener2); }

『貳』 用java 實現分享功能,在分享頁面中如何加一些自己的一些內容

例如騰訊微博的分享嗎
可以用HttpURLConnection做

『叄』 分享java知識什麼好

1.多線程並發
多線程是Java中普遍認為比較難的一塊。多線程用好了可以有效提高cpu使用率, 提升整體系統效率, 特別是在有大量IO操作阻塞的情況下;但是它也是一柄雙刃劍, 如果用不好,系統非但提升不大,或者沒有提升,而且還會帶來多線程之間的調試時等問題。
在多線程中內容有很多,只是簡單說明一下Java中初步使用多線程需要掌握的知識點,以後有機會單獨再詳細介紹一些高級特性的使用場景。
多線程的實現和啟動
callable 與 runable 區別
syncrhoized ,reentrantLock 各自特點和比對
線程池
future 非同步方式獲取執行結果
concurrent 包
lock

2.網路
Java 中也是提供了可以直接操作 TCP協議、UDP協議的API。在需要強調網路性能的情況下,可以直接使用TCP/UDP 進行通訊。在查看Tomcat等的源碼中,就可以看到這些相關API的使用情況。不過一般也比較少會直接使用TCP,會使用諸如MINA、Netty這樣 的框架來進行處理,因為這個方面的開發涉及不多,所以就不再詳細羅列了。

3.時間日期處理
幾乎對於每個應用來說,時間日期的處理也是繞不過去的,但是JDK8 之前的時間相關API用法並不友好。在那個時代,可以選擇Joda等時間框架。到了JDK8 發布之後,全新的時間API基本融合了其他框架的優點,已經可以很好的直接使用了。
對於Java開發者來說,需要熟練地使用API來對時間和日期做相關的處理。
具體知識點不再羅列,會在以後再寫個專門的文章來總結一下JDK8中時間日期API的用法

4.XML解析/ JSON解析
其實這兩塊內容都不是J2SE裡面的內容,但是在日常開發中,和其他程序交互,和配置文件交互,越來越離不開這兩種格式的解析。
不過對於一個開發者來說,能夠了解一些XML/JSON具體解析的原理和方法,有助於你在各個具體的場景中更好的選擇合適你的方式來使得你的程序更有效率和更加健壯。
XML: 需要了解 DOM解析和 SAX解析的基本原理和各自的適用場景
JSON: 需要了解一些常用JSON框架的用法, 如 Jackson, FastJson, Gson 等。

5.Maven的使用
Maven 也不是Java裡面的內容,但是maven是革命性的,給java開發帶來了巨大的便利。從依賴的引入和管理,開發流程的更新和發布產出,乃至版本的更 新,使用maven可以大大簡化開發過程中的復雜度,從而節省大量時間。可以說,maven已經成為java開發者的標配了。所以我把maven也作為一 個java開發者對於基礎必備的知識點。以後會再放上一些我的一些對於maven使用的經驗和技巧等,這里就不再細說了。

6.泛型
這是JDK5開始引入的新概念,其實是個語法糖,在編寫java代碼時會有些許便利, 一般的應用或者是業務的開發,只需要簡單使用,不一定會用到定義泛型這樣的操作, 但是開發一些基礎公共組件會使用到,可以在需要的時候再細看這個部分,一般情況下只要會簡單使用即可。現在很多夥伴想學習編程,但學習的過程枯燥又迷茫,不知道怎麼學,給想要學習Java的夥伴推薦一個學習的地方,每天晚上在線直播教學。學習Java的群,一一六,八零四,二零八,不是學習的就不要加入了。

7.標注
也是jdk5 之後引入的。Spring是個優秀的框架,最開始就以xml作為標準的配置文件。不過到了Spring3 之後,尤其是 spring-boot 興起之後,越來越推崇使用標注來簡化xml配置文件了,對於開發者來說,可以節省不少xml配置的時間。但是劣勢是在於標注散落在各個類中,不像xml, 可以對所有配置有個全局性的理解和管理,所以還沒有辦法說完全就取代所有的xml。對於一般開發者,會使用標注即可,一些公共組建的開發者可能會需要了解 標注的定義和實現,可以在具體需要的時候再細看。

8.RMI
RemoteMethodInvocation ,Java語言特有的遠程調用介面,使用還是比較簡單方便。不過需要跨語言的情況下,就需要使用 webservice 等其他方式來支持。一般來說,程序都不需要使用RMI,不過可以在特定的情況下使用,我就在一個項目中,使用RMI來進行程序遠程啟動停止的控制。

9.JNI
Java Native Interface,可以允許Java中調用本地介面方法,一般用於C/C++代碼的調用。需要注意的是在java中載入so/dll文件的路徑問題,本身調用介面並不復雜,但是經常在是否載入了所需的本地介面庫中花費較多時間。

『肆』 Java如何把東西分享到QQ或搜狐上

根據QQ和搜狐上提供的借口,按照他們格式傳一個json過去就可以了。

『伍』 java的代碼分享網站有哪些

網路知道,搜索一下關鍵字, 絕對比外面都強,因為回答都詳細解釋了,而外面的代碼幾乎沒有注釋,不適合新手,比如搜電商系統,就會有很多回答。

『陸』 java如何實現百度網盤的分享邏輯

明白網盤存儲原理。並不是給你開辟你的私有盤,所有人的數據都存在一個盤里。大家都對這個盤可以讀寫。為了區分東西都是誰的。在表結構中有文件(id)和所屬人+(共享人)這三個欄位。當我把文件共享給你的時候。就是把文件(id)+所屬人+(共享人,你)這個條數據修改一下。你可以選擇保存到你本地,那就是文件復制,新的文件id+所屬人(你)。

『柒』 在java中,怎樣實現分享功能

你想分享到那個平台,就去那個平台的開放平台,一般都有詳細的開發規范和開發流程

『捌』 項目中有分享鏈接到朋友圈是怎麼做到的在Java中一般都是怎麼處理這類型的問題

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>喝喝</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script>
var imgUrl = '

var lineLink = '

var descContent = "萬達狂歡節, 奪寶幸運星大抽獎活動開始啦!";
var shareTitle = '萬達狂歡節';
var appid = 'wxc9937e3a66af6dc8';
function shareFriend() {
WeixinJSBridge.invoke('sendAppMessage',{
"appid": appid,
"img_url": imgUrl,
"img_width": "640",
"img_height": "640",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
_report('send_msg', res.err_msg);
})
}
function shareTimeline() {
WeixinJSBridge.invoke('shareTimeline',{
"img_url": imgUrl,
"img_width": "640",
"img_height": "640",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
_report('timeline', res.err_msg);
});
}
function shareWeibo() {
WeixinJSBridge.invoke('shareWeibo',{
"content": descContent,
"url": lineLink,
}, function(res) {
_report('weibo', res.err_msg);
});
}
// 當微信內置瀏覽器完成內部初始化後會觸發WeixinJSBridgeReady事件。
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
// 發送給好友
WeixinJSBridge.on('menu:share:appmessage', function(argv){
shareFriend();
});
// 分享到朋友圈
WeixinJSBridge.on('menu:share:timeline', function(argv){
shareTimeline();
});
// 分享到微博
WeixinJSBridge.on('menu:share:weibo', function(argv){
shareWeibo();
});
}, false);
</script>
</head>

<body>
<!-- <script>
var imgUrl = "

var lineLink = "

var descContent = '測試別當真';
var shareTitle = '分享';
var appid = 'wx1259b351c201841d';
function shareFriend() {
WeixinJSBridge.invoke('sendAppMessage',{
"appid": appid,
"img_url": imgUrl,
"img_width": "200",
"img_height": "200",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
//_report('send_msg', res.err_msg);
});
}
function shareTimeline() {
WeixinJSBridge.invoke('shareTimeline',{
"img_url": imgUrl,
"img_width": "200",
"img_height": "200",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
//_report('timeline', res.err_msg);
});
}
function shareWeibo() {
WeixinJSBridge.invoke('shareWeibo',{
"content": descContent,
"url": lineLink,
}, function(res) {
//_report('weibo', res.err_msg);
});
}
// 當微信內置瀏覽器完成內部初始化後會觸發WeixinJSBridgeReady事件。
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
// 發送給好友
WeixinJSBridge.on('menu:share:appmessage', function(argv){
shareFriend();
});
// 分享到朋友圈
WeixinJSBridge.on('menu:share:timeline', function(argv){
shareTimeline();
});
// 分享到微博
WeixinJSBridge.on('menu:share:weibo', function(argv){
shareWeibo();
});
}, false);
</script> -->
<h1>呵呵呵呵</h1>
</body>
</html>

『玖』 java web怎樣實現分享到微信

微信java內嵌瀏覽器通過Mac遠程調試iPhone上微信自己的網頁分享。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:333
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:374
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:609
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:29
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:104
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:940
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:736
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:800
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:507
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:369