在自己的應用中添加微博分享功能很早之前都有想做了,最先的想法是做一個二維碼掃描,然后將掃描結果直接分享到微博上面,結果前一段時間做了二維碼的掃描后擱置了一段時間,就把微博分享這東西拖到了現在。
新浪微博分享可以通過三個方式完成:
1.從第三方應用喚起微博客戶端進行分享
2.從微博客戶端喚起第三方應用進行分享
3.使用OpenAPI進行分享
這三個方法各有各好處,也各有各缺點。對於剛開始研究微博SDK來說,先從簡單的做起比較容易入手,這里我就采用了第一種方式來實現分享功能。整個應用實現起來很簡單,先放置一個EditText控件接收用戶輸入的分享內容,接着放置一個Button按鈕並監聽其OnClick事件,在事件中實例化一個Intent,設置傳遞的數據為用戶在EditText中輸入的內容。當用戶輸入完畢,並點擊分享按鈕,系統彈出擁有分享功能的通訊軟件,選擇新浪微博客戶端(該方法的實現必要要求用戶設備已經安裝微博客戶端),再點擊發送,無須跳轉到客戶端界面即可發送微博。
部分源碼如下:
Button share=(Button)findViewById(R.id.myButton1); final EditText text=(EditText)findViewById(R.id.myText1);//將text對象設置為final類型 share.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(Intent.ACTION_SEND); intent.setType("image/*"); intent.putExtra(Intent.EXTRA_SUBJECT, "Share"); intent.putExtra(Intent.EXTRA_TEXT, text.getText().toString()); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(Intent.createChooser(intent, getTitle())); } });
效果圖如下:
點擊分享按鈕,跳出具有窗口選擇微博客戶端:
跳轉到微博發送界面,微博內容自動填充為用戶在第三方應用輸入的內容。
使用微博客戶端檢查微博發送情況:
總結:畢業回家也有差不多一個月了,前幾天開始着手工作的事就想到把這個很久之前的想法給做出來,給了自己三天的期限,現在是凌晨一點過一點,對自己來說,也算是完成了目標吧。ps:新浪微博提供的官方SDK開發文檔和demo都不太好用,開發文檔里面就20頁內容,設計了所有的新浪微博可以開發的內容,所以每個部分都是點到即止,有些東西甚至都沒出現過。開發文檔依靠不上,就想着去讀源碼,可源碼讀幾遍下來也是一頭霧水,一方面,源碼有點多,另一方面,感覺有點亂,反正感覺讀起來很不順,也許是理解力問題吧。不管了,慢慢來吧,后期再去研究下使用OpenAPI來實現分享功能。