1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

App Problem

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Chuky, 09.06.2011.

  1. Chuky, 09.06.2011 #1
    Chuky

    Chuky Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    23.05.2011
    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 von einem Moderator bearbeitet: 09.06.2011
  2. swordi, 09.06.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    und wo is das problem?
     
    the_alien bedankt sich.
  3. Chuky, 09.06.2011 #3
    Chuky

    Chuky Threadstarter Neuer Benutzer

    Beiträge:
    14
    Erhaltene Danke:
    0
    Registriert seit:
    23.05.2011
    @ 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
     

Diese Seite empfehlen