Как отмечали другие, словари по своей сути неупорядочены. Однако, если проблема заключается в просто отображении словарей упорядоченным способом, вы можете переопределить метод __str__
в подклассе словаря и использовать этот словарь, а не встроенный dict
. Например,
class SortedDisplayDict(dict):
def __str__(self):
return "{" + ", ".join("%r: %r" % (key, self[key]) for key in sorted(self)) + "}"
>>> d = SortedDisplayDict({2:3, 1:89, 4:5, 3:0})
>>> d
{1: 89, 2: 3, 3: 0, 4: 5}
Обратите внимание, что это ничего не меняет о том, как хранятся ключи, порядок их возврата, когда вы перебираете их и т. Д., Только как они отображаются с print
или на консоль python.
Отправка данных на сервер с использованием метода POST Uri.Builder
для создания запроса String.Как следует
Uri.Builder builder = new Uri.Builder()
.appendQueryParameter("firstParam", paramValue1)
.appendQueryParameter("secondParam", paramValue2)
String query = builder.build().getEncodedQuery();
Для вашего вопроса ваш почтовый метод будет выглядеть следующим образом
try {
URL url = new URL("http://192.168.172.2/foods/insert.php");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(10000); //change according to need
conn.setConnectTimeout(15000); //change according to need
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
Uri.Builder builder = new Uri.Builder()
.appendQueryParameter("name", name)
.appendQueryParameter("category", category)
.appendQueryParameter("quantity", quantity);
String query = builder.build().getEncodedQuery();
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(os, "UTF-8"));
writer.write(query);
writer.flush();
writer.close();
os.close();
conn.connect();
//get response from server
String response = conn.getResponseMessage();
Log.d("URl->", response);
} catch (IOException e) {
e.printStackTrace();
}
Я надеюсь, что его работа для вас