Kaptain.
Telegram /
LinkedIn /
Email /
GIT /
RSS /
GPG /
Заказ печатных плат

№ 3916 В разделе
Programming
от December 15th, 2011,
В подшивках: Android
Программа для показа погоды с сайта 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. Только после этого ваша программа сможет работать с сетью.
Fortune cookie: Spam del giorno: Di ottenere il farmaco si ha bisogno. Noi non siamo domande stupide, consegnamo in modo rapido e sicuro.
Ты Эклипс открыл)
и с радостью бы закрыл это тормозное гумно. я от него отказался 5 лет назад в пользу NetBeans. Слышал для NetBeans есть плагин андроидный. Его буду пробовать.
Дайте мне мак и 100 уе в год – и я тоже буду писать говнософт для iOS!
на хакинтоше сиди. да и 100 уе маловато будет. я за день могу больше заработать 🙂
Ох не знаю у меня тяжолые остались воспамиания о нетбинсе, как то очень редко смотрел переодически и не в восторге.
Наверное поставлю щаз даже, попробую наладить одну хреновину которая раздражала всегда в эклипсе. И под питон поискать надо плагин, вместе с джангой.