VB开发安卓程序_例程12读写配置文件

很多电脑软件带有一个配置文件,用来保存软件运行中的参数,通过读写配置文件来改变软件的参数。B4A没有提供对配置文件读写的方法,需要自创。当然也有的人采用SQLITE数据库作为配置文件保存参数。


模块器里的运行截图


布局文件 balmain.bal

Main窗体代码如下



#Region  Project Attributes 
	#ApplicationLabel: 读写配置文件
	#VersionCode: 1
	#VersionName: 
	'SupportedOrientations(支持的方向) 值可以是: 
	'unspecified(未指定), landscape(纵向)或portrait(横向)。
	#SupportedOrientations: unspecified
	#CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes 
	#FullScreen: False
	#IncludeTitle: True
#End Region

Sub Process_Globals
	'这里声明的全局变量在应用启动时被使用。
	'这里声明的变量能被所有模块使用。

End Sub

Sub Globals
	'这里的声明的全局变量在Activity 创建时声明。
	'这里声明的变量只能在此模块使用。

	'布局文件里放置了一个文本编辑控件和两个按钮控件
	Dim btRead As Button
	Dim btWrite As Button
	Dim edtText As EditText
	
End Sub

Sub Activity_Create(FirstTime As Boolean)

	'载入一个布局文件
	Activity.LoadLayout("balmain.bal")
	
	 btRead.Text="读配置文件"
	 btWrite.Text="写配置文件"
	 
	 '提示文本
	 edtText.Height = "输入要写到配置文件的数据"
	 
	 edtText.Left=0
	 edtText.Width=100%x
	 edtText.Gravity=Gravity.CENTER

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

'读配置项
'代码来自官网
'https://www.b4x.com/android/forum/threads/any-ini-file-for-android.7680/
'函数参数如下
'mykey   - 配置项名称
'myvalue - 配置项值
'fPath   - 配置文件路径
'filename - 配置文件名称(包括文件主名和后缀)
Sub WriteIni(mykey As String,myvalue As String,fPath As String,filename As String) '写配置项


	Dim Map1 As Map
    Map1.Initialize '初始化变量 Map1 
	
	If File.Exists(fPath,filename) Then'File.Exists用来判断指定的文件是否存在
   			'如果文件存在,不作处理
		Else
     		 File.WriteMap(fPath, filename, Map1)   '创建这个文件
'			 File.WriteMap 将创建新的文件,并用给定映射来写.每个键值对写单行. 
'			可以用File.ReadMap 读取这个文件.
'			每个值会被转为字符串. 有点像控件的属性格式. 
	End If
   
   
	Map1 = File.ReadMap(fPath,filename)
'	File.ReadMap 读映射文件,并解释每行的键值对(或字符串). 	记住在映射里的项目也许不同于文件里的.
   
	'按mykey=myvalue的格式保存到映射文件里
	Map1.Put(mykey, myvalue) 
	
	'用 File.WriteMap命令把刚才的mykey=myvalue 写到文件filename中,从而实现配置文件的写入操作
    File.WriteMap(fPath, filename, Map1)
	
	
	ToastMessageShow("成功写入配置文件",True)
	
End Sub


'在配置文件里,读取指定的配置项目值
Sub ReadIni(key As String,fPath As String,filename As String) 


    Dim Map1 As Map
    Map1.Initialize'初始化变量 Map1 
	
	'可以直接把下面这句代码理解成读取指定文件的数据并保存到一个一维数组中,把Map1看成一个一维的数组就行了
    Map1 = File.ReadMap(fPath,filename)
	
	'Map1.Size 可理解成数组变量中的元素数量
	'下面通过一个循环语句依次去读取数组Map1中的每一个元素值
   For i = 0 To Map1.Size - 1
   
      If Map1.GetKeyAt(i) = key Then 
	  	'如果读到到的项目名称与所要读取的配置项目名称一致,就去读取这个项目名称的值,
		'然后运用Return跳出这个SUB方法
		
		ToastMessageShow("成功读取配置文件",True)
'         Return Map1.GetValueAt(i)
      End If
	  
	  '如果没有找到此配置项就返回空白
	  ToastMessageShow("配置文件中找不到指定的配置项名称",True)
	   Exit
    Next
	
End Sub

'点击此按钮读配置文件
Sub btRead_Click 
	
	edtText.Text = ReadIni("HOST",File.DirDefaultExternal,"Test.ini")
	'File.DirDefaultExternal 为外置默认目录,
	'外置默认目录一般在sdcard卡对应包名称下的某目录,你可以查下B4A官网

End Sub

'点击此按钮写配置文件
Sub btWrite_Click 
	WriteIni("HOST", edtText.Text,File.DirDefaultExternal,"Test.ini")
End Sub

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值