Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
xonski
1 / 1 / 0
Регистрация: 24.07.2013
Сообщений: 35
1

Как обновить домашний виджет с данными вытащил из JSON файл

29.01.2014, 18:00. Просмотров 683. Ответов 0
Метки нет (Все метки)

есть домашний виджет, который "должен" дисплей тексты и изображения, как только вытащил из файла JSON с моего сервера, но это ничего не показывая.

Мой кода 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
public class DisplayHadith extends AppWidgetProvider {
 
    public static String CLOCK_WIDGET_UPDATE = "CLOCK_WIDGET_UPDATE";
 
    
    DefaultHttpClient httpclient;
    HttpPost httppost;
    InputStream inputStream = null;
    String result = null;
    StringBuilder sb;
    JSONArray jsonArray;
    String[] date, quote;
    RemoteViews views;
 
    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);
 
        if (CLOCK_WIDGET_UPDATE.equals(intent.getAction())) {
            Toast.makeText(context, "onReceiver()", Toast.LENGTH_LONG).show();
        }
 
        new GetJSON().execute();
    }
 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager,
            int[] appWidgetIds) {
        final int N = appWidgetIds.length;
 
        Log.i("ExampleWidget",
                "Updating widgets " + Arrays.asList(appWidgetIds));
 
        // Perform this loop procedure for each App Widget that belongs to this
        // provider
        for (int i = 0; i < N; i++) {
            int appWidgetId = appWidgetIds[i];
 
            // Create an Intent to launch MainActivity
            Intent intent = new Intent(context, MainActivity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0,
                    intent, 0);
 
            // Get the layout for the App Widget and attach an on-click listener
            // to the button
            views = new RemoteViews(context.getPackageName(),
                    R.layout.widgetlayout);
 
            views.setOnClickPendingIntent(R.id.ivCal, pendingIntent);
            views.setOnClickPendingIntent(R.id.tvParkStatus, pendingIntent);
            views.setOnClickPendingIntent(R.id.tvToday, pendingIntent);
 
            views.setTextViewText(R.id.tvParkStatus,
                    "Alternate Parking is Suspended");
 
            // Tell the AppWidgetManager to perform an update on the current app
            // widget
            appWidgetManager.updateAppWidget(appWidgetId, views);
        }
    }
 
    public static void updateAppWidget(Context context,
            AppWidgetManager appWidgetManager, int appWidgetId) {
        RemoteViews updateViews = new RemoteViews(context.getPackageName(),
                R.layout.widgetlayout);
        appWidgetManager.updateAppWidget(appWidgetId, updateViews);
    }
 
    public class GetJSON extends AsyncTask<Void, Void, Void> {
        @Override
        protected Void doInBackground(Void... params) { // Running in background
            try {
                httpclient = new DefaultHttpClient(new BasicHttpParams());
                HttpPost httppost = new HttpPost(
                        "http://bri.ge/api/getList.aspx?count=20");
                // Depends on your web service
                httppost.setHeader("Content-type", "application/json");
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
 
                inputStream = entity.getContent();
                // json is UTF-8 by default
                BufferedReader reader = new BufferedReader(
                        new InputStreamReader(inputStream, "UTF-8"), 8);
                sb = new StringBuilder();
 
                String line = null;
                while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
                }
                result = sb.toString();
 
            } catch (Exception e) {
                Log.i("TEST", e.toString());
                // Oops
            } finally {
                try {
                    if (inputStream != null)
                        inputStream.close();
                } catch (Exception squish) {
                }
            }
            return null;
        }
 
        @Override
        protected void onPreExecute() { // Activity is on progress
        }
 
        @Override
        protected void onPostExecute(Void v) {
            try {
                jsonArray = new JSONArray(result);
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsonObj = (JSONObject) jsonArray.get(i);
                    date[i] = jsonObj.getString("statID");
                    quote[i] = jsonObj.getString("journal");
 
                }
                views.setTextViewText(R.id.tvToday, date[0]);
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 18:00
Ответы с готовыми решениями:

Как сгенерировать json файл с данными из текстового поля?
Делаю модуль для сайта (Joomla 2.5) - калькулятор стоимости услуг есть...

Обновить домашний ПК, Владикавказ, до 30т.р.
Приветствую всех! Время от времени возникают острые приступы желания...

Как обновить данные одной строки данными из другой?
Есть таблица sales с полями model,color,price.Вытаскиваю данные из строки с...

Как обновить фото данными которые пришли из ajax
На странице есть фото, рядом кнопка, при клике по которой путь к этой картинке...

Как заполнить список данными из json обьекта
От апи вк приходит ответ на мой запрос: {&quot;response&quot;:} Мне нужно заполнить...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 18:00

Разместить pdf-файл, как виджет на главной странице
подскажите какой виджет для того чтоб разместить пдф файл как виджет на главной...

обновить БД, данными из DBGrid
наткнулся на проблему обновления БД после изменения данных в dbgrid на форме....

Обновить таблицу данными, взятыми из запроса с группировкой
Уважаемые коллеги, здравствуйте! Возникла одна небольшая проблема. У меня...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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