【プログラミング】アプリを作ってみたい人必見

Pythonista

どうもこんにちはです。
今回の記事は昔運営してたブログからの改変になります。


こちらの記事でも紹介した「Pythonista」というアプリでお天気アプリを作っていきます。

その前にrequestsとAPIの使い方

今回はpythonでもよく使われているrequestsで遊びます。

正確にはPythonistaを使ってライブドアの天気APIのWeather Hacksを使用。

では始めにAPIのjsonデータのオブジェクトを貰います。
コードは実用的ではないのですがこのようになります。

これを実行すると…

f:id:kassaaaah:20181030045511p:image

よく分からない文字列が並んでいますね。

この情報は辞書型で収納されたデータがあり、この中からキーを取得しておよそのデータの内容を把握します。

キーの取得方法はこちらを実行します。

これが結果です。

f:id:kassaaaah:20181030045706p:image

この中にforecastsというのがありますね。
これは日本語にすると予測や予想という意味です。
恐らくこの中に天気の情報があるのでforecastの情報を抜き取ります。

コードはこちら。

結果です。

f:id:kassaaaah:20181030045511p:image



これを見てみると天気のデータを発見!
‘telop’というキーの中に天気の情報がありました!

というわけでtelopキーのデータを取得します。

コード

結果

f:id:kassaaaah:20181030050726p:image

これでお天気情報の取得任務完了です。

pyuiファイルのuiの配置

ここからはPythonista特有の遊びをしていきます。

それは何かというとuiモジュールを使ったアプリです!
すごく簡単なのでおススメかと。
あとuiモジュールの理解も進むかと。

ではやっていきます!

まずはPythonistaでタイトルは適当につけてファイル作成のところでScript with UIを選択します。

次にpyuiファイルのボタン等を設置します。
今回使うのは2種類だけ!

f:id:kassaaaah:20181030051640j:image

Labelというのが文字を表示する為の物
Buttonというのがタップすると動作してくれる物という雰囲気で覚えてください笑

これらを使ってこういう風に配置します。

f:id:kassaaaah:20181030051841p:image

上2つのラベルにはただ文字を打っているだけです。
その真ん中の2つは空白で!
ここにAPIから送られてきた情報を入れますので。

そして下の太陽のマークがbuttonとなります!

これで配置は以上になります。
次に設定をしていきます。

uiの設定

ここからpyuiファイルの簡単な設定をしていきます。

まずラベルの設定ですが

f:id:kassaaaah:20181030052418j:image

ここのNameをlabel1とします。
恐らくデフォでなっているかと。
ここで注意してもらいたいのがtitleの方と間違えないように!

なぜこれが重要かと言うとここのNameを対象にコードで識別するからです。
また下のページでも出てくるのでそちらを見た方が分かりやすいと思います。

次にボタンの設定ですがここ!

f:id:kassaaaah:20181030053944j:image

今回はNameは関係ありませんがactionというのが重要になってきます。
コード側で定義された関数とここのactionでリンクさせる為です。

そしていよいよpyファイルのコードです。

ソースコードの記述

ファイルを作成した時に.pyのファイルも作成されるので
下のコードを記述していきます。

def tenki_button(sender):
というところがさっきのボタンのactionという所とリンクしてます。

さっきのボタンをタップするとこの関数が実行されるようになっています。

これを実行すると

f:id:kassaaaah:20181030053257p:image

こうなってるので天気マークのボタンをタップしてtenki_buttonを実行させます。

すると

f:id:kassaaaah:20181030053414p:image

こうなります。
今日の天気は微妙です。

これでお天気風アプリの出来上がりです。

まとめと分からない事があれば

今日はとてもシンプルなアプリ作りをしました。
python難しいけどとりあえず何か作って達成感を味わいたい!っていう方は今回のお天気風アプリがオススメです。

また、今回の記事を見て分からないことがあれば下のコメント欄でも
僕のTwitter(@decodecofufu)でも良いので聞いてください。

コメント

タイトルとURLをコピーしました