App Problem

C

Chuky

Neues Mitglied
0
Moin Moin :)

folgendes:

meine APP soll eine Verbindung zu einem PHP-Script auf einen Webserver aufbauen und sich das Ergebnis dieses PHP-Scriptes in einer internen SQLite DB abspeichern. Danach soll per Abfrage die Eingabe des User mit den Feld "NAmen" in der SQLite DB verglichen werden und nur die zutreffenden Datensätze ausgegeben werden...
Ich habe es bis jetzt so und weiß nicht weiter:

Code:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

import org.apache.http.HttpEntity;
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.json.JSONArray;
import org.json.JSONException;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.ParseException;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class test extends Activity implements OnClickListener {

    private Button back_btn;
    final static String MY_DATABASE_NAME = "appdb";
    final static String MY_DATABASE_TABLE = "vorlesungen";
    final static int DATABASE_VERSION = 0;
    private final String TAG = test.class.getSimpleName();

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        back_btn = (Button) findViewById(R.id.back_btn);
        back_btn.setOnClickListener(this);

        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        InputStream is = null;
        // http post
        try {
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http:///appInfo.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
        } catch (Exception e) {
            Log.e("log_tag", "Error in http connection" + e.toString());
        }
        String result = null;
        // convert response to string
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            sb.append(reader.readLine() + "\n");
            String line = "0";
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            is.close();
            result = sb.toString();
        } catch (Exception e) {
            Log.e("log_tag", "Error converting result " + e.toString());
        }
        try {
            JSONArray jArray = new JSONArray(result);
            // JSONObject json_data=null;
            for (int i = 0; i < jArray.length(); i++) {
            }
        } catch (JSONException e1) {
            Toast.makeText(getBaseContext(), "No prof. Found",
                    Toast.LENGTH_LONG).show();
        } catch (ParseException e1) {
            e1.printStackTrace();
        }

    }

    public void onCreate(SQLiteDatabase mydb) {

        EditText name = (EditText) findViewById(R.id.name_field);

        // DB erstellen
        SQLiteDatabase mydb1 = this.openOrCreateDatabase(MY_DATABASE_NAME,
                MODE_PRIVATE, null);

        // Anlegen der Tbl
        mydb1.execSQL("Create Table if not exists "
                + MY_DATABASE_TABLE
                + "(_id Integer primary key autoincrement, bezeichnung, DATE_FORMAT(datum, '%d.%m.%Y'), beginn, ende, datum, dozent varchar, )");

        // zugriff
        Cursor c = mydb1.rawQuery("Select * From " + MY_DATABASE_TABLE, null);

        int a = c.getColumnIndex("_id");
        int b = c.getColumnIndex("name");

        Log.i(TAG, "a: " + a);
        Log.i(TAG, "b: " + b);

        mydb1.execSQL("UPDATE " + MY_DATABASE_TABLE + " SET " + "name = '"
                + name.getText().toString() + "';");

        {
            Log.i(TAG, "C.moveToFirst() " + c.moveToFirst());
            if (c.moveToFirst()) {
                do {
                    // ausgabe Inhalt
                    Log.i(TAG,
                            "Koordinaten: " + c.getString(a) + " und "
                                    + c.getString(b));

                } while (c.moveToNext());
            } else {
                Log.i(TAG, "keine Daten gefunden");
            }
        }

    }
Ich hoffe ihr habt Tipps was evtl. falsch oder überflüssig ist oder ob noch was fehlt...
thx schonma :)

Gruß
Chuky
 
Zuletzt bearbeitet von einem Moderator:
und wo is das problem?
 
  • Danke
Reaktionen: the_alien
@ swordi:

- das ich nicht weiß ob der codeschnippsel zur verbindung mit einem php script aufn server richtig ist

- wie krieg ich dann dieses ergebnis des PHP-Scriptes in die interne DB rein?

- dann der vergleich der User-eingabe mit dem Feld "Namen" in der Db
 

Ähnliche Themen

R
  • Robby1950
2
Antworten
23
Aufrufe
955
Robby1950
R
netfreak
  • netfreak
Antworten
10
Aufrufe
438
netfreak
netfreak
R
  • raller
Antworten
15
Aufrufe
507
DOT2010
DOT2010
Zurück
Oben Unten