Android 来自数据库的旋转器数据

Android spinner data from database

这是我的代码,微调器从预定义的字符串中获取数据。我想用从数据库 (mysql) 中获取的值替换这些值。网上有很多教程,但没有一个适合我的需要。我不想过多更改我的原始代码。

EditText client;
Spinner spnr;

TextView alert;
Button recharge;
Button cancel;
String[] packages = {
        "W25",
        "W50",
        "W100",
        "W150",
        "M75",
        "M120",
        "M200",
        "M240",
};


/**
 * Called when the activity is first created.
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_recharge);

    cancel = (Button) findViewById(R.id.btcancel);
    cancel.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {

            Intent login = new Intent(getApplicationContext(), MainActivity.class);

            startActivity(login);
            finish();
        }

    });


    client = (EditText) findViewById(R.id.client);
    //plan = (EditText) findViewById(R.id.plan);
    alert = (TextView) findViewById(R.id.alertrecharge);
    recharge = (Button) findViewById(R.id.btrecharge);
    spnr = (Spinner)findViewById(R.id.spinner);
    SpinnerWithPadding = (Spinner)findViewById(R.id.spinner);
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
            this,R.layout.simple_spinner_item,packages );

    spinnerArrayAdapter.setDropDownViewResource(R.layout.simple_spinner_item);

    SpinnerWithPadding.setAdapter(spinnerArrayAdapter);

    recharge.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {

            if ((!client.getText().toString().equals(""))) {
                NetAsync(view);
            } else if ((!client.getText().toString().equals(""))) {
                Toast.makeText(getApplicationContext(),
                        "Plan field empty", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(getApplicationContext(),
                        "Phone number field empty", Toast.LENGTH_SHORT).show();
            }
        }
    });
}

您可以使用以下代码,

        SQLiteDatabase database=openOrCreateDatabase("YOUR_DATABASE_NAME", Context.MODE_PRIVATE, null);
        Cursor c=database.rawQuery("SELECT * FROM YOUR_DATABSE",null);
        String[] strings = new String[c.getCount()];
        int i=0;
        while (c.moveToNext()){
           strings[i]=c.getColumnName(c.getColumnIndex("YOUR_COLUMN_NAME"));
           i++;
        }
        ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
            this,R.layout.simple_spinner_item,strings );

如果您在字符串数组中有 mysql 结果数据,那么您可以这样做,

packages = mysql Result data;
spinnerArrayAdapter.notifyDataSetChanged();

这两行就可以了。