Ciao a tutti ho abbandonato il primo netodo che usa jdbc ora sto provando con il php,ho creato lato php questo script:
codice:
<?php
$pw = "gmpa";
require_once ("config.php");
$variab = $_REQUEST['VARIABLE'];
$cn = new COM("ADODB.Connection") or die("Cannot start ADO");
$cn->Open("Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Jet OLEDB:Database Password=gmpa;Data Source=C:\Users\Paolo\Dropbox\Programmazione\c#\dati.mdb;");
//$query = "SELECT * FROM table WHERE (Variable = '".$variab."')";
$query = "SELECT * FROM WHERE (Variable = '".$variab."')";
$data = $cn->Execute($query);
while (!$data->EOF)
{
echo $data ->Fields[0]->value . ":";
//echo $data ->Fields[1]->value . " \n";
$data ->MoveNext();
}
?>
e ho verificato e funziona.
Poi nel lato android ho fatto direttamente nella mia activity principale una cosa semlicissima per vedere se funzionava il collegamento ma non va mi dice problem connection,come menzionato nel blocco try cach. DOVE SBAGLIO devo mettere il tutto in un blocco asynkTask?
codice:
package com.example.access;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.HttpConnectionParams;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String pippo = "tipipag";
connect_access(pippo);
}
public void connect_access(String vars)
{
List<NameValuePair> itemstring = new ArrayList<NameValuePair>();
itemstring.add(new BasicNameValuePair("VARIABLE", vars));
HttpClient httpclient = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000);
try
{
HttpPost httppost = new HttpPost("http://10.0.2.2:8080/access/provaRicerca.php");
//HttpPost httppost = new HttpPost("localhost/access/provaRicerca.php");
httppost.setEntity(new UrlEncodedFormEntity(itemstring));
HttpResponse response = httpclient.execute(httppost);
InputStream content = response.getEntity().getContent();
BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
String s;
while ((s = buffer.readLine()) != null) {
Toast.makeText(getApplicationContext(),
"Valori tapipag: " + s,
Toast.LENGTH_LONG).show();
}
}catch (Exception e) {
Toast.makeText(getApplicationContext(),"Connection Problem !", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}
Questo è il Manifest:
codice:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.access"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>