#Android開發# B4A示例20200217:《抖印無蹤》

  • 2020 年 2 月 26 日
  • 筆記

這是一款集,許可權獲取,粘貼板應用,菜單應用,網頁跳轉,文件下載,創建目錄,json解析,網頁請求,控制項簡單使用 ,於一體的教程示例!

應用下載地址:

https://www.lanzous.com/i9f0vza

添加許可權

項目–>Manifest編輯器

使用的類庫

BClipboard  粘貼板操作類庫(第三方)    HttpUtils2  網頁請求類庫(系統自帶)    JSON        JSON解析類庫(系統自帶)    phone       手機系統類庫(系統自帶)    RSAsyncDownloader       文件瞎下載類庫(第三方)    RuntimePermissions      許可權請求類庫(系統自帶)

程式碼分步解釋

  • 應用基本設置
#Region  Project Attributes  	#ApplicationLabel: 抖印無蹤                     -->應用名稱  	#VersionCode: 1                                 -->版本號  	#VersionName:                                   -->版本名稱  	#SupportedOrientations: unspecified             -->螢幕狀態,橫屏,豎屏  	#CanInstallToExternalStorage: False             -->是否使用外部儲存  #End Region    #Region  Activity Attributes  	#FullScreen: False                              -->是否使用全螢幕  	#IncludeTitle: True                             -->是否顯示標題欄  #End Region
  • 變數說明
''全局變數定義  Sub Process_Globals  	'許可權控制  	Dim rp As RuntimePermissions                          -->動態許可權請求    End Sub    ''普通變數定義  Sub Globals  	'粘貼板控制  	Dim clb As BClipboard                                -->粘貼板定義  	Dim http As HttpJob                                  -->網頁請求定義  	Dim vurl As String,vname As String                   -->影片地址,影片名稱定義  	Private bt_blog As Button                            -->部落格按鈕控制項  	Private Bt_down As Button                            -->下載按鈕控制項  	Private bt_parse As Button                           -->一鍵解析按鈕控制項  	Private Bt_play As Button                            -->播放按鈕控制項  	Private txt_url As EditText                          -->文本框控制項  	Private web_play As WebView                          -->瀏覽器控制項  	Private bt_clear As Button                           -->清空按鈕控制項  End Sub
  • 事件解釋 1.啟動事件
Sub Activity_Create(FirstTime As Boolean)    	Activity.LoadLayout("main")  	'===========================  	'檢測儲存許可權  	rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE)  	''#############################  	bt_blog.Visible=False  	Bt_down.Visible=False  	Bt_play.Visible=False  	web_play.Visible=False  	'========================  	'添加菜單  	Activity.AddMenuItem("瀏覽部落格", "blog")  	Activity.AddMenuItem("查看路徑", "lookdir")  	Activity.AddMenuItem("關於", "gy")  	''=====================  	'粘貼板檢測  	Sleep(100)  	Dim dystr As String=clb.getText  	If dystr.Contains("抖音") Then  		Dim result As Int  		result = Msgbox2(dystr,"檢測到抖音分享鏈接,是否要粘貼?" , "粘貼", "", "取消",Null)  		If result = DialogResponse.Positive Then  			txt_url.Text=dystr  		End If  	End If  End Sub

2.菜單事件

'訪問部落格  Sub blog_Click()  	Try  		Dim p As PhoneIntents  		StartActivity (p.OpenBrowser("http://vbee.xyz"))  	Catch  		ToastMessageShow("地址跳轉失敗!!",True)  	End Try  End Sub    Sub lookdir_Click()  	Msgbox("文件保存在:根目錄->抖印無蹤保存目錄","")  End Sub    Sub gy_Click()  	Msgbox("本程式由微信公眾號:VB小源碼  開發!,本測試只用於教程示例,切勿用於商業或其他非法活動!謝謝合作!","")  End Sub

3.按鈕點擊事件

''影片播放  Sub Bt_play_Click  	If vurl<>"" Then  		web_play.Visible=True  		Try  			web_play.LoadUrl(vurl)  		Catch  			ToastMessageShow("影片播放失敗!",True)  		End Try  	End If    End Sub    ''調用介面去水印  Sub bt_parse_Click    	Dim uurl As String=get_url(txt_url.Text)  	'===================  	bt_blog.Visible=False  	Bt_down.Visible=False  	Bt_play.Visible=False  	web_play.Visible=False  	web_play.Loadhtml("")  	vurl=""  	'===================  	If uurl<> "" Then  		ProgressDialogShow("正在執行去水印...")  		http.Initialize("Http",Me)  		Dim url As String ="http://douyin.vbee.xyz/dy.php?act=dy&url=" & uurl  		http.Download(url)  		Wait For JobDone(job As HttpJob)  		If job.Success=True Then  			Dim json As JSONParser  			Dim ret As Map  			json.Initialize(job.GetString)  			ret=json.NextObject  			vurl=ret.Get("videourl")  			vname=ret.Get("name")  		End If  		''#################  		If vurl<>"" Then  			ProgressDialogHide  			ToastMessageShow("去水印成功!",True)  			bt_blog.Visible=True  			Bt_down.Visible=True  			Bt_play.Visible=True  		End If  	End If  End Sub    ''保存影片  Sub Bt_down_Click  	''創建目錄  	Try  		If File.Exists(File.DirRootExternal, "抖印無蹤保存目錄")=False Then  			File.MakeDir(File.DirRootExternal, "抖印無蹤保存目錄")  		End If  		'=============================  		Dim dw As RSAsyncDownloader  		dw.Initialize("dw")  		dw.FileName = vname & ".mp4"  		dw.Directory =File.Combine( File.DirRootExternal, "抖印無蹤保存目錄")  		dw.Download(vurl)  	Catch  		ToastMessageShow("下載出錯!",True)  	End Try  End Sub    Private Sub dw_Started  	ProgressDialogShow("正在下載...")  End Sub    Private Sub dw_Update (Progress As Int)    End Sub    Private Sub dw_Finished (Result As String)  	If Result=Null Then  		ProgressDialogHide  		ToastMessageShow("影片保存成功!",False)  	Else  		ToastMessageShow("影片保存失敗!",True)  	End If  End Sub    ''進入部落格  Sub bt_blog_Click  	Try  		Dim p As PhoneIntents  		StartActivity (p.OpenBrowser("http://vbee.xyz"))  	Catch  		ToastMessageShow("地址跳轉失敗!!",True)  	End Try    End Sub      Sub bt_clear_Click  	txt_url.Text=""  End Sub

4.方法函數

''解析地址  Sub get_url(st As String) As String  	If st<>"" Then  		Dim temp As String  		Try  			temp="https://" & Regex.Split("/",Regex.Split("://",st)(1))(0) & "/" & Regex.Split("/",Regex.Split("://",st)(1))(1)  			Return temp  		Catch  			ToastMessageShow("請輸入正確抖音分享鏈接!",False)  			Return ""  		End Try  	Else  		ToastMessageShow("請輸入正確抖音分享鏈接!",False)  		Return ""  	End If  End Sub

全部程式碼

#Region  Project Attributes  	#ApplicationLabel: 抖印無蹤  	#VersionCode: 1  	#VersionName:  	#SupportedOrientations: unspecified  	#CanInstallToExternalStorage: False  #End Region    #Region  Activity Attributes  	#FullScreen: False  	#IncludeTitle: True  #End Region    Sub Process_Globals  	'許可權控制  	Dim rp As RuntimePermissions    End Sub    Sub Globals  	'粘貼板控制  	Dim clb As BClipboard  	Dim http As HttpJob  	Dim vurl As String,vname As String  	Private bt_blog As Button  	Private Bt_down As Button  	Private bt_parse As Button  	Private Bt_play As Button  	Private txt_url As EditText  	Private web_play As WebView  	Private bt_clear As Button  End Sub    Sub Activity_Create(FirstTime As Boolean)    	Activity.LoadLayout("main")  	'===========================  	'檢測儲存許可權  	rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE)  	''#############################  	bt_blog.Visible=False  	Bt_down.Visible=False  	Bt_play.Visible=False  	web_play.Visible=False  	'========================  	'添加菜單  	Activity.AddMenuItem("瀏覽部落格", "blog")  	Activity.AddMenuItem("查看路徑", "lookdir")  	Activity.AddMenuItem("關於", "gy")  	''=====================  	'粘貼板檢測  	Sleep(100)  	Dim dystr As String=clb.getText  	If dystr.Contains("抖音") Then  		Dim result As Int  		result = Msgbox2(dystr,"檢測到抖音分享鏈接,是否要粘貼?" , "粘貼", "", "取消",Null)  		If result = DialogResponse.Positive Then  			txt_url.Text=dystr  		End If  	End If  End Sub    '訪問部落格  Sub blog_Click()  	Try  		Dim p As PhoneIntents  		StartActivity (p.OpenBrowser("http://vbee.xyz"))  	Catch  		ToastMessageShow("地址跳轉失敗!!",True)  	End Try  End Sub    Sub lookdir_Click()  	Msgbox("文件保存在:根目錄->抖印無蹤保存目錄","")  End Sub    Sub gy_Click()  	Msgbox("本程式由微信公眾號:VB小源碼  開發!,本測試只用於教程示例,切勿用於商業或其他非法活動!謝謝合作!","")  End Sub      Sub Activity_Resume    End Sub    Sub Activity_Pause (UserClosed As Boolean)    End Sub    ''影片播放  Sub Bt_play_Click  	If vurl<>"" Then  		web_play.Visible=True  		Try  			web_play.LoadUrl(vurl)  		Catch  			ToastMessageShow("影片播放失敗!",True)  		End Try  	End If    End Sub    ''調用介面去水印  Sub bt_parse_Click    	Dim uurl As String=get_url(txt_url.Text)  	'===================  	bt_blog.Visible=False  	Bt_down.Visible=False  	Bt_play.Visible=False  	web_play.Visible=False  	web_play.Loadhtml("")  	vurl=""  	'===================  	If uurl<> "" Then  		ProgressDialogShow("正在執行去水印...")  		http.Initialize("Http",Me)  		Dim url As String ="http://douyin.vbee.xyz/dy.php?act=dy&url=" & uurl  		http.Download(url)  		Wait For JobDone(job As HttpJob)  		If job.Success=True Then  			Dim json As JSONParser  			Dim ret As Map  			json.Initialize(job.GetString)  			ret=json.NextObject  			vurl=ret.Get("videourl")  			vname=ret.Get("name")  		End If  		''#################  		If vurl<>"" Then  			ProgressDialogHide  			ToastMessageShow("去水印成功!",True)  			bt_blog.Visible=True  			Bt_down.Visible=True  			Bt_play.Visible=True  		End If  	End If  End Sub    ''保存影片  Sub Bt_down_Click  	''創建目錄  	Try  		If File.Exists(File.DirRootExternal, "抖印無蹤保存目錄")=False Then  			File.MakeDir(File.DirRootExternal, "抖印無蹤保存目錄")  		End If  		'=============================  		Dim dw As RSAsyncDownloader  		dw.Initialize("dw")  		dw.FileName = vname & ".mp4"  		dw.Directory =File.Combine( File.DirRootExternal, "抖印無蹤保存目錄")  		dw.Download(vurl)  	Catch  		ToastMessageShow("下載出錯!",True)  	End Try  End Sub    Private Sub dw_Started  	ProgressDialogShow("正在下載...")  End Sub    Private Sub dw_Update (Progress As Int)    End Sub    Private Sub dw_Finished (Result As String)  	If Result=Null Then  		ProgressDialogHide  		ToastMessageShow("影片保存成功!",False)  	Else  		ToastMessageShow("影片保存失敗!",True)  	End If  End Sub    ''進入部落格  Sub bt_blog_Click  	Try  		Dim p As PhoneIntents  		StartActivity (p.OpenBrowser("http://vbee.xyz"))  	Catch  		ToastMessageShow("地址跳轉失敗!!",True)  	End Try    End Sub    Sub Activity_PermissionResult (Permission As String, Result As Boolean)    End Sub      ''解析地址  Sub get_url(st As String) As String  	If st<>"" Then  		Dim temp As String  		Try  			temp="https://" & Regex.Split("/",Regex.Split("://",st)(1))(0) & "/" & Regex.Split("/",Regex.Split("://",st)(1))(1)  			Return temp  		Catch  			ToastMessageShow("請輸入正確抖音分享鏈接!",False)  			Return ""  		End Try  	Else  		ToastMessageShow("請輸入正確抖音分享鏈接!",False)  		Return ""  	End If  End Sub        Sub bt_clear_Click  	txt_url.Text=""  End Sub

介面控制項簡單說明

主頁面簡單說明

文本框簡單說明

按鈕簡單說明

源程式碼下載地址:

https://www.lanzous.com/i9ezn5g


好啦!今天源碼分享到這裡結束啦!

有問題可以後台加群細聊哦