如何将微调框选择的项目插入到移动应用程序的mysql数据库中? [英] How i can insert a spinner selected item into mysql database for mobile app?

查看:78
本文介绍了如何将微调框选择的项目插入到移动应用程序的mysql数据库中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从数据库中的值中提取到Spinner的值,但是我想将Spinner中的选定项插入数据库中,我该怎么做?

我正在使用两个Spinners,并且两个Spinner's选定项都应插入数据库中.

如何执行此操作以及在PHP中插入项目我需要做什么?

活动分类:-

 public class MainActivity_d2 extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

    //Declaring an Spinner
   private Spinner spinner2, spinner1;

    //An ArrayList for Spinner Items

    private ArrayList<String> students1;
    private ArrayList<String> students2;

    //JSON Array

    private JSONArray result1, result2, result;

    //TextViews to display details
    private TextView textViewName1;
    private TextView textViewName2;
    private TextView textViewCourse;
    private TextView textViewSession;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainactivity_d1);

        //Initializing the ArrayList
        students1 = new ArrayList<String>();
        students2 = new ArrayList<String>();

        //Initializing Spinner


        //Adding an Item Selected Listener to our Spinner
        //As we have implemented the class Spinner.OnItemSelectedListener to this class iteself we are passing this to setOnItemSelectedListener


        spinner1 = (Spinner) findViewById(R.id.spinner1);
        spinner2 = (Spinner) findViewById(R.id.spinner2);

        spinner1.setOnItemSelectedListener(this);
        spinner2.setOnItemSelectedListener(this);
        //    spinner1.setOnItemSelectedListener(this);

        //Initializing TextViews
        textViewName1 = (TextView) findViewById(R.id.textViewName1);
        textViewName2 = (TextView) findViewById(R.id.textViewName2);
        //      textViewCourse = (TextView) findViewById(R.id.textViewCourse);
        //      textViewSession = (TextView) findViewById(R.id.textViewSession);

        //This method will fetch the data from the URL

        getData1();
        getData2();
    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    /*    switch (view.getId()){

            case R.id.spinner1:
                getData1();
                break;


            case R.id.spinner2:
                getData2();
                break;
        }*/
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {


        if (spinner1.getId() == R.id.spinner1) {
            //do this
            textViewName1.setText("");
        } else if (spinner2.getId() == R.id.spinner2) {
            //do this
            textViewName2.setText("");
        }

    }

    private void getData1() {
        //Creating a string request
        StringRequest stringRequest1 = new StringRequest(Config.DATA_URL1,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response1) {
                        JSONObject j1 = null;
                        try {
                            //Parsing the fetched Json String to JSON Object
                            j1 = new JSONObject(response1);

                            //Storing the Array of JSON String to our JSON Array
                            result1 = j1.getJSONArray(Config.JSON_ARRAY1);

                            //Calling method getStudents to get the students from the JSON Array
                            getStudents1(result1);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error1) {

                    }
                });

        //Creating a request queue
        RequestQueue requestQueue1 = Volley.newRequestQueue(this);

        //Adding request to the queue
        requestQueue1.add(stringRequest1);
    }

    private void getStudents1(JSONArray j1) {
        //Traversing through all the items in the json array
        for (int i = 0; i < j1.length(); i++) {
            try {
                //Getting json object
                JSONObject json1 = j1.getJSONObject(i);

                //Adding the name of the student to array list
                students1.add(json1.getString(Config.TAG_COURSE));
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        //Setting adapter to show the items in the spinner
        spinner1.setAdapter(new ArrayAdapter<String>(MainActivity_d2.this, android.R.layout.simple_spinner_dropdown_item, students1));
    }

//Initializing TextViews

//      textViewCourse = (TextView) findViewById(R.id.textViewCourse);
//      textViewSession = (TextView) findViewById(R.id.textViewSession);

//This method will fetch the data from the URL

 private void getData2() {
        //Creating a string request
        StringRequest stringRequest2 = new StringRequest(Config.DATA_URL2,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response2) {
                        JSONObject j2 = null;
                        try {
                            //Parsing the fetched Json String to JSON Object
                            j2 = new JSONObject(response2);

                            //Storing the Array of JSON String to our JSON Array
                            result = j2.getJSONArray(Config.JSON_ARRAY);

                            //Calling method getStudents to get the students from the JSON Array
                            getStudents2(result);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error1) {

                    }
                });

        //Creating a request queue
        RequestQueue requestQueue2 = Volley.newRequestQueue(this);

        //Adding request to the queue
        requestQueue2.add(stringRequest2);
    }

    private void getStudents2(JSONArray j2) {
        //Traversing through all the items in the json array
        for (int i = 0; i < j2.length(); i++) {
            try {
                //Getting json object
                JSONObject json2 = j2.getJSONObject(i);

                //Adding the name of the student to array list
                students2.add(json2.getString(Config.TAG_USERNAME));
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        //Setting adapter to show the items in the spinner
        spinner2.setAdapter(new ArrayAdapter<String>(MainActivity_d2.this, android.R.layout.simple_spinner_dropdown_item, students2));
    }
}

解决方案

如果要将微调框选择的项目存储在sqlite中,请遵循以下代码 1.创建本地数据库 2.在您的活动中,按如下所示插入所选值.

LocalDatabase:

public class SpinnerDatabaseHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;

// Database Name
private static final String DATABASE_NAME = "spinnerModule";

// Labels table name
private static final String TABLE_LABELS = "spinner";

// Labels Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_SPINONE = "spinone";
private static final String KEY_SPINTWO = "spintwo";
SQLiteDatabase db;

public LoginDatabaseHandler(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
    // Category table create query
    String CREATE_CATEGORIES_TABLE = "CREATE TABLE " + TABLE_LABELS + "("
            + KEY_ID + " INTEGER PRIMARY KEY,"
            + KEY_SPINONE + " TEXT,"           
            
            + KEY_SPINTWO + " TEXT" + ");";


    db.execSQL(CREATE_CATEGORIES_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Drop older table if existed
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_LABELS);

    // Create tables again
    onCreate(db);
}
public void insertLabel(String spinone,String spintwo){
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    //values.put(KEY_ID,id);
    values.put(KEY_SPINONE,spinone);
    values.put(KEY_SPINTWO,spintwo);
   
    // Inserting Row
    db.insert(TABLE_LABELS, null, values);
    db.close(); // Closing database connection
}

}

要将值从您的活动插入sqlite中,如下所示: 1.在您的mainactivity中将sqlite数据库初始化为

SpinnerDatabaseHandler db=new SpinnerDatabaseHandler(getApplicationContext);

2.之后添加这些代码

 String firstspin=spinner1.getSelectedItem.toString();
 String secondspin=spinner2.getSelectedItem.toString();
 db.insertlabel(firstspin,secondspin);
   

I am fetching the values from database into Spinner its working but I want to insert selected item from Spinner into database, how can I do this?

I am using two Spinners and both Spinner's selected item should insert into database.

How to do this and what I need to do to insert item in PHP?

Activity Class:-

 public class MainActivity_d2 extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

    //Declaring an Spinner
   private Spinner spinner2, spinner1;

    //An ArrayList for Spinner Items

    private ArrayList<String> students1;
    private ArrayList<String> students2;

    //JSON Array

    private JSONArray result1, result2, result;

    //TextViews to display details
    private TextView textViewName1;
    private TextView textViewName2;
    private TextView textViewCourse;
    private TextView textViewSession;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainactivity_d1);

        //Initializing the ArrayList
        students1 = new ArrayList<String>();
        students2 = new ArrayList<String>();

        //Initializing Spinner


        //Adding an Item Selected Listener to our Spinner
        //As we have implemented the class Spinner.OnItemSelectedListener to this class iteself we are passing this to setOnItemSelectedListener


        spinner1 = (Spinner) findViewById(R.id.spinner1);
        spinner2 = (Spinner) findViewById(R.id.spinner2);

        spinner1.setOnItemSelectedListener(this);
        spinner2.setOnItemSelectedListener(this);
        //    spinner1.setOnItemSelectedListener(this);

        //Initializing TextViews
        textViewName1 = (TextView) findViewById(R.id.textViewName1);
        textViewName2 = (TextView) findViewById(R.id.textViewName2);
        //      textViewCourse = (TextView) findViewById(R.id.textViewCourse);
        //      textViewSession = (TextView) findViewById(R.id.textViewSession);

        //This method will fetch the data from the URL

        getData1();
        getData2();
    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    /*    switch (view.getId()){

            case R.id.spinner1:
                getData1();
                break;


            case R.id.spinner2:
                getData2();
                break;
        }*/
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {


        if (spinner1.getId() == R.id.spinner1) {
            //do this
            textViewName1.setText("");
        } else if (spinner2.getId() == R.id.spinner2) {
            //do this
            textViewName2.setText("");
        }

    }

    private void getData1() {
        //Creating a string request
        StringRequest stringRequest1 = new StringRequest(Config.DATA_URL1,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response1) {
                        JSONObject j1 = null;
                        try {
                            //Parsing the fetched Json String to JSON Object
                            j1 = new JSONObject(response1);

                            //Storing the Array of JSON String to our JSON Array
                            result1 = j1.getJSONArray(Config.JSON_ARRAY1);

                            //Calling method getStudents to get the students from the JSON Array
                            getStudents1(result1);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error1) {

                    }
                });

        //Creating a request queue
        RequestQueue requestQueue1 = Volley.newRequestQueue(this);

        //Adding request to the queue
        requestQueue1.add(stringRequest1);
    }

    private void getStudents1(JSONArray j1) {
        //Traversing through all the items in the json array
        for (int i = 0; i < j1.length(); i++) {
            try {
                //Getting json object
                JSONObject json1 = j1.getJSONObject(i);

                //Adding the name of the student to array list
                students1.add(json1.getString(Config.TAG_COURSE));
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        //Setting adapter to show the items in the spinner
        spinner1.setAdapter(new ArrayAdapter<String>(MainActivity_d2.this, android.R.layout.simple_spinner_dropdown_item, students1));
    }

//Initializing TextViews

//      textViewCourse = (TextView) findViewById(R.id.textViewCourse);
//      textViewSession = (TextView) findViewById(R.id.textViewSession);

//This method will fetch the data from the URL

 private void getData2() {
        //Creating a string request
        StringRequest stringRequest2 = new StringRequest(Config.DATA_URL2,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response2) {
                        JSONObject j2 = null;
                        try {
                            //Parsing the fetched Json String to JSON Object
                            j2 = new JSONObject(response2);

                            //Storing the Array of JSON String to our JSON Array
                            result = j2.getJSONArray(Config.JSON_ARRAY);

                            //Calling method getStudents to get the students from the JSON Array
                            getStudents2(result);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error1) {

                    }
                });

        //Creating a request queue
        RequestQueue requestQueue2 = Volley.newRequestQueue(this);

        //Adding request to the queue
        requestQueue2.add(stringRequest2);
    }

    private void getStudents2(JSONArray j2) {
        //Traversing through all the items in the json array
        for (int i = 0; i < j2.length(); i++) {
            try {
                //Getting json object
                JSONObject json2 = j2.getJSONObject(i);

                //Adding the name of the student to array list
                students2.add(json2.getString(Config.TAG_USERNAME));
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        //Setting adapter to show the items in the spinner
        spinner2.setAdapter(new ArrayAdapter<String>(MainActivity_d2.this, android.R.layout.simple_spinner_dropdown_item, students2));
    }
}

解决方案

If you want to store the spinner selected item in sqlite then follow this code 1.create a local db 2.In your activity inserted the selected values as follows.

LocalDatabase:

public class SpinnerDatabaseHandler extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;

// Database Name
private static final String DATABASE_NAME = "spinnerModule";

// Labels table name
private static final String TABLE_LABELS = "spinner";

// Labels Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_SPINONE = "spinone";
private static final String KEY_SPINTWO = "spintwo";
SQLiteDatabase db;

public LoginDatabaseHandler(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
    // Category table create query
    String CREATE_CATEGORIES_TABLE = "CREATE TABLE " + TABLE_LABELS + "("
            + KEY_ID + " INTEGER PRIMARY KEY,"
            + KEY_SPINONE + " TEXT,"           
            
            + KEY_SPINTWO + " TEXT" + ");";


    db.execSQL(CREATE_CATEGORIES_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Drop older table if existed
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_LABELS);

    // Create tables again
    onCreate(db);
}
public void insertLabel(String spinone,String spintwo){
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    //values.put(KEY_ID,id);
    values.put(KEY_SPINONE,spinone);
    values.put(KEY_SPINTWO,spintwo);
   
    // Inserting Row
    db.insert(TABLE_LABELS, null, values);
    db.close(); // Closing database connection
}

}

To insert the values into sqlite from your activity as 1.Initialize the sqlite database in your mainactivity as

SpinnerDatabaseHandler db=new SpinnerDatabaseHandler(getApplicationContext);

2.After that add these codes

 String firstspin=spinner1.getSelectedItem.toString();
 String secondspin=spinner2.getSelectedItem.toString();
 db.insertlabel(firstspin,secondspin);
   

这篇关于如何将微调框选择的项目插入到移动应用程序的mysql数据库中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆