#安卓开发# 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


好啦!今天源码分享到这里结束啦!

有问题可以后台加群细聊哦