Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 54, средняя оценка - 4.91
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190
#1

Удалённая база данных MySQL, php, android - Программирование Android

10.05.2013, 13:51. Просмотров 7040. Ответов 43
Метки нет (Все метки)

Имеется БД MySQL с таблицей:
MySQL
1
2
3
4
5
6
7
8
9
10
11
12
== Структура таблицы Feld
 
|------
|Поле|Тип|Null|По умолчанию
|------
|//**FID**//|int(11)|Нет|
|**login**|varchar(20)|Нет|
|password|varchar(20)|Нет|
|Fname|varchar(20)|Нет|
|Sname|varchar(20)|Нет|
|Lname|varchar(20)|Нет|
|Fphone|bigint(20)|Нет|
,
скрипт PHP:
PHP
1
2
3
4
5
6
7
8
9
<?php
mysql_connect("bd","login","password");
mysql_select_db("medplus8");
mysql_set_charset( 'utf8' );
$sql=mysql_query("select * from Feld");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print json_fix_cyr(json_encode(array($output)));
mysql_close();?>
и код java:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
package com.example.med;
 
 
 
 
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import android.app.Activity;
import android.net.ParseException;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
 
public class MainActivity extends Activity implements OnClickListener{
     Button button1;
     TextView label;
     MyTask mt;
        
        
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        button1 = (Button) findViewById(R.id.buttonChange);
        button1.setOnClickListener(this);
        
        label = (TextView) findViewById(R.id.label);
    }     
  //----------------------------------------------
    @Override
    public void onClick(View v) {
      switch (v.getId()) {
      case R.id.buttonChange:{
        // TODO Call second activity
         /* Intent intent = new Intent(this, Base.class);
          startActivity(intent);*/
//-------------
        // Здесь трудоемкие задачи переносятся в дочерний поток.
          mt = new MyTask();
            mt.execute();
//---------------------
          
      }break;
      default:
        break;}
      }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    //-------------------------
    public class MyTask extends AsyncTask<Void, Void, Void> {
        //paring data
                int fd_id;
                String fd_login = null;
                String fd_password = null;
                String fd_fname = null;
                String fd_sname = null;
                String fd_lname = null;
                int fd_phone;
                //----------
                JSONArray jArray;
                 String result = null;
                 InputStream is = null;
                 StringBuilder sb=null;
                 //------
         @Override
            protected void onPostExecute(Void result) {
              super.onPostExecute(result);
              //label.setText(fd_id);
    }
        @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub
                // TODO Auto-generated method stub
             ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                //http post
                try{
                     HttpClient httpclient = new DefaultHttpClient();
                     HttpPost httppost = new HttpPost("http://medplus.hut4.ru/feld.php");
                     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                     HttpResponse response = httpclient.execute(httppost);
                     HttpEntity entity = response.getEntity();
                     is = entity.getContent();
                     }
                catch(Exception e)
                {
                         Log.e("log_tag", "Error in http connection"+e.toString());
              }
                //convert response to string
                try{
                      BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf8"),8);
                       sb = new StringBuilder();
                       sb.append(reader.readLine() + "\n");
 
                       String line="0";
                       while ((line = reader.readLine()) != null) 
                       {
                                      sb.append(line + "\n");
                       }
                        is.close();
                        result=sb.toString();
                   }
                   catch(Exception e)
                {
                              Log.e("log_tag", "Error converting result "+e.toString());
              }
                try{
                      jArray = new JSONArray(result);
                      JSONObject json_data=null;
                      for(int i=0;i<jArray.length();i++)
                      {
                             json_data = jArray.getJSONObject(i);
                             fd_id=json_data.getInt("FID");
                             fd_login=json_data.getString("login");
                             fd_password=json_data.getString("password");
                             fd_fname=json_data.getString("Fname");
                             fd_sname=json_data.getString("Sname");
                             fd_lname=json_data.getString("Lname");
                             fd_phone=json_data.getInt("Fphone");
                      }
                    }
                      catch(JSONException e1)
                      {
                          Toast.makeText(getBaseContext(), "No City Found" ,Toast.LENGTH_LONG).show();
                      }
                      catch (ParseException e1)
                    {
                            e1.printStackTrace();
                    }
            return null;
        }
    //--------------------------
    }
 }
При работе с предыдущей таблицей, состоящей из 2- столбцов работало нормально, а с этой(появилось использование русских букв), LogCat выдаёт список ошибок, связаных с AsyncTask.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
05-10 09:32:32.889: D/dalvikvm(969): GC_FOR_ALLOC freed 61K, 8% free 2452K/2660K, paused 688ms, total 691ms
05-10 09:32:33.349: I/dalvikvm-heap(969): Grow heap (frag case) to 15.191MB for 13271056-byte allocation
05-10 09:32:33.460: D/dalvikvm(969): GC_FOR_ALLOC freed 2K, 2% free 15410K/15624K, paused 109ms, total 109ms
05-10 09:32:33.679: D/dalvikvm(969): GC_CONCURRENT freed <1K, 2% free 15410K/15624K, paused 5ms+42ms, total 219ms
05-10 09:32:35.349: D/dalvikvm(969): GC_FOR_ALLOC freed <1K, 2% free 15410K/15624K, paused 57ms, total 57ms
05-10 09:32:35.449: I/dalvikvm-heap(969): Grow heap (frag case) to 20.814MB for 5898256-byte allocation
05-10 09:32:35.602: D/dalvikvm(969): GC_CONCURRENT freed 0K, 2% free 21170K/21388K, paused 20ms+21ms, total 156ms
05-10 09:32:37.220: D/gralloc_goldfish(969): Emulator without GPU emulation detected.
05-10 09:32:54.910: I/Choreographer(969): Skipped 68 frames!  The application may be doing too much work on its main thread.
05-10 09:32:57.860: W/dalvikvm(969): threadid=13: thread exiting with uncaught exception (group=0x40a71930)
05-10 09:32:57.900: E/AndroidRuntime(969): FATAL EXCEPTION: AsyncTask #3
05-10 09:32:57.900: E/AndroidRuntime(969): java.lang.RuntimeException: An error occured while executing doInBackground()
05-10 09:32:57.900: E/AndroidRuntime(969):  at android.os.AsyncTask$3.done(AsyncTask.java:299)
05-10 09:32:57.900: E/AndroidRuntime(969):  at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
05-10 09:32:57.900: E/AndroidRuntime(969):  at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
05-10 09:32:57.900: E/AndroidRuntime(969):  at java.util.concurrent.FutureTask.run(FutureTask.java:239)
05-10 09:32:57.900: E/AndroidRuntime(969):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
05-10 09:32:57.900: E/AndroidRuntime(969):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
05-10 09:32:57.900: E/AndroidRuntime(969):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
05-10 09:32:57.900: E/AndroidRuntime(969):  at java.lang.Thread.run(Thread.java:856)
05-10 09:32:57.900: E/AndroidRuntime(969): Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
05-10 09:32:57.900: E/AndroidRuntime(969):  at android.os.Handler.<init>(Handler.java:197)
05-10 09:32:57.900: E/AndroidRuntime(969):  at android.os.Handler.<init>(Handler.java:111)
05-10 09:32:57.900: E/AndroidRuntime(969):  at android.widget.Toast$TN.<init>(Toast.java:324)
05-10 09:32:57.900: E/AndroidRuntime(969):  at android.widget.Toast.<init>(Toast.java:91)
05-10 09:32:57.900: E/AndroidRuntime(969):  at android.widget.Toast.makeText(Toast.java:238)
05-10 09:32:57.900: E/AndroidRuntime(969):  at com.example.med.MainActivity$MyTask.doInBackground(MainActivity.java:150)
05-10 09:32:57.900: E/AndroidRuntime(969):  at com.example.med.MainActivity$MyTask.doInBackground(MainActivity.java:1)
05-10 09:32:57.900: E/AndroidRuntime(969):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
05-10 09:32:57.900: E/AndroidRuntime(969):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
05-10 09:32:57.900: E/AndroidRuntime(969):  ... 4 more
В чём проблемы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 13:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалённая база данных MySQL, php, android (Программирование Android):

Android и удалённая MySQL - Программирование Android
Помогите разобраться, как вообще подключатся и работать с удалённой бд mysql? Почитал на форуме, погуглил, мало инфы, либо не совсем...

Android+php+MySQL - Программирование Android
Я с помощью php-скрипта получаю данные код &quot;приема&quot; такой JSONObject json = jParser.makeHttpRequest(url_all_students, &quot;GET&quot;,...

Общая база для android и ios. Реализация сервера на php - Программирование Android
Здравствуйте. Помогите пожалуйста. Мы с другом решили сделать приложение. Одно на android, другое на ios. База приложения будет...

База данных на Android - Программирование Android
Ребят,в java впервые влез, да и под Android впервые решил попробовать написать. Есть вопрос,как сделать чтобы при авторизации, шел запрос...

Делаю удаленную базу Android-Php-MySql - Программирование Android
Здравствуйте! Я нашел эти кода из уроков devcolibri.com db_connect.php &lt;?php class DB_CONNECT { function...

База данных в Android приложении - Программирование Android
Такая проблема, у меня есть база в MySQL, а в приложении нужно, чтобы база была в формате Sqlite, никак не получается конвертировать ее,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
jumb0jet
16 / 16 / 0
Регистрация: 08.05.2013
Сообщений: 40
11.05.2013, 17:26 #16
8VAid8, ошибка явно не в моем коде. Вообще хз что это такое. Эта проверка нужна, для того чтобы нельзя было запустить еще один экземпляр таска пока выполняется предыдущий.
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190
12.05.2013, 16:50  [ТС] #17
А как мне получить время на сервере?

В скрипте пишу:
PHP
1
2
3
4
5
if (isset($_GET['time']))
{
 $dates=date('H-i-s');
 print json_encode($dates);
}
В браузер выводится нормально.
А как на стороне клиента? Опять переписывать все классы?
Вот полный код php-скрипта:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
mysql_connect("database","medplus8","4betvO7O");
mysql_select_db("medplus8");
mysql_set_charset( 'utf8' );
if (isset($_GET['users']))
{
$sql=mysql_query("select * from Feld");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print json_fix_cyr(json_encode($output));
}
if (isset($_GET['time']))
{
 $dates=date('H-i-s');
 print json_encode($dates);
}
mysql_close();
 
 
function json_fix_cyr($json_str) { 
 $cyr_chars = array ( 
 '\u0430' => 'а', '\u0410' => 'А', 
 '\u0431' => 'б', '\u0411' => 'Б', 
 '\u0432' => 'в', '\u0412' => 'В', 
 '\u0433' => 'г', '\u0413' => 'Г', 
 '\u0434' => 'д', '\u0414' => 'Д', 
 '\u0435' => 'е', '\u0415' => 'Е', 
 '\u0451' => 'ё', '\u0401' => 'Ё', 
 '\u0436' => 'ж', '\u0416' => 'Ж', 
 '\u0437' => 'з', '\u0417' => 'З', 
 '\u0438' => 'и', '\u0418' => 'И', 
 '\u0439' => 'й', '\u0419' => 'Й', 
 '\u043a' => 'к', '\u041a' => 'К', 
 '\u043b' => 'л', '\u041b' => 'Л', 
 '\u043c' => 'м', '\u041c' => 'М', 
 '\u043d' => 'н', '\u041d' => 'Н', 
 '\u043e' => 'о', '\u041e' => 'О', 
 '\u043f' => 'п', '\u041f' => 'П', 
 '\u0440' => 'р', '\u0420' => 'Р', 
 '\u0441' => 'с', '\u0421' => 'С', 
 '\u0442' => 'т', '\u0422' => 'Т', 
 '\u0443' => 'у', '\u0423' => 'У', 
 '\u0444' => 'ф', '\u0424' => 'Ф', 
 '\u0445' => 'х', '\u0425' => 'Х', 
 '\u0446' => 'ц', '\u0426' => 'Ц', 
 '\u0447' => 'ч', '\u0427' => 'Ч', 
 '\u0448' => 'ш', '\u0428' => 'Ш', 
 '\u0449' => 'щ', '\u0429' => 'Щ', 
 '\u044a' => 'ъ', '\u042a' => 'Ъ', 
 '\u044b' => 'ы', '\u042b' => 'Ы', 
 '\u044c' => 'ь', '\u042c' => 'Ь', 
 '\u044d' => 'э', '\u042d' => 'Э', 
 '\u044e' => 'ю', '\u042e' => 'Ю', 
 '\u044f' => 'я', '\u042f' => 'Я', 
 
 '\r' => '', 
 '\n' => '<br />', 
 '\t' => '' 
 ); 
 
 foreach ($cyr_chars as $cyr_char_key => $cyr_char) { 
 $json_str = str_replace($cyr_char_key, $cyr_char, $json_str); 
 } 
 return $json_str; 
}
?>
jumb0jet
16 / 16 / 0
Регистрация: 08.05.2013
Сообщений: 40
12.05.2013, 23:05 #18
8VAid8, какой ответ приходит с сервера?
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190
12.05.2013, 23:24  [ТС] #19
Решил не создавать нового потока. Добавил в таблицу поле TIME_LAST_LOGIN для хранения времени последнего входа.
PHP-скриптом хочу добавить поле в строку.
PHP
1
2
3
4
5
6
7
$date=date('d.m.Y. H-i-s');                            //время сервера
if (isset($_GET['updatetime']))
{
$id = $_GET['id'];
echo
$sqlin=mysql_query("UPDATE `medplus8`.`Feld` SET `TIME_LAST_LOGIN` = ".$date." WHERE `Feld`.`FID` =".$id.";"); 
}
Посылаю запрос : http://medplus.hut4.ru/feld.php?updatetime&id=3. Не проходит дата.
jumb0jet
16 / 16 / 0
Регистрация: 08.05.2013
Сообщений: 40
12.05.2013, 23:28 #20
8VAid8, не самый лучший json. Пересмотри его структуру. Парсить довольно неудобно. Плюс если еще будут изменения в нем, то придется снова вносить большие изменения в алгоритм парсера.
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190
13.05.2013, 00:00  [ТС] #21
Да, json крив, т.к. в этом проекте первый раз сталкиваюсь с ним, php, mySQL и android.
Но почему не вставляется текущая дата в ячейку?
PHP
1
2
3
$date=date('d.m.Y. H-i-s');
$sqlin=mysql_query("UPDATE `medplus8`.`Feld` SET `TIME_LAST_LOGIN` = ".$date." WHERE `Feld`.`FID` =".$id.";"); 
}
Этот код работает, если вставлять вместо .$date. просто текст.
jumb0jet
16 / 16 / 0
Регистрация: 08.05.2013
Сообщений: 40
13.05.2013, 00:03 #22
8VAid8, я PHP тоже не особо разбираюсь, а вернее вообще не знаю кроме синтаксиса. Тут ничего не могу подсказать.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
13.05.2013, 00:05 #23
По поводу PHP обращайтесь в раздел PHP.
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190
17.05.2013, 01:22  [ТС] #24
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
package com.example.med;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import android.app.Activity;
import android.content.Intent;
import android.net.ParseException;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
 
import com.example.med.MainActivity.UserInfo;
 
public class Base extends Activity implements OnClickListener{
    
    Button buttonLogout;
    Button buttonSearch;
    Button buttonPersonal;
    Button buttonPatient;
    Button buttonMedic;
    Button buttonStat;
    Intent intent;
    TextView textViewLastLogin;
 //-данные текущего пользователя
    int  userId;
    String userFname = null;
    String userSname = null;
    String userLname = null;
    String userPhone = null;
    String time_last_login = null;
    private TaskForLastTime task;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_base);
        buttonLogout = (Button) findViewById(R.id.buttonLogout);
        buttonLogout.setOnClickListener(this);
        
        buttonSearch = (Button) findViewById(R.id.buttonSearch);
        buttonSearch.setOnClickListener(this);
        
        buttonPersonal = (Button) findViewById(R.id.buttonChange);
        buttonPersonal.setOnClickListener(this);
        
        buttonPatient = (Button) findViewById(R.id.buttonCalls);
        buttonPatient.setOnClickListener(this);
        
        buttonMedic = (Button) findViewById(R.id.buttonMedic);
        buttonMedic.setOnClickListener(this);
        
        buttonStat = (Button)findViewById(R.id.buttonStat);
        buttonStat.setOnClickListener(this);
        
        TextView FIO = (TextView) findViewById(R.id.FIO);
        textViewLastLogin = (TextView) findViewById(R.id.textViewLastLogin);
        //----получение данных из MainActivity------------
        Intent intent = getIntent();        
        userId = intent.getIntExtra("userId", -1);
        Toast.makeText(Base.this, String.valueOf(userId),Toast.LENGTH_SHORT).show();
        userFname = intent.getStringExtra("userFname");
        userSname = intent.getStringExtra("userSname");
        userLname = intent.getStringExtra("userLname");
        userPhone = intent.getStringExtra("userPhone");
        //---получение последнего времени входа----------
        task = new TaskForLastTime();
        task.execute();
        //----Установка значений-------------------------
        FIO.setText("Добро пожаловать, "+ userFname + " " + userSname + " " + userLname + ".");
    }
    //----------------------------------------------
    @Override
    public void onClick(View v)
    {
        if (v.getId() == R.id.buttonLogout) {
            intent = new Intent(this, MainActivity.class);
            startActivity(intent);
        } else if (v.getId() == R.id.buttonSearch) {
            intent = new Intent(this, VizovActivity.class);
            startActivity(intent);
        } else if (v.getId() == R.id.buttonChange) {
            intent = new Intent(this, PersonalActivity.class);
            startActivity(intent);
        } else if (v.getId() == R.id.buttonCalls) {
            intent = new Intent(this, PatientActivity.class);
            startActivity(intent);
        } else if (v.getId() == R.id.buttonMedic) {
            intent = new Intent(this, MedicActivity.class);
            startActivity(intent);
        } else if (v.getId() == R.id.buttonStat) {
            intent = new Intent(this, StatActivity.class);
            startActivity(intent);
        } else {
        }
    }
    //------------------------------------------------
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.base, menu);
        return true;
    }
    
    //-----------------------------
    
    private static final String TAG = MainActivity.class.getName();
     
    private  final String HOST = "http://medplus.hut4.ru/feld.php?updatetime&id="+String.valueOf(userId);
    
    private static final String ENCODING = "utf8";
    //------------------------------
    public class TaskForLastTime extends AsyncTask<Void, UserInfo, Void> {
 
        public static final String KEY_ID = "FID";
        public static final String KEY_TIME_LOGIN = "TIME_LAST_LOGIN";
        public static final String KEY_PHONE = "Fphone";
 
        private JSONArray jsonArray;
        private String webData = null;
        private StringBuilder sb = null;
        private Throwable exception;
  
        @Override
        protected Void doInBackground(Void... params) {
            HttpEntity entity = null;
            try {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(HOST);
                HttpResponse response = httpclient.execute(httppost);
                entity = response.getEntity();              
            } catch (Exception e) {
                Log.e(TAG, "Error in http connection" + e.toString(), e);
                exception = e;
                return null;
            }
            BufferedReader reader = null;
            InputStream is = null;
            try {
                is = entity.getContent();
                reader = new BufferedReader(
                        new InputStreamReader(is, ENCODING), 8);
                sb = new StringBuilder();
 
                String line = null;
                while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
                }
                
                webData = sb.toString();
            } catch (Exception e) {
                Log.e(TAG, "Error converting result " + e.toString(), e);
                exception = e;
                return null;
            } finally {
                try {
                    reader.close();
                    is.close();
                } catch (IOException e) {
                    Log.e(TAG, "Unexpected Error" + e.toString(), e);
                }
            }
 
            try {
                jsonArray = new JSONArray(webData);
                JSONObject jsonData = null; 
                for (int i = 0; i < jsonArray.length(); i++) {
                    jsonData = jsonArray.getJSONObject(i);
                    if(i==userId)
                    {
                    time_last_login= jsonData.getString(KEY_TIME_LOGIN);
                    }
                }
            } catch (JSONException e) {
                Log.e(TAG, "Bad json " + e.toString(), e);
                exception = e;
                return null;
            } catch (ParseException e) {
                Log.e(TAG, "Error converting result " + e.toString(), e);
                exception = e;
                return null;
            }
            return null;
        }
        
        @Override
        protected void onPreExecute()
        {
            time_last_login = "";
        }
 
        @Override
        protected void onPostExecute(Void result) {
            if (exception != null) {
                Toast.makeText(Base.this,
                        "Error while getting data from web server",
                        Toast.LENGTH_SHORT).show();
            }
            textViewLastLogin.setText(time_last_login);
        }
    }
    }
Почему не отправляется запрос? Из строки браузера нормально проходит.

P.S. Вот это должно запускаться при запуске активити.
Java
1
private  final String HOST = "http://medplus.hut4.ru/feld.php?updatetime&id="+String.valueOf(userId);
Ошибок нет.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.05.2013, 01:28 #25
добавьте логи/подебагайте.

Добавлено через 1 минуту
выложите проект если не умеете.
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190
17.05.2013, 01:28  [ТС] #26
Логи:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
05-16 20:57:04.483: E/Trace(969): error opening trace file: No such file or directory (2)
05-16 20:57:05.633: D/dalvikvm(969): GC_FOR_ALLOC freed 64K, 8% free 2453K/2664K, paused 87ms, total 100ms
05-16 20:57:05.933: I/dalvikvm-heap(969): Grow heap (frag case) to 15.191MB for 13271056-byte allocation
05-16 20:57:06.064: D/dalvikvm(969): GC_FOR_ALLOC freed 2K, 2% free 15411K/15628K, paused 89ms, total 89ms
05-16 20:57:06.234: D/dalvikvm(969): GC_CONCURRENT freed <1K, 2% free 15411K/15628K, paused 5ms+42ms, total 159ms
05-16 20:57:08.572: D/dalvikvm(969): GC_FOR_ALLOC freed <1K, 2% free 15410K/15628K, paused 27ms, total 28ms
05-16 20:57:08.642: I/dalvikvm-heap(969): Grow heap (frag case) to 20.814MB for 5898256-byte allocation
05-16 20:57:08.742: D/dalvikvm(969): GC_CONCURRENT freed 0K, 2% free 21170K/21392K, paused 19ms+18ms, total 100ms
05-16 20:57:09.762: D/gralloc_goldfish(969): Emulator without GPU emulation detected.
05-16 20:58:32.393: D/InputEventConsistencyVerifier(969): KeyEvent: ACTION_UP but key was not down.
05-16 20:58:32.393: D/InputEventConsistencyVerifier(969):   in android.widget.EditText{40cf0120 VFED..CL .F....I. 197,483-1152,523 #7f09000f app:id/editSname}
05-16 20:58:32.393: D/InputEventConsistencyVerifier(969):   0: sent at 299995000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=299995, downTime=299899, deviceId=0, source=0x101 }
05-16 20:58:35.246: D/InputEventConsistencyVerifier(969): KeyEvent: ACTION_UP but key was not down.
05-16 20:58:35.246: D/InputEventConsistencyVerifier(969):   in android.widget.Button{40cddf50 VFED..C. .F....I. 128,523-1152,571 #7f090006 app:id/buttonChange}
05-16 20:58:35.246: D/InputEventConsistencyVerifier(969):   0: sent at 302858000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=302858, downTime=302821, deviceId=0, source=0x101 }
05-16 20:58:37.383: D/dalvikvm(969): GC_FOR_ALLOC freed 13215K, 62% free 8480K/21840K, paused 250ms, total 304ms
05-16 20:58:37.463: I/dalvikvm-heap(969): Grow heap (frag case) to 18.378MB for 10441220-byte allocation
05-16 20:58:37.783: D/dalvikvm(969): GC_FOR_ALLOC freed 14K, 15% free 18662K/21840K, paused 315ms, total 315ms
05-16 20:58:38.224: D/dalvikvm(969): GC_CONCURRENT freed 2K, 15% free 18660K/21840K, paused 11ms+86ms, total 443ms
05-16 20:58:42.673: D/dalvikvm(969): GC_FOR_ALLOC freed 26K, 15% free 18634K/21840K, paused 55ms, total 55ms
05-16 20:58:42.712: I/dalvikvm-heap(969): Grow heap (frag case) to 22.760MB for 4637620-byte allocation
05-16 20:58:42.892: D/dalvikvm(969): GC_CONCURRENT freed 0K, 13% free 23163K/26372K, paused 75ms+19ms, total 172ms
05-16 20:58:43.075: I/Choreographer(969): Skipped 620 frames!  The application may be doing too much work on its main thread.
05-16 21:05:05.645: E/Trace(1057): error opening trace file: No such file or directory (2)
05-16 21:05:07.183: D/dalvikvm(1057): GC_FOR_ALLOC freed 68K, 9% free 2453K/2668K, paused 411ms, total 414ms
05-16 21:05:07.323: I/dalvikvm-heap(1057): Grow heap (frag case) to 15.191MB for 13271056-byte allocation
05-16 21:05:07.433: D/dalvikvm(1057): GC_FOR_ALLOC freed 2K, 2% free 15411K/15632K, paused 109ms, total 109ms
05-16 21:05:07.525: D/dalvikvm(1057): GC_CONCURRENT freed <1K, 2% free 15411K/15632K, paused 13ms+28ms, total 87ms
05-16 21:05:08.823: D/dalvikvm(1057): GC_FOR_ALLOC freed <1K, 2% free 15410K/15632K, paused 27ms, total 27ms
05-16 21:05:08.883: I/dalvikvm-heap(1057): Grow heap (frag case) to 20.814MB for 5898256-byte allocation
05-16 21:05:09.065: D/dalvikvm(1057): GC_CONCURRENT freed 0K, 2% free 21170K/21396K, paused 74ms+24ms, total 188ms
05-16 21:05:09.973: D/gralloc_goldfish(1057): Emulator without GPU emulation detected.
05-16 21:05:47.795: D/InputEventConsistencyVerifier(1057): KeyEvent: ACTION_UP but key was not down.
05-16 21:05:47.795: D/InputEventConsistencyVerifier(1057):   in android.widget.EditText{40cf0f80 VFED..CL .F....I. 197,483-1152,523 #7f09000f app:id/editSname}
05-16 21:05:47.795: D/InputEventConsistencyVerifier(1057):   0: sent at 735426000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=735426, downTime=735313, deviceId=0, source=0x101 }
05-16 21:05:59.853: D/dalvikvm(1057): GC_FOR_ALLOC freed 13288K, 62% free 8486K/21920K, paused 248ms, total 299ms
05-16 21:05:59.913: I/dalvikvm-heap(1057): Grow heap (frag case) to 18.384MB for 10441220-byte allocation
05-16 21:06:00.353: D/dalvikvm(1057): GC_FOR_ALLOC freed 20K, 15% free 18662K/21920K, paused 432ms, total 432ms
05-16 21:06:00.795: D/dalvikvm(1057): GC_CONCURRENT freed 2K, 15% free 18660K/21920K, paused 10ms+25ms, total 445ms
05-16 21:06:05.453: D/dalvikvm(1057): GC_FOR_ALLOC freed 26K, 15% free 18634K/21920K, paused 65ms, total 65ms
05-16 21:06:05.492: I/dalvikvm-heap(1057): Grow heap (frag case) to 22.760MB for 4637620-byte allocation
05-16 21:06:05.762: D/dalvikvm(1057): GC_CONCURRENT freed 0K, 13% free 23163K/26452K, paused 83ms+39ms, total 267ms
05-16 21:06:05.972: I/Choreographer(1057): Skipped 657 frames!  The application may be doing too much work on its main thread.
05-16 21:06:06.822: I/Choreographer(1057): Skipped 38 frames!  The application may be doing too much work on its main thread.
05-16 21:08:09.862: D/InputEventConsistencyVerifier(1057): KeyEvent: ACTION_UP but key was not down.
05-16 21:08:09.862: D/InputEventConsistencyVerifier(1057):   in android.widget.EditText{41f9c878 VFED..CL .F....I. 197,483-1152,523 #7f09000f app:id/editSname}
05-16 21:08:09.862: D/InputEventConsistencyVerifier(1057):   0: sent at 877520000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=877520, downTime=877393, deviceId=0, source=0x101 }
05-16 21:08:12.215: D/InputEventConsistencyVerifier(1057): KeyEvent: ACTION_UP but key was not down.
05-16 21:08:12.215: D/InputEventConsistencyVerifier(1057):   in android.widget.Button{41f7cda8 VFED..C. .F....I. 128,523-1152,571 #7f090006 app:id/buttonChange}
05-16 21:08:12.215: D/InputEventConsistencyVerifier(1057):   0: sent at 879869000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=879869, downTime=879777, deviceId=0, source=0x101 }
05-16 21:08:16.743: I/Choreographer(1057): Skipped 71 frames!  The application may be doing too much work on its main thread.
05-16 21:08:17.564: I/Choreographer(1057): Skipped 33 frames!  The application may be doing too much work on its main thread.
05-16 21:08:19.463: I/Choreographer(1057): Skipped 62 frames!  The application may be doing too much work on its main thread.
05-16 21:16:29.943: D/dalvikvm(1162): GC_FOR_ALLOC freed 71K, 9% free 2453K/2672K, paused 279ms, total 297ms
05-16 21:16:30.595: I/dalvikvm-heap(1162): Grow heap (frag case) to 15.191MB for 13271056-byte allocation
05-16 21:16:30.773: D/dalvikvm(1162): GC_FOR_ALLOC freed 2K, 2% free 15411K/15636K, paused 116ms, total 116ms
05-16 21:16:30.883: D/dalvikvm(1162): GC_CONCURRENT freed <1K, 2% free 15411K/15636K, paused 7ms+16ms, total 81ms
05-16 21:16:32.093: D/dalvikvm(1162): GC_FOR_ALLOC freed <1K, 2% free 15410K/15636K, paused 31ms, total 31ms
05-16 21:16:32.163: I/dalvikvm-heap(1162): Grow heap (frag case) to 20.814MB for 5898256-byte allocation
05-16 21:16:32.333: D/dalvikvm(1162): GC_CONCURRENT freed 0K, 2% free 21170K/21400K, paused 74ms+28ms, total 175ms
05-16 21:16:33.413: D/gralloc_goldfish(1162): Emulator without GPU emulation detected.
05-16 21:16:46.262: D/InputEventConsistencyVerifier(1162): KeyEvent: ACTION_UP but key was not down.
05-16 21:16:46.262: D/InputEventConsistencyVerifier(1162):   in android.widget.EditText{40cf1e68 VFED..CL .F....I. 197,483-1152,523 #7f09000f app:id/editSname}
05-16 21:16:46.262: D/InputEventConsistencyVerifier(1162):   0: sent at 1393891000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=1393891, downTime=1393782, deviceId=0, source=0x101 }
05-16 21:16:49.043: D/InputEventConsistencyVerifier(1162): KeyEvent: ACTION_UP but key was not down.
05-16 21:16:49.043: D/InputEventConsistencyVerifier(1162):   in android.widget.Button{40cddf50 VFED..C. .F....ID 128,523-1152,571 #7f090006 app:id/buttonChange}
05-16 21:16:49.043: D/InputEventConsistencyVerifier(1162):   0: sent at 1396742000000, KeyEvent { action=ACTION_UP, keyCode=KEYCODE_TAB, scanCode=15, metaState=0, flags=0x8, repeatCount=0, eventTime=1396742, downTime=1396658, deviceId=0, source=0x101 }
05-16 21:16:51.324: D/dalvikvm(1162): GC_FOR_ALLOC freed 13213K, 62% free 8479K/21840K, paused 196ms, total 245ms
05-16 21:16:51.373: I/dalvikvm-heap(1162): Grow heap (frag case) to 18.377MB for 10441220-byte allocation
05-16 21:16:51.683: D/dalvikvm(1162): GC_FOR_ALLOC freed 13K, 15% free 18662K/21840K, paused 311ms, total 311ms
05-16 21:16:52.085: D/dalvikvm(1162): GC_CONCURRENT freed 2K, 15% free 18660K/21840K, paused 8ms+9ms, total 399ms
05-16 21:16:56.333: D/dalvikvm(1162): GC_FOR_ALLOC freed 25K, 15% free 18634K/21840K, paused 310ms, total 310ms
05-16 21:16:56.503: I/dalvikvm-heap(1162): Grow heap (frag case) to 22.760MB for 4637620-byte allocation
05-16 21:16:56.693: D/dalvikvm(1162): GC_CONCURRENT freed 0K, 13% free 23163K/26372K, paused 77ms+19ms, total 195ms
05-16 21:16:56.913: I/Choreographer(1162): Skipped 604 frames!  The application may be doing too much work on its main thread.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.05.2013, 01:30 #27
имел ввиду добавьте в код логов, в тех что вы выложили не вижу никакой полезной инфы.
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190
17.05.2013, 01:39  [ТС] #28
Проект прилагаю.
Вложения
Тип файла: 7z workspace.7z (9.64 Мб, 7 просмотров)
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
17.05.2013, 01:52 #29
какой логин/пароль вводить? что нажимать?
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190
17.05.2013, 01:56  [ТС] #30
login:login
password: password
-> войти
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2013, 01:56
Привет! Вот еще темы с ответами:

База данных Android из Eclipse - Программирование Android
Доброго времени суток. Читаю литературу по БД для андроид, и наткнулся на такую вещь, чтобы создать БД нужно ее полностью прописать в...

Удаленная база данных для Android - Программирование Android
Здраствуйте! Помогите, пожалуйста! Я понял суть удаленной базы данных MySQL для интернет приложения, но я сам не могу написать, так как я...

Android, ListView, база данных SQLite - Программирование Android
Как достать картинку из БД (SQLite) и поместить её в ListView??? помогите, пожалуйста :)

Имеется база данных mysql (с сайта), в ней данные о товаре, как проще всего сделать онлайн андроид приложение - Программирование Android
Имеется база данных mysql(с сайта), в ней данные о товаре. Как сделать онлайн андроид приложение для быстрого поиска товаров по этой базе...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.05.2013, 01:56
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru