我想我首先要说的是我对B4A非常新,以及一般的编程。我有一些非常基本的java和html exp。但就是这样。我没有任何basic4ppc或任何IDE体验。已经使用B4A几天了,无法越过驼峰。这是我的noob问题:
我有一个电子邮件屏幕,其中包含一个edittext和一个发送按钮,以便用户可以从应用程序向我发送问题。但是Send按钮在'URI ='行上给出了这个错误:“LastException java.lang.NumberFormatException:mailto:”这里是代码:
Sub btnSendEmail_Click
Dim Uri As String
Uri =“mailto:me@gmail.com?subject = Test Email& body =”+ edtHelpEmail.Text
Dim Intent1作为意图
Intent1.Initialize(Intent1.ACTION_VIEW,乌里
StartActivity(Intent1)
结束分
或者是否有其他方法可以打开设备的默认电子邮件程序?
关于上一个问题,如何将错误消息复制到剪贴板?我选择了IDE右下角的红色错误消息并尝试了ctrl-c,但没有用。
这就是我现在所得到的,但我相信以后会有更多的问题。
答案 0 :(得分:1)
1)android的整个想法是小组件,即Apps一起工作,所以不必担心打开很多活动。在Android的幕后,内存管理非常好。
2)当然。这听起来不错。尽可能多地使用布局设计器,然后再添加动态内容。这就是在代码大小和活动数量之间取得平衡。
3)在Designer中有一个名为“发送到UI云”的选项。这会将您的应用与多种屏幕尺寸进行比较您还可以在Activity_Create生命周期
中扩展您的设计并以编程方式调整应用程序中的特定控件4)你所做的几乎是正确的。我更正了你的代码:
Sub MailTo(StrAddress As String, StrSubject As String, StrBody As String)
Dim StrMethod As String = "Sub MailTo(StrAddress As String, StrSubject As String, StrBody As String)"
Try
Dim StrUri As String
StrUri = "mailto:" & StrAddress & "?subject=" & StrSubject & "&body=" & StrBody
Dim Intent As Intent
Intent.Initialize(Intent.ACTION_VIEW, StrUri)
StartActivity(Intent)
Catch
If BlnLoudExceptions Then CdException.Show(StrClass, StrMethod, LastException)
End Try
End Sub
我倾向于为这些函数提供一个名为CdIntent.bas的代码模块,因为它既保持了项目的有序性,又使得在项目中实现相同功能更加容易。
然后打电话给你使用
CdIntent.MailTo("me@yes.no", "Subject!", "Body!")
5)我有一个名为CdException.bas的文件
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
End Sub
Sub Show(StrClass As String, StrMethod As String, Ex As Exception)
LogColor("Exception: " & Ex.Message & " - Class: " & StrClass & " - Method: " & StrMethod, Colors.Magenta)
End Sub
然后按以下方式包装函数:
Sub FunctionName(...Parameters...) as Int
Dim StrMethod As String = "Sub Sleep(LngMilliseconds As Long)"
Dim IntResult As Int = 0
Try
[code here inc. IntResult = ???]
Catch
If BlnLoudExceptions Then CdException.Show(StrClass, StrMethod, LastException)
End Try
Return IntResult
End Sub
然后在日志屏幕中以洋红色出现例外以及它们发生的方法名称和类,允许您回家。
6)我在一个名为TabletSettings的SQLLite数据库中有一个表,它有两个名为“Name”和“Value”的TEXT列。它运作良好,让你进入一个(我认为是一个)好习惯,从一开始就为你的应用程序提供数据库。
7)我会在此之前回复你,因为我之前没有这样做过。 在此之前,以下主题将在B4A论坛http://www.basic4ppc.com/android/forum/threads/convert-integer-to-dip.18800/
中为您提供帮助答案 1 :(得分:0)
我同意吉姆的观点,但会尝试回答1。
我自己是Android的新手,但据我了解,活动总体上只在活动时运行。除非您使用该应用程序继续执行某些操作,否则一次只能执行一项活动。活动的数量可能比任何东西都更有影响。最后,可能值得先走,而不是跑步,但尝试一个,然后添加多个活动。
答案 2 :(得分:0)