微信java代碼
『壹』 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 加密代碼是否有問題
你好!
微信 java 加密代碼是沒有問題的,如果是你自己寫的代碼的話那就不好說了,最主要的是看你寫的代碼是什麼樣的,寫代碼很可能錯一個標點符號都會錯一大片。任何代碼都是會有漏洞的,只是要看什麼樣的人來做了。
希望能夠幫到你!!!
『叄』 微信裡面有沒有cookie,怎麼創建cookie,獲取cookie,用Java編碼
綜述:Cookie是由伺服器端生成,發送給User-Agent(一般是瀏覽器),瀏覽器會將Cookie的key/value保存到某個目錄下的文本文件內,下次請求同一網站時就發送該Cookie給伺服器(前提是瀏覽器設置為啟用cookie)。Cookie名稱和值可以由伺服器端開發自己定義,對於JSP而言也可以直接寫入jsessionid,這樣伺服器可以知道該用戶是否合法用戶以及是否需要重新登錄等,伺服器可以設置或讀取Cookies中包含信息,藉此維護用戶跟伺服器會話中的狀態。
1.獲取Cookie的值:獲取Cookie值的標准代碼格為:myCookie.Values["auth"];
上句代碼可以獲取名為myCookie的Cookie對象鍵名為auth的鍵值。如果不存在,則返回null。
DateTime now=new DateTime.Now;
Response.Cookies["Info"].Expires = DateTime.Now.AddDays(1);
//設定Cookie過期時間下面的代碼示例演示刪除應用程序中所有可用 Cookie 的一種方法
2.代碼如下:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
3.以上就是Java程序開發中涉及到的獲取cookie方法
『肆』 小程序後台獲取openId解密的java代碼怎麼寫
一、獲取code
將code作為參數傳遞過來
//如果有code,說明是微信小程序,根據code獲取openId
//classify用於標識是哪個小程序
if (!CheckUtil.checkNulls( keUser.getCode(),keUser.getClassify())){
//
String openid = OpenIdUtil.oauth2GetOpenid(keUser.getCode(),keUser.getClassify());
printParamsLog(openid, logger);
keUser.setUserId(openid);
}1234567812345678
二、工具類
package com.util;
import net.sf.json.JSONObject;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import java.util.HashMap;
import java.util.Map;
/**
* @author xsx
*/
public class OpenIdUtil {
public static String oauth2GetOpenid(String code,String classify) {
String appid="";
String appsecret="";
switch (classify){
case "1":
//自己的配置appid
appid = "**********";
//自己的配置APPSECRET;
appsecret = "**********";
break;
case "2":
appid = "**********";
appsecret = "************";
break;
case "3":
appid = "**********";
appsecret = "************";
break;
case "4":
appid = "**********";
appsecret = "************";
break;
case "5":
appid = "**********";
appsecret = "************";
}
//授權(必填)
String grant_type = "authorization_code";
//URL
String requestUrl = "https://api.weixin.qq.com/sns/jscode2session";
//請求參數
String params = "appid=" + appid + "&secret=" + appsecret + "&js_code=" + code + "&grant_type=" + grant_type;
//發送請求
String data = HttpUtil.get(requestUrl, params);
//解析相應內容(轉換成json對象)
JSONObject json = JSONObject.fromObject(data);
//用戶的唯一標識(openid)
String Openid =String.valueOf(json.get("openid"));
//System.out.println(Openid);
return Openid;
}
}
555657585960
三、發送請求的工具類
package com.util;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
/**
* @author xsx
*/
public class HttpUtil {
/**
* 向指定URL發送GET方法的請求
*
* @param url
* 發送請求的URL
* @param param
* 請求參數,請求參數應該是 name1=value1&name2=value2 的形式。
* @return String 所代表遠程資源的響應結果
*/
public static String get(String url,String param){
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
//System.out.println(urlNameString);
URL realUrl = new URL(urlNameString);
// 打開和URL之間的連接
URLConnection connection = realUrl.openConnection();
// 設置通用的請求屬性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立實際的連接
connection.connect();
// 獲取所有響應頭欄位
Map<String, List<String>> map = connection.getHeaderFields();
// 遍歷所有的響應頭欄位
/*for (String key : map.keySet()) {
System.out.println(key + "--->" + map.get(key));
}*/
// 定義 BufferedReader輸入流來讀取URL的響應
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("發送GET請求出現異常!" + e);
e.printStackTrace();
}
// 使用finally塊來關閉輸入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
}
『伍』 java微信關鍵字回復獲取不到消息內容
這里說的關鍵字回復只是對消息回復功能的應用化,這里我在【文本類型消息】下實現,其大致思路是:首先獲取到消息文本的內容content,然後更具獲取content去匹配自己需要設定的關鍵字,然後根據匹配到的不同結果給出不同的消息回復,簡單代碼如下:
Stringopenid=map.get("FromUserName");//用戶openidStringmpid=map.get("ToUserName");//公眾號原始ID//普通文本消息TextMessagetxtmsg=newTextMessage();txtmsg.setToUserName(openid);txtmsg.setFromUserName(mpid);txtmsg.setCreateTime(newDate().getTime());txtmsg.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);if(map.get("MsgType").equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)){//文本消息Stringcontent=map.get("Content");if("1".equals(content)){txtmsg.setContent("你好,你發送的內容是1!");}elseif("2".equals(content)){txtmsg.setContent("你好,你發送的內容是2!");}elseif("3".equals(content)){txtmsg.setContent("你好,你發送的內容是3!");}elseif("4".equals(content)){txtmsg.setContent("<ahref="http://www.cuiyong.com">崔用志博客</a>");}else{txtmsg.setContent("你好,歡迎來到崔用志博客!");}returnMessageUtil.textMessageToXml(txtmsg);}
基本關鍵字回復的邏輯就是這樣,你可以根據自己的需要設置自己的關鍵字以及實現流程,最終運行結果如下:
『陸』 java實現微信發送消息
net的我有 java的還沒看呢 給你說說原理 通過開發者id 或者關注者列表 然後通過用戶openid(用戶唯一標示)向用戶發送客服消息 他這個通道是走的客服消息 ,前提是必須關注者主動向公眾號發過消息 時限為24h
『柒』 java寫的代碼怎樣接入到微信中
簡單地,寫JSP。具體的接入,請到其官網,看開發文檔,官網的例子是PHP,用JSP實現即可
『捌』 微信是用什麼語言開發的
一般安卓手機的應用軟體目前都是以Java為主的程序語言開發的,包括微信。
許多的Android應用都是Java程序員開發者開發。雖然 Android運用了不同的JVM以及不同的封裝方式,但是代碼還是用Java語言所編寫。相當一部分的手機中都支持JAVA游戲,這就使很多非編程人員都認識了JAVA。
(8)微信java代碼擴展閱讀
Java 語言是一門隨時代快速發展的計算機語言程序,其深刻展示了程序編寫的精髓,加上其簡明嚴謹的結構及簡潔的語法編寫為其將來的發展及維護提供了保障。由於提供了網路應用的支持和多媒體的存取,會推動Internet和企業網路的Web的應用 。
另外,為了保持Java的增長和推進Java社區的參與,Sun公司在Java One開發者大會上宣布開放Java核心源代碼,以鼓勵更多的人參與到Java社團活動中。來自Java社團和IBM等全球技術合作夥伴兩方面的支持,
Java技術在創新和社會進步上繼續發揮強有力的重要作用,並且隨著其程序編寫難度的降低使得更多專業人員將精力放置於Java語言的編寫與框架結構的設計中。
『玖』 如何用java開發微信
說明:
本次的教程主要是對微信公眾平台開發者模式的講解,網路上很多類似文章,但很多都讓初學微信開發的人一頭霧水,所以總結自己的微信開發經驗,將微信開發的整個過程系統的列出,並對主要代碼進行講解分析,讓初學者盡快上手。
在閱讀本文之前,應對微信公眾平台的官方開發文檔有所了解,知道接收和發送的都是xml格式的數據。另外,在做內容回復時用到了圖靈機器人的api介面,這是一個自然語言解析的開放平台,可以幫我們解決整個微信開發過程中最困難的問題,此處不多講,下面會有其詳細的調用方式。
1.1 在登錄微信官方平台之後,開啟開發者模式,此時需要我們填寫url和token,所謂url就是我們自己伺服器的介面,用WechatServlet.java來實現,相關解釋已經在注釋中說明,代碼如下:
[java]view plain
packagedemo.servlet;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importdemo.process.WechatProcess;
/**
*微信服務端收發消息介面
*
*@authorpamchen-1
*
*/
{
/**
*ThedoGetmethodoftheservlet.<br>
*
*.
*
*@paramrequest
*
*@paramresponse
*
*@throwsServletException
*ifanerroroccurred
*@throwsIOException
*ifanerroroccurred
*/
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
/**讀取接收到的xml消息*/
StringBuffersb=newStringBuffer();
InputStreamis=request.getInputStream();
InputStreamReaderisr=newInputStreamReader(is,"UTF-8");
BufferedReaderbr=newBufferedReader(isr);
Strings="";
while((s=br.readLine())!=null){
sb.append(s);
}
Stringxml=sb.toString();//次即為接收到微信端發送過來的xml數據
Stringresult="";
/**判斷是否是微信接入激活驗證,只有首次接入驗證時才會收到echostr參數,此時需要把它直接返回*/
Stringechostr=request.getParameter("echostr");
if(echostr!=null&&echostr.length()>1){
result=echostr;
}else{
//正常的微信處理流程
result=newWechatProcess().processWechatMag(xml);
}
try{
OutputStreamos=response.getOutputStream();
os.write(result.getBytes("UTF-8"));
os.flush();
os.close();
}catch(Exceptione){
e.printStackTrace();
}
}
/**
*ThedoPostmethodoftheservlet.<br>
*
*
*post.
*
*@paramrequest
*
*@paramresponse
*
*@throwsServletException
*ifanerroroccurred
*@throwsIOException
*ifanerroroccurred
*/
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
<?xmlversion="1.0"encoding="UTF-8"?>
<web-appversion="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<description></description>
<display-name></display-name>
<servlet-name>WechatServlet</servlet-name>
<servlet-class>demo.servlet.WechatServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WechatServlet</servlet-name>
<url-pattern>/wechat.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
packagedemo.process;
importjava.util.Date;
importdemo.entity.ReceiveXmlEntity;
/**
*微信xml消息處理流程邏輯類
*@authorpamchen-1
*
*/
publicclassWechatProcess{
/**
*解析處理xml、獲取智能回復結果(通過圖靈機器人api介面)
*@paramxml接收到的微信數據
*@return最終的解析結果(xml格式數據)
*/
publicStringprocessWechatMag(Stringxml){
/**解析xml數據*/
ReceiveXmlEntityxmlEntity=newReceiveXmlProcess().getMsgEntity(xml);
/**以文本消息為例,調用圖靈機器人api介面,獲取回復內容*/
Stringresult="";
if("text".endsWith(xmlEntity.getMsgType())){
result=newTulingApiProcess().getTulingResult(xmlEntity.getContent());
}
/**此時,如果用戶輸入的是「你好」,在經過上面的過程之後,result為「你也好」類似的內容
*因為最終回復給微信的也是xml格式的數據,所有需要將其封裝為文本類型返回消息
**/
result=newFormatXmlProcess().formatXmlAnswer(xmlEntity.getFromUserName(),xmlEntity.getToUserName(),result);
returnresult;
}
}
packagedemo.entity;
/**
*接收到的微信xml實體類
*@authorpamchen-1
*
*/
publicclassReceiveXmlEntity{
privateStringToUserName="";
privateStringFromUserName="";
privateStringCreateTime="";
privateStringMsgType="";
privateStringMsgId="";
privateStringEvent="";
privateStringEventKey="";
privateStringTicket="";
privateStringLatitude="";
privateStringLongitude="";
privateStringPrecision="";
privateStringPicUrl="";
privateStringMediaId="";
privateStringTitle="";
privateStringDescription="";
privateStringUrl="";
privateStringLocation_X="";
privateStringLocation_Y="";
privateStringScale="";
privateStringLabel="";
privateStringContent="";
privateStringFormat="";
privateStringRecognition="";
publicStringgetRecognition(){
returnRecognition;
}
publicvoidsetRecognition(Stringrecognition){
Recognition=recognition;
}
publicStringgetFormat(){
returnFormat;
}
publicvoidsetFormat(Stringformat){
Format=format;
}
publicStringgetContent(){
returnContent;
}
publicvoidsetContent(Stringcontent){
Content=content;
}
publicStringgetLocation_X(){
returnLocation_X;
}
publicvoidsetLocation_X(StringlocationX){
Location_X=locationX;
}
publicStringgetLocation_Y(){
returnLocation_Y;
}
publicvoidsetLocation_Y(StringlocationY){
Location_Y=locationY;
}
publicStringgetScale(){
returnScale;
}
publicvoidsetScale(Stringscale){
Scale=scale;
}
publicStringgetLabel(){
returnLabel;
}
publicvoidsetLabel(Stringlabel){
Label=label;
}
publicStringgetTitle(){
returnTitle;
}
publicvoidsetTitle(Stringtitle){
Title=title;
}
publicStringgetDescription(){
returnDescription;
}
publicvoidsetDescription(Stringdescription){
Description=description;
}
publicStringgetUrl(){
returnUrl;
}
publicvoidsetUrl(Stringurl){
Url=url;
}
publicStringgetPicUrl(){
returnPicUrl;
}
publicvoidsetPicUrl(StringpicUrl){
PicUrl=picUrl;
}
publicStringgetMediaId(){
returnMediaId;
}
publicvoidsetMediaId(StringmediaId){
MediaId=mediaId;
}
publicStringgetEventKey(){
returnEventKey;
}
publicvoidsetEventKey(StringeventKey){
EventKey=eventKey;
}
publicStringgetTicket(){
returnTicket;
}
publicvoidsetTicket(Stringticket){
Ticket=ticket;
}
publicStringgetLatitude(){
returnLatitude;
}
publicvoidsetLatitude(Stringlatitude){
Latitude=latitude;
}
publicStringgetLongitude(){
returnLongitude;
}
publicvoidsetLongitude(Stringlongitude){
Longitude=longitude;
}
publicStringgetPrecision(){
returnPrecision;
}
publicvoidsetPrecision(Stringprecision){
Precision=precision;
}
publicStringgetEvent(){
returnEvent;
}
publicvoidsetEvent(Stringevent){
Event=event;
}
publicStringgetMsgId(){
returnMsgId;
}
publicvoidsetMsgId(StringmsgId){
MsgId=msgId;
}
publicStringgetToUserName(){
returnToUserName;
}
publicvoidsetToUserName(StringtoUserName){
1.2 相應的web.xml配置信息如下,在生成WechatServlet.java的同時,可自動生成web.xml中的配置。前面所提到的url處可以填寫例如:http;//伺服器地址/項目名/wechat.do
[html]view plain
1.3 通過以上代碼,我們已經實現了微信公眾平台開發的框架,即開通開發者模式並成功接入、接收消息和發送消息這三個步驟。
下面就講解其核心部分——解析接收到的xml數據,並以文本類消息為例,通過圖靈機器人api介面實現智能回復。
2.1 首先看一下整體流程處理代碼,包括:xml數據處理、調用圖靈api、封裝返回的xml數據。
[java]view plain
2.2 解析接收到的xml數據,此處有兩個類,ReceiveXmlEntity.java和ReceiveXmlProcess.java,通過反射的機制動態調用實體類中的set方法,可以避免很多重復的判斷,提高代碼效率,代碼如下:
[java]view plain
『拾』 微信小程序java源代碼的研發需要注意哪些問題
符合微信小程序官方開發規則非常重要。 如果是個人開發微信小程序可能會面臨許多困難,所以建議在開發微信小程序的時候,借力微信第三方開發商,比如:贏在移動