Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
xonski
1 / 1 / 0
Регистрация: 24.07.2013
Сообщений: 35
#1

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

29.01.2014, 18:00. Просмотров 649. Ответов 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 файл (Программирование Android):

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

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

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

Как обновить данные одной строки данными из другой? - MySQL
Есть таблица sales с полями model,color,price.Вытаскиваю данные из строки с id='12' и пытаюсь их вставить с id='13', UPDATE sales SET...

Как заполнить список данными из json обьекта - C#
От апи вк приходит ответ на мой запрос: {&quot;response&quot;:} Мне нужно заполнить список List&lt;string&gt; list названиями стран из ответа вк. Как это...

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

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

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

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

Динамическое обновление контента данными из json - jQuery
Интернет изобилует следующими примерами на тему AJAX и jQuery с использованием php: &lt;html&gt; &lt;head&gt; &lt;meta...

Как обновить страницу или файл проекта? - C# MVC
Добрый день. У меня возникает периодически ситуация, когда я правлю страницу css и(или) cshtml а обновление происходит только через...


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

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

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