編輯:關於Android編程
新版本ShareSDK的分享和短信驗證,按官網的文檔,都需要添加一個標簽,而分享和短息驗證的這個標簽內容都一樣。會沖突。
解決辦法:分享用舊版本,短信驗證用新版本。後面會有解決辦法。
導入工程見初識ShareSDK——嵌入和登陸
OnekeyShare oks = new OnekeyShare(); //所有SSO都是針對新浪微博d oks.disableSSOWhenAuthorize(); oks.setSilent(true);如果沒有指定分享平台,則默認所有平台都會跳出。
oks.setPlatform(platformName);
一些需要注意的,注釋已經很詳細了。
//分享時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("我是分享文本"); // imagePath是圖片的本地路徑,Linked-In以外的平台都支持此參數(如果本地沒有,則後面的語句不會執行) //oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片 //oks.setImageUrl("=");//網絡路徑 QQ空間有時候分享不成功(權限問題) // 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"); //設置經緯度(可根據定位獲取) //oks.setLatitude(latitude); //oks.setLongitude(longitude); //啟動分享GUI(圖形用戶界面) oks.show(this);
官網下載SDK
將SMS文件夾下的SMSSDK文件拷貝到工程裡,作為library導入。
添加權限:
SMSSDK.initSDK(this, APP_KEY, APP_SECRET); RegisterPage page = new RegisterPage(); page.setRegisterCallback(new EventHandler(){ @Override public void afterEvent(int event, int result, Object data) { if(result == SMSSDK.RESULT_COMPLETE){ HashMapphoneMap = (HashMap ) data; String country = (String) phoneMap.get("country"); String phone = (String) phoneMap.get("phone"); // 提交用戶信息,這個方法是獲取了手機後,你想采取的操作。 //registerUser(country, phone); System.out.println(country+phone); } } }); page.show(this);
自定義短信驗證界面
都是官網的文檔
將private EventHandler eh;聲明為全局,為了在Activity的onDestroy()裡,對EventHandler注銷驗證SMSSDK.unregisterEventHandler(eh);
eh=new EventHandler(){ @Override public void afterEvent(int event, int result, Object data) { if (result == SMSSDK.RESULT_COMPLETE) { //回調完成 if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) { //提交驗證碼成功 System.out.println("成功!"); }else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){ //獲取驗證碼成功 System.out.println("獲取驗證碼成功"); }else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){ //返回支持發送驗證碼的國家列表 } }else{ ((Throwable)data).printStackTrace(); } } }; SMSSDK.registerEventHandler(eh); //注冊短信回調
//獲取短信驗證 btn_num.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if (!TextUtils.isEmpty(et_num.getText().toString())) { SMSSDK.getVerificationCode("86", et_num.getText() .toString()); } } }); //把短信裡的驗證碼提交到服務器 btn_code.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { SMSSDK.submitVerificationCode("86",et_num.getText().toString(), et_code.getText().toString()); } });
文檔地址:無gui接口調用
這是效果主要是onTouchListener監聽事件,監視什麼時候滑到底部同時要理解getMeasuredHeight和getHeight的區別getMeasuredHe
昨天晚上我看了Google training裡面Manage the Activity Lifecycle這一節,看了以後學到很多以前看書,看視頻都沒有了解過的東西,Go
高德地圖提供全國地圖浏覽,地點搜索,交駕車查詢服務。可同時查看商家團購、優惠信息。當你在使用高德地圖中定位失敗後,許多功能都無法實現。那麼,該如何解決高德地
第一步:代碼混淆(注意引入的第三方jar)在新版本的ADT創建項目時,混碼的文件不再是proguard.cfg,而是project.properties和proguard