Hi
@DonManfred,
Here the error.
** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
Message longer than Log limit (4000). Message was truncated.
Respuesta del servidor: <!DOCTYPE html>
<html>
<head>
<title>Web hosting, domain names, VPS - 000webhost.com</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>000Webhost.com</title>
<link media="all" rel="stylesheet" href="css/main.css">
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-4851025890501443",
enable_page_level_ads: true
});
</script>
</head>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "
https://ssl." : "
http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-10701068-1");
pageTracker._trackPageview();
} catch(err) {}</script>
<body>
<div id="wrapper">
<header id="header">
<div class="container-holder">
<div class="logo"><a href="
http://www.000webhost.com"><img src="images/logo.png" width="278" height="68" alt="000webhot.com better than paid hosting"></a></div>
<a href="#" class="opener"><span></span></a>
<nav id="nav">
<ul class="nav-holder">
<li><a href="
http://www.000webhost.com/features">Features</a></li>
<li><a href="
http://www.000webhost.com/order.php">Order Now</a></li>
<li><a href="
http://www.000webhost.com/affiliate-program">earn money!</a></li>
<li><a href="
http://www.000webhost.com/contact">Contact Us</a></li>
</ul>
</nav>
</div>
</header>
<main role="main" id="main">
<div class="container-holder">
<div id="content">
<header class="head">
<span class="icon add">
<img src="images/upgrade.png" alt="image description">
</span>
<h1>Free web hosting, no ads or banners!</h1>
</header>
<p>Can you imagine free web hosting service that has 99.9% uptime? Too good to be true? No more!<a href="
http://www.000webhost.com" class="link"> 000webhost.com</a> has made the revolution, forget the stereotype that free hosting is unreliable.. Here is the proof: <a href="
http://www.serviceuptime.com/users/monitoring.php?S=6c8ef11fcca35bab3d971cdce3d7179b" target="_blank" class="link">uptime stats of 20 servers</a>. We beat your paid hosting provider!</p>
<div class="advertisement">
<span>Advertisements</span>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 000webhost 404 -->
<ins class="adsbygoogle"
style="display:inline-block;width:336px;height:280px"
data-ad-client="ca-pub-4851025890501443"
data-ad-slot="8325100018"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</div>
<h2>1500 MB disk space, 100 GB data transfer! PHP, MySQL, FTP, cPanel..</h2>
<p>Our free hosting service is supercharged with over 60 features, just like paid hosting. Unrestricted access to PHP, MySQL, FTP, cPanel, Website Builder and many more features are waiting for you absolutely free!</p>
<h2>Need unlimited premium hosting that is really UNLIMITED?</h2>
<p>Signup with <a href="
http://www.hosting24.com/" target="_blank" class="link">
www.hosting24.com</a> - unlimited disk space, unlimited data transfer, host unlimited domains for just $3.99</p>
<table class=table>
<tbody>
<tr class="heading">
<th class="col-1"><strong class="empty"> </strong> </th>
<th class="col-2"><strong>Free Hosting </strong></th>
<th class="col-2"><strong>Premium Hosting</strong></th>
</tr>
<tr>
<td class="col-1">Price</td>
<td class="col-2">$0.00</td>
<td class="col-2">$3.99 / month</td>
</tr>
<tr class="row">
<td class="col-1">Disk Space</td>
<td class="col-2">1500 MB</td>
<td class="col-2">Unlimited Disk Space!</td>
</tr>
<tr>
Message longer than Log limit (4000). Message was truncated.
Error occurred on line: 70 (Main)
java.lang.RuntimeException: JSON Array expected.
at anywheresoftware.b4a.objects.collections.JSONParser.NextArray(JSONParser.java:62)
at b4a.example.main._hc_responsesuccess(main.java:560)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:702)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:336)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:246)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
at anywheresoftware.b4a.BA$2.run(BA.java:328)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5628)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
The B4A code.
Sub Process_Globals
Dim hc As HttpClient
Dim paises, poblacion, buscar As Int
paises = 1 ' Es la tarea 1
poblacion = 2 ' Es la tarea 2
buscar = 3 ' Es la tarea 3 PARA BUSCAR, CÓDIGO JUAN ANTONIO ------
End Sub
Sub Globals
' Renglones puede contener dos renglones:
' Renglon1 (ES)
' Renglon2 (España)
Type Renglones (Renglon1 As String, Renglon2 As String)
Dim Label1, Label2 As Label
Dim ListView1 As ListView
Dim EditText1 As EditText
Dim borraID As String ' PARA BORRAR, CÓDIGO JUAN ANTONIO *********
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
hc.Initialize("hc")
End If
Activity.LoadLayout("1")
Buscar_lista_de_paises
End Sub
Sub Buscar_lista_de_paises
ProgressDialogShow("Buscando lista de países.")
Dim req As HttpRequest
Dim Query As String
Query="SELECT nombre, ID FROM paises ORDER BY ID"
' req.InitializePost2("http://192.168.1.3/paises.php", Query.GetBytes("UTF8"))
req.InitializePost2("http://31.170.160.73/linea4vlc.php", Query.GetBytes("UTF8"))
hc.Execute(req, paises) '''''''' En ResponseSuccess hará el Case de paises
End Sub
' Esta es la Respuesta de la orden hc.Execute
Sub hc_ResponseSuccess (Response As HttpResponse, tarea As Int)
Dim res As String
res = Response.GetString("UTF8")
Log("Respuesta del servidor: " & res)
'res = [{"name":"Argentina","id":"AR"},.... hasta ....,{"name":"Venezuela","id":"VE"}]
Dim parser As JSONParser
parser.Initialize(res)
Select tarea
' ************* PAISES *****************
Case paises
' Añade paises la ListView1
Dim countries As List
countries.Initialize
countries = parser.NextArray
For i = 0 To countries.Size - 1
Dim m As Map
m = countries.Get(i)
Dim Renglon As Renglones
Renglon.Renglon1 = m.Get("ID") ' ES
Renglon.Renglon2 = m.Get("nombre") ' España
ListView1.AddTwoLines2(Renglon.Renglon1, Renglon.Renglon2, Renglon)
Next
ProgressDialogHide
' ************* POBLACION **************
Case poblacion
Dim l As List
l = parser.NextArray
If l.Size = 0 Then
Label1.Text = "N/A"
Else
Dim m As Map
m = l.Get(0)
Label1.Text = NumberFormat2(m.Get("poblacion"),0, 0, 0, True) & ".000"
End If
' ************* BUSCAR, CÓDIGO JUAN ANTONIO *****------
Case buscar
Dim l As List
l = parser.NextArray
If l.Size = 0 Then
Label1.Text = "N/A"
Else
Dim m As Map
m = l.Get(0)
Label1.Text = m.Get("nombre")
Label2.Text = m.Get("poblacion")
End If
End Select
Response.Release
End Sub
' Cuando pulsa en el ListView, busca en la BD del Servidor la población
Sub ListView1_ItemClick (Position As Int, Value As Object)
If IsBackgroundTaskRunning(hc, poblacion) Then ' Está ocupado en llamada anterior.
ToastMessageShow("Espera hasta completar la llamada anterior.", False)
Return
End If
Dim Renglon As Renglones
Renglon = Value
Label2.Text = Renglon.Renglon2 ' España
borraID = Renglon.Renglon1 ' PARA BORRAR, CÓDIGO JUAN ANTONIO *******
Label1.Text = "Conectando con el servidor..."
Dim req As HttpRequest
Dim Query As String
Query="SELECT poblacion FROM paises WHERE ID='" & Renglon.Renglon1 & "'"
' req.InitializePost2("http://192.168.1.3/paises.php", Query.GetBytes("UTF8"))
req.InitializePost2("http://31.170.160.73/linea4vlc.php", Query.GetBytes("UTF8"))
hc.Execute(req, poblacion) '''''''' En ResponseSuccess hará el Case de poblacion
End Sub
' Error en la conexión con la Base de datos.
Sub hc_ResponseError (Response As HttpResponse, Reason As String, StatusCode As Int, tarea As Int)
Log("Error: " & Reason & ", StatusCode: " & StatusCode)
If Response <> Null Then
Log(Response.GetString("UTF8"))
Response.Release
End If
ProgressDialogHide
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''' ESTA ES LA PARTE DEL CODIGO QUE HACE EL BORRADO
Sub Button1_Click
Dim req As HttpRequest
Dim Query As String
Query="DELETE FROM paises WHERE ID='" & borraID & "'"
' req.InitializePost2("http://192.168.1.3/paises.php", Query.GetBytes("UTF8"))
req.InitializePost2("http://31.170.160.73/linea4vlc.php", Query.GetBytes("UTF8"))
hc.Execute(req, 4) ' ------- He cambiado esto, 4 es una tarea que no existe en Select
ListView1.Clear
Buscar_lista_de_paises
Label1.Text=""
Label2.Text=""
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''' ESTA ES LA PARTE DEL CODIGO QUE HACE LA BÜSQUEDA
Sub Button2_Click
Dim req As HttpRequest
Dim Query As String
Dim busca As String
busca = EditText1.Text
Query="SELECT * FROM paises WHERE nombre LIKE '" & busca & "'"
' req.InitializePost2("http://192.168.1.3/paises.php", Query.GetBytes("UTF8"))
req.InitializePost2("http://31.170.160.73/linea4vlc.php", Query.GetBytes("UTF8"))
hc.Execute(req, buscar)
End Sub
And here the php code.
- <?
- $databasehost = "mysql1.000webhost.com";
- $databasename = "a5637705_cambios";
- $databaseusername ="a5637705_user";
- $databasepassword = "password";
- $con = mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
- mysql_select_db($databasename) or die(mysql_error());
- mysql_query("SET CHARACTER SET utf8");
- $query = file_get_contents("php://input");
- $sth = mysql_query($query);
- if (mysql_errno()) {
- header("HTTP/1.1 500 Internal Server Error");
- echo $query.'\n';
- echo mysql_error();
- }
- else
- {
- $rows = array();
- while($r = mysql_fetch_assoc($sth)) {
- $rows[] = $r;
- }
- print json_encode($rows);
- }
- ?>
Many many thanks for your help.
Best regards
Espinosa