У меня есть простая база данных на моей учетной записи GoDaddy, и я пытаюсь извлечь данные из нее. Я установил простой php-файл в своей учетной записи и могу вызывать его непосредственно из браузера, и он показывает, что извлеченные данные просто прекрасны. Вы можете увидеть его/запустить его здесь:Извлечение данных из онлайн-базы данных
http://thunderbirdtechnology.com/SnapVest/php/SnapVestDatabaseRetrieveAvailableOptions.php
Вы получите следующее: отображается
[
{
"ID": "1",
"CompanyName": "Yahoo Inc.",
"DateInvestStart": "2014-02-19 14:35:56",
"DateInvestEnd": "2014-02-28 11:35:44",
"DatePurchase": "2014-03-11 11:35:51"
}
]
Все хорошо.
Но тогда я пытаюсь сделать это из своей программы JAVA, работающей на моем телефоне ANDROID. И это не сработает. Вот пара кодов:
InputStream inputStream = null;
String result = "";
try
{
HttpClient httpclient = new DefaultHttpClient();
// Here is where we specify where our php file (see sample above) is that will do the actual
// gathering up of the data.
HttpPost httppost = new HttpPost("http://www.ThunderbirdTechnology.com/SnapVes/php/SnapVestDatabaseRetrieveAvailableOptions.php");
HttpResponse httpresponse = httpclient.execute(httppost);
HttpEntity httpentity = httpresponse.getEntity();
inputStream = httpentity.getContent();
}
catch(Exception e)
{
// Report "Error in http connect to database"
Toast.makeText(getBaseContext(),
"Error in http connect to database", Toast.LENGTH_LONG).show();
}
try
{
// Convert response to string
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"),8);
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null)
{
stringBuilder.append(line + "\n");
}
inputStream.close();
result = stringBuilder.toString();
}
catch(Exception e)
{
// Report "Error converting result"
Toast.makeText(getBaseContext(),
"Error converting result", Toast.LENGTH_LONG).show();
}
Он действительно извлекает некоторые данные. Но вот ЗНАЧИТЕЛЬНАЯ ЧАСТЬ! Он НЕ извлекает мои данные из моей таблицы базы данных. Вместо этого он извлекает какой-то файл ODD из I-don-t-know-where!
Вот пример того, что он ВОССТАНОВЛЕНИЕ:
<!--
Copyright 2003, CyberTAN Inc. All Rights Reserved
This is SOURCE CODE of CyberTAN Inc.
the contents of this file may not be disclosed to third parties,
copied or duplicated in any form without the prior written
permission of CyberTAN Inc.
This software should be used as a reference only, and it not
intended for production use!
THIS SOFTWARE IS OFFERED "AS IS", AND CYBERTAN GRANTS NO WARRANTIES OF ANY
KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. CYBERTAN
SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE
-->
<HTML><HEAD><TITLE></TITLE>
<meta http-equiv="expires" content="0">
<meta http-equiv="cache-control" content="no-cache">
Что это такое? Я не знаю, кто и что такое CyberTan. Почему я не получаю данные из своей базы данных? Кажется, он подключается к нему нормально. Кажется, что он выполняет файл php ОК, но то, что он на самом деле возвращает, - это какой-то файл, который я никогда не видел.
Я полностью смущен. :)
Вы пробовали другую конечную точку с вашим Javacode, который также является JSON? – Newbi3