Как сохранить значение счетчика сохранить в базе данных mysql .. Я пытаюсь сохранить значение счетчика в базе данных mysql, но не сохранить .. как решить проблему ..
Как это сделать и что мне нужно сделать, чтобы вставить элемент в PHP ?.
помогите решить мою проблему … заранее Спасибо ……………………..
Вот код Java …
package com.example.spinner.Category;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import com.example.spinner.Category1;
import com.example.spinner.HttpParse;
import com.example.spinner.MainActivity;
import com.example.spinner.R;
import com.example.spinner.ServiceHandler;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class CategoryMainActivity extends AppCompatActivity {EditText CatsName;
Button RegisterCategory, ShowCategory;
String CatsNameHolder, CatsTypeHolder;
Boolean CheckEditTextcats ;
ProgressDialog progressDialog;
String finalResult ;
private Spinner spinnerFood;
// array list for spinner adapter
private ArrayList<Category1> categoriesList;
private String URL_CATEGORIES = "http://10.0.2.2/food_api/get_categories.php";
ProgressDialog pDialog;
HashMap<String,String> hashMap = new HashMap<>();
HttpParse httpParse = new HttpParse();
String HttpURL = "http://10.0.2.2/phpfiles/CatsRegister.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_category_main);categoriesList = new ArrayList<Category1>();
// spinner item select listener
// Add new category click eventnew CategoryMainActivity.GetCategories().execute();CatsName = (EditText)findViewById(R.id.CatsName);
spinnerFood = (Spinner) findViewById(R.id.spinType);RegisterCategory = (Button)findViewById(R.id.buttonSubmit);
ShowCategory = (Button)findViewById(R.id.buttonShow);
RegisterCategory.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Checking whether EditText is Empty or Not
CheckEditTextIsEmptyOrNot();
if(CheckEditTextcats){
// If EditText is not empty and CheckEditText = True then this block will execute.
CategoryRegistration(CatsNameHolder,CatsTypeHolder);
}
else {
// If EditText is empty then this block will execute .
Toast.makeText(CategoryMainActivity.this, "Please fill all form fields.", Toast.LENGTH_LONG).show();
}
}
});
ShowCategory.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {Intent intent = new Intent(getApplicationContext(),ShowAllCategory.class);
startActivity(intent);
}
});
}
private void populateSpinner() {
List<String> lables = new ArrayList<String>();for (int i = 0; i < categoriesList.size(); i++) {
lables.add(categoriesList.get(i).getName());
}
// Creating adapter for spinner
ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, lables);
// Drop down layout style - list view with radio button
spinnerAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
spinnerFood.setAdapter(spinnerAdapter);
}
public void CategoryRegistration(final String C_Name, final String C_Type){
class CategoryRegistrationClass extends AsyncTask<String,Void,String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show(CategoryMainActivity.this,"Loading Data",null,true,true);
}
@Override
protected void onPostExecute(String httpResponseMsg) {
super.onPostExecute(httpResponseMsg);
progressDialog.dismiss();
Toast.makeText(CategoryMainActivity.this,httpResponseMsg.toString(), Toast.LENGTH_LONG).show();
}
@Override
protected String doInBackground(String... params) {
hashMap.put("Catsname",params[0]);
hashMap.put("spinType",params[1]);finalResult = httpParse.postRequest(hashMap, HttpURL);
return finalResult;
}
}
CategoryRegistrationClass categoryRegistrationClass = new CategoryRegistrationClass();
categoryRegistrationClass.execute(C_Name,C_Type);
}public void CheckEditTextIsEmptyOrNot(){
CatsNameHolder = CatsName.getText().toString();if(TextUtils.isEmpty(CatsNameHolder))
{
CheckEditTextcats = false;
}
else {
CheckEditTextcats = true ;
}
}
private class GetCategories extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(CategoryMainActivity.this);
pDialog.setMessage("Fetching food categories..");
pDialog.setCancelable(false);
pDialog.show();
}
@Override
protected Void doInBackground(Void... arg0) {
ServiceHandler jsonParser = new ServiceHandler();
String json = jsonParser.makeServiceCall(URL_CATEGORIES, ServiceHandler.GET);
Log.e("Response: ", "> " + json);
if (json != null) {
try {
JSONObject jsonObj = new JSONObject(json);
if (jsonObj != null) {
JSONArray categories = jsonObj
.getJSONArray("categories");
for (int i = 0; i < categories.length(); i++) {
JSONObject catObj = (JSONObject) categories.get(i);
Category1 cat = new Category1(catObj.getInt("id"),
catObj.getString("name"));
categoriesList.add(cat);
}
}
} catch (JSONException e) {
e.printStackTrace();
}
} else {
Log.e("JSON Data", "Didn't receive any data from server!");
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (pDialog.isShowing())
pDialog.dismiss();
populateSpinner();
}
}
}
</code>
Вот XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:padding="15dp"><TextView
android:text="Category Registertion Form"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:gravity="center"android:textSize="20dp"android:textStyle="bold"
android:layout_marginTop="40dp"android:id="@+id/textView" />
<EditText
android:layout_width="fill_parent"android:layout_height="50dp"
android:inputType="textPersonName"android:gravity="center"android:hint="Enter Category Name"android:ems="10"android:layout_below="@+id/textView"android:layout_centerHorizontal="true"android:layout_marginTop="20dp"android:id="@+id/CatsName" />
<TextView android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_below="@+id/textView"android:text="Select Type"/>
<Spinner android:id="@+id/spinType"android:layout_below="@+id/CatsName"android:layout_width="fill_parent"android:layout_height="wrap_content"/><Button
android:text="Register"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:layout_below="@+id/spinType"android:id="@+id/buttonSubmit" />
<Button
android:text="Show All Records"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginTop="7dp"android:layout_below="@+id/buttonSubmit"android:id="@+id/buttonShow" />
</RelativeLayout>
List<String> lables = new ArrayList<String>();
for (int i = 0; i < categoriesList.size(); i++) {
lables.add(categoriesList.get(i).getName());
}
ArrayAdapter dataAdapter = new ArrayAdapter<String>(CategoryMainActivity.this, android.R.layout.simple_spinner_item, lables);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerFood.setAdapter(dataAdapter);
Это потому, что вы не получили выбранные предметы от вашего счетчика, получите это так:
spinner.getSelectedItem().toString();
или любой тип данных, который вы хотите, но обязательно используйте getSelectedItem()
чтобы получить значение.