-1

我目前使用 SQLite 作为我的数据库(代码如下所示)。我希望使用 WAMP 服务器将我的数据库从 SQLite 更改为 MySQL。我需要帮助,我应该怎么做才能更改数据库。还是android、mysql编码的初学者。谢谢

        package mp.memberuse;

        import android.app.Activity;
        import android.content.Context;
        import android.content.Intent;
        import android.content.SharedPreferences;
        import android.content.SharedPreferences.Editor;
        import android.database.Cursor;
        import android.database.sqlite.SQLiteDatabase;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.Button;
        import android.widget.EditText;
        import android.widget.TabHost;
        import android.widget.TabHost.TabSpec;
        import android.widget.TextView;

        public class LoginRegister extends Activity {

Button btn1, btn2, btn3;
EditText tf1, tf2, tf3, tf4, tf5, tf6, tf7, tf8, tf9, tf10, tf11;
TextView tv1, tv2;
SQLiteDatabase db;

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

    TabHost tabs = (TabHost) this.findViewById(R.id.lt2tabhost);
    tabs.setup();

    TabSpec ts1 = tabs.newTabSpec("Login");
    ts1.setIndicator("Login");
    ts1.setContent(R.id.c1);
    tabs.addTab(ts1);

    TabSpec ts2 = tabs.newTabSpec("Register");
    ts2.setIndicator("Register");
    ts2.setContent(R.id.c2);
    tabs.addTab(ts2);

    btn1 = (Button)findViewById(R.id.button1);
    btn2 = (Button)findViewById(R.id.button2);
    btn3 = (Button)findViewById(R.id.button3);

    tf1=(EditText) findViewById(R.id.editText1);
    tf2=(EditText) findViewById(R.id.editText2);
    tf3=(EditText) findViewById(R.id.editText3);
    tf4=(EditText) findViewById(R.id.editText4);
    tf5=(EditText) findViewById(R.id.editText5);
    tf6=(EditText) findViewById(R.id.editText6);
    tf7=(EditText) findViewById(R.id.editText7);
    tf8=(EditText) findViewById(R.id.editText8);
    tf9=(EditText) findViewById(R.id.editText9);
    tf10=(EditText) findViewById(R.id.editText10);

    tv1=(TextView) findViewById(R.id.login);
    tv2=(TextView) findViewById(R.id.register);



    try
    {
        db = SQLiteDatabase.openOrCreateDatabase("sdcard/Members.db", null);
        db.beginTransaction();
        db.execSQL("create table if not exists Members (username text PRIMARY KEY, password text, fullname text, nric text, address text, phone text, email text);");
        db.setTransactionSuccessful();
        db.endTransaction();
    }
    catch(Exception e)
    {
    }

    btn1.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v)
        {
            String username, password;
            username = tf1.getText().toString();
            password = tf2.getText().toString();

            try
            {
                String sql="select * from Members;";
                Cursor c1= db.rawQuery(sql, new String[]{});
                String sqlusername, sqlpassword, fullname;


                while(c1.moveToNext())
                {
                    sqlusername = c1.getString(0);
                    sqlpassword = c1.getString(1);
                    fullname = c1.getString(2);

                    if(username.equals(sqlusername) && password.equals(sqlpassword))
                    {
                        SharedPreferences prefs = getSharedPreferences("myPreferences",Context.MODE_PRIVATE);
                        SharedPreferences.Editor editor = prefs.edit();
                        editor.putString("fullname", fullname);
                        editor.commit();

                        Intent intent = new Intent(LoginRegister.this, Map.class);
                        startActivity(intent);
                    }
                    else
                    {
                        tv1.setText("Invalid user");
                    }
                }
            }
            catch(Exception e)
            {
            }
        }
    });

    btn2.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v)
        {
            String username, password, cpassword, fullname, nric, address, phone, email;
            username = tf3.getText().toString();
            password = tf4.getText().toString();
            cpassword = tf5.getText().toString();
            fullname = tf6.getText().toString();
            nric = tf7.getText().toString();
            address = tf8.getText().toString();
            phone = tf9.getText().toString();
            email = tf10.getText().toString();

            if(!password.equals(cpassword))
            {
                tv2.setText("Password & Confirm Password does not match.");
            }
            else if(username.equals("") || password.equals("") || cpassword.equals("") || fullname.equals("") || nric.equals("") || address.equals("") || phone.equals("") || email.equals(""))
            {
                tv2.setText("Do not leave any field empty.");
            }
            else
            {
                try
                {
                    db.beginTransaction();
                    db.execSQL("insert into Members(username, password, fullname, nric, address, phone, email) values('"+username+"','"+password+"','"+fullname+"','"+nric+"','"+address+"','"+phone+"','"+email+"');");
                    db.setTransactionSuccessful();
                    db.endTransaction();    
                }
                catch(Exception e)
                {
                }
                    tv2.setText("Register Complete.");
                    tf3.setText("");
                    tf4.setText("");
                    tf5.setText("");
                    tf6.setText("");
                    tf7.setText("");
                    tf8.setText("");
                    tf9.setText("");
                    tf10.setText(""); 
            }
        }
    });

    btn3.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v)
        {
            tf3.setText("");
            tf4.setText("");
            tf5.setText("");
            tf6.setText("");
            tf7.setText("");
            tf8.setText("");
            tf9.setText("");
            tf10.setText("");           
        }
    });
}
        }
4

2 回答 2

1

由于您无法直接在 Android 中访问数据库,因此您应该使用任何服务器端脚本语言实现称为 API 的 Web 服务来访问数据库。

于 2013-04-29T06:32:58.043 回答
0

请尝试使用此方法创建数据库...

  SQLiteDatabase myDataBase = SQLiteDatabase.openDatabase("test.db", null,
        SQLiteDatabase.OPEN_READWRITE);  

请使用它在数据库中插入...

            ContentValues values = new ContentValues();
            values.put("username", username);
            values.put("password", password);
            values.put("fullname", fullname);
            values.put("nric", nric);
            values.put("address", address);
            values.put("phone", phone);
            values.put("email", email);
            myDataBase.insertOrThrow(GROUPS_TABLE, null, values);
于 2013-04-29T06:43:48.353 回答