MySQL數據庫存儲日期minDate(01/09/2017)和maxDate(01/10/2017)。
這些日期需要在應用程序中接收並寫入相應的CalendarView屬性。
請幫助請優化和修復代碼。
以下是代碼。代碼優化Android json和mysql
public class RecordActivity extends AppCompatActivity {
HttpResponse httpResponse;
Button button;
TextView textView;
CalendarView mCalendarView;
JSONObject jsonObject = null;
String StringHolder = "";
// Добавление URL-адреса HTTP-сервера в строковую переменную.
String HttpURL = "http://localhost/date_min_max.php";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record);
textView = (TextView) findViewById(R.id.textView);
mCalendarView = (CalendarView) findViewById(R.id.calendarView);
// Вызов метода GetDataFromServerIntoTextView для установки данных JSon MySQL в TextView.
new GetDataFromServerIntoTextView(RecordActivity.this).execute();
}
// Объявление метода GetDataFromServerIntoTextView с помощью AsyncTask.
public class GetDataFromServerIntoTextView extends AsyncTask<Void, Void, Void> {
// Объявление CONTEXT.
public Context context;
public GetDataFromServerIntoTextView(Context context) {
this.context = context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... arg0) {
HttpClient httpClient = new DefaultHttpClient();
// Добавление HttpURL к моему объекту HttpPost.
HttpPost httpPost = new HttpPost(HttpURL);
try {
httpResponse = httpClient.execute(httpPost);
StringHolder = EntityUtils.toString(httpResponse.getEntity(), "UTF-8");
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
// Передача переменной владельца строки в JSONArray.
JSONArray jsonArray = new JSONArray(StringHolder);
jsonObject = jsonArray.getJSONObject(0);
String minDateString = jsonArray.getJSONObject(0).getString("minDate");
String maxDateString = jsonArray.getJSONObject(0).getString("maxDate");
// Парсим дату
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date minDate = formatter.parse(minDateString);
Date maxDate = formatter.parse(maxDateString);
// Получаем время
long minDateTime = minDate.getTime();
long maxDateTime = maxDate.getTime();
// Как-то инициализируете и работаете с этим
CalendarView dpd;
CalendarView dp = mCalendarView;
// Устанавливаем даты
dp.setMinDate(minDateTime);
dp.setMaxDate(maxDateTime);
} catch (JSONException e) {
e.printStackTrace();
} catch (Exception e) {
// TODO Автоматически генерируемый блок catch
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void result) {
try {
// Добавление строки JSOn в textview после завершения загрузки.
textView.setText(jsonObject.getString("minDate"));
} catch (JSONException e) {
// TODO Автоматически генерируемый блок catch
e.printStackTrace();
}
}
}
}
我從mysql接收日期,通過執行php形成JSON。
我會很感激任何幫助我的任務!
_「修復代碼」_:出現什麼問題? – Jeff
dp.setMinDate(minDateTime); - 以紅色突出顯示。 (Ctrl + F1) – idrees