B4X:
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim cursor1 As Cursor
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Private B4XTable1 As B4XTable
Dim Classt As Label
Dim streamd As Label
Dim Tname As Label
Dim MobileNo As Label
Dim MobileNo2 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("Classteacher")
ShowTable
End Sub
Sub Activity_Resume
End Sub
Sub B4XTable1_CellClicked (ColumnId As String, RowId As Long)
Log(ColumnId)
'Dim SQLQry As String = "DELETE FROM Studentphoto2"
'Starter.SQL1.ExecNonQuery(SQLQry)
'If IsConnectedToInternet = True Then
If ColumnId = "Student Names" Then
Classt.Text = B4XTable1.GetRow(RowId).Get("Class")
streamd.Text = B4XTable1.GetRow(RowId).Get("Stream")
' StudentName.Text = B4XTable1.GetRow(RowId).Get("Student Names")
ProgressDialogShow2("Loading Classteacher Details Please Wait...",False)
Sleep(50)
Dim holdnt As String
Dim rstnt As ResumableSub = Loadterms(holdnt)
Wait For(rstnt) Complete (Result As String)
ProgressDialogHide
End If
End Sub
Sub IsConnectedToInternet As Boolean
Dim r As Reflector
r.Target = r.GetContext
r.Target = r.RunMethod2("getSystemService", "connectivity", "java.lang.String")
r.Target = r.RunMethod("getActiveNetworkInfo")
If r.Target <> Null Then
Return r.RunMethod("isConnectedOrConnecting")
End If
Return False
End Sub
Sub Loadterms (a As String) As ResumableSub
'Log(a)
If IsConnectedToInternet= True Then
Dim jt As HttpJob
jt.Initialize("", Me)
jt.Download("http://kccug.com/KabojjaApp/HandlerVBGteacher.ashx?customerid=" & Classt.Text & "&customerid2=" & streamd.Text)
'Sleep(6000)
'jt.GetRequest.Timeout = 2000 ' 10 seconds
Wait For (jt) JobDone(jt As HttpJob)
If jt.Success Then ' if job is success (http status code 200)
Dim RetVal As String
RetVal = jt.GetString
If jt.GetString = "[]" Then
'MsgboxAsync("No Records to Upload Yet for: " & CustID ,"SMIS")
' Return
Else
Dim jpt As JSONParser
jpt.Initialize(jt.GetString)
' Log(jpt) ' will pr
Dim quotes As List = jpt.NextArray
For Each quot As Map In quotes
Log("Teacher: " & quot.Get("Teacher"))
Log("Phone: " & quot.Get("Phone"))
Log("Phone: " & quot.Get("Phone2"))
Tname.Text=quot.Get("Teacher")
MobileNo.Text=quot.Get("Phone")
MobileNo2.Text=quot.Get("Phone2")
Next
Return "Active"
End If
End If
'jt.Release
Else
MsgboxAsync("Error Connecting to the Server Please Check Your Internet Connection Or Load Mbs","Server Error")
't1.Enabled = False
End If
End Sub
Sub ShowTable
B4XTable1.Clear
B4XTable1.AddColumn("Student Names", B4XTable1.COLUMN_TYPE_TEXT).Width=150dip
B4XTable1.AddColumn("Class", B4XTable1.COLUMN_TYPE_TEXT).Width=70dip
B4XTable1.AddColumn("Stream", B4XTable1.COLUMN_TYPE_TEXT).Width=70dip
B4XTable1.AddColumn("Account", B4XTable1.COLUMN_TYPE_TEXT)
Dim data As List
data.Initialize
cursor1 = Starter.SQL1.ExecQuery("SELECT phone AS Phone,Sex FROM Register")
If cursor1.RowCount > 0 Then
cursor1.Position =0
Dim Phonet As String
Phonet = cursor1.Getstring("Phone")
End If
Dim rs As ResultSet = Starter.SQL1.ExecQuery2("SELECT DISTINCT Names,Class || Stream As CS,Class,Stream,Account,Amount As Balance FROM Balances WHERE Phone = ?", Array As String(Phonet))
Do While rs.NextRow
Dim row(4) As Object
row(0) = rs.GetString("Names")
row(1) = rs.GetString("Class")
row(2) = rs.GetString("Stream")
row(3) = rs.GetString("Account")
data.Add(row)
Loop
rs.Close
B4XTable1.SetData(data)
'B4XTable1.VisibleColumns.RemoveAt(B4XTable1.VisibleColumns.IndexOf("Account"))
End Sub
Sub Activity_Pause (UserClosed As Boolean)
Activity.Finish
End Sub
B4X:
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
Class not found: b4a.example.b4xtable, trying: smiskabojja.com.b4xtable
0
Class not found: b4a.example.b4xfloattextfield, trying: smiskabojja.com.b4xfloattextfield
12
** Activity (main) Pause, UserClosed = false **
** Activity (classteacher) Create, isFirst = true **
classteacher_activity_create (java line: 375)
java.lang.RuntimeException: java.lang.RuntimeException: Field b4xtable1 was declared with the wrong type.
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:170)
at anywheresoftware.b4a.objects.ActivityWrapper.LoadLayout(ActivityWrapper.java:209)
at smiskabojja.com.classteacher._activity_create(classteacher.java:375)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:196)
at smiskabojja.com.classteacher.afterFirstLayout(classteacher.java:104)
at smiskabojja.com.classteacher.access$000(classteacher.java:17)
at smiskabojja.com.classteacher$WaitForLayout.run(classteacher.java:82)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
Caused by: java.lang.RuntimeException: Field b4xtable1 was declared with the wrong type.
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayoutHelper(LayoutBuilder.java:431)
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayoutHelper(LayoutBuilder.java:454)
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:148)
... 14 more
java.lang.RuntimeException: java.lang.RuntimeException: Field b4xtable1 was declared with the wrong type.