INT 21h

Домашняя страница самого страшного прерывания

Первый опыт написания программ для Android

№ 3916 В разделе "Программирование" от December 15th, 2011,

Программа для показа погоды с сайта termo.tomsk.ru. Тестировал сразу же на моем подключенном к компу HTC Sensation.

А теперь напишу о впечатлениях и пройденных граблях.
Код программы:

package tomsk.termo;

import android.app.*;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.*;
//import java.net.URLConnection;

public class Tomsk_weather_trayActivity extends Activity {
    /** Called when the activity is first created. */
    
    
    private static final int NOTIFY_ID = 1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        CharSequence temper = getTermo();
        String ns = Context.NOTIFICATION_SERVICE;
        NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
        int icon = android.R.drawable.sym_action_chat;
        CharSequence tickerText = "В Томске "+temper;
        long when = System.currentTimeMillis(); 

        Notification notification = new Notification(icon, tickerText, when);
        Context context = getApplicationContext();
        CharSequence contentTitle = "Температура в Томске";
        CharSequence contentText = temper;
        Intent notificationIntent = new Intent(this, Tomsk_weather_trayActivity.class);
        PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

        notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
 

        mNotificationManager.notify(NOTIFY_ID, notification);
        
    }
    
    public CharSequence getTermo() {
        CharSequence termo = "??";
        StringBuilder allpage = new StringBuilder();
        
        try {
            URL url = new URL("http://termo.tomsk.ru:80/data.txt");            
            URLConnection conn = url.openConnection();
            DataInputStream  in = new DataInputStream(conn.getInputStream());
            String inputLine;
            
            while ((inputLine = in.readLine()) != null) 
                 allpage.append(inputLine);
            in.close();
            termo = allpage.toString();
        }
        catch (Exception e){
            termo="["+e+"]";
        }          
        return termo+"°C";
    }
}

Если все хорошо, то в область уведомлений выведется погода в Томске. Но сразу же хорошо не будет, не надейтесь. Я долго колупался почему же программа не видит хост termo.tomsk.ru пока не вспомнил про права доступа.

Открываете AndroidManifest.xml, заходите в меню предоставления прав доступа и добавляете INTERNET. Только после этого ваша программа сможет работать с сетью.

6 комментариев »

6 комментариев »

Comment by iliich | December 15, 2011 @ 21:11:58

Ты Эклипс открыл)

Comment by 21h | December 15, 2011 @ 21:48:43

и с радостью бы закрыл это тормозное гумно. я от него отказался 5 лет назад в пользу NetBeans. Слышал для NetBeans есть плагин андроидный. Его буду пробовать.

Comment by Boten | December 16, 2011 @ 09:07:43

Дайте мне мак и 100 уе в год – и я тоже буду писать говнософт для iOS!

Comment by 21h | December 16, 2011 @ 09:10:56

на хакинтоше сиди. да и 100 уе маловато будет. я за день могу больше заработать :)

Comment by iliich | December 16, 2011 @ 21:09:58

Ох не знаю у меня тяжолые остались воспамиания о нетбинсе, как то очень редко смотрел переодически и не в восторге.

Comment by iliich | December 16, 2011 @ 21:11:39

Наверное поставлю щаз даже, попробую наладить одну хреновину которая раздражала всегда в эклипсе. И под питон поискать надо плагин, вместе с джангой.

Форма отправки комментария

CAPTCHA
*

Разрешенные HTML-теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

RSS RSS Feed только для этого поста |


Комментарии
  • Игорь: Все настроил, еще раз просмотрел видео и методом научного тыка все настроил и сохранил, все работает и обе...
  • 21h: Здравствуйте, Игорь! Я не знаю :) Думаю аналогично согласно инструкции к вашей радиостанции.
  • Игорь: Добрый день, просмотрел Ваше видео все доступно и ясно для 8 ми канальных радеек, но мне нада настроить 69...
  • Гоги: Есть инструкция к Моторолкам – она подходит к серии Motorola TLKR T4… Т8. В конце сетка частот и...
  • 21h: торчок давно уже не обновлял, как только закрыл сайт где он работал. да, это морда для opentracker. без...
  • Buter: Какова дальнейшая жизнь торчка? Он кстати веб-интерфейсом для OpenTracker выступает? Без OpenTracker работать...
  • 21h: понятия не имею. гуглите инструкцию к вашей радейке и сверяйтесь с ней.
  • Денис: хочу их подружить с uv5r
  • Денис: t-388 walkie talkie на эти шпаргалочек нет,или как приминить ваши к их настройке?
  • John: Стекла для электроник – техночас.ру