8-3 ネットワーク関連 1.メールの送信 暗黙的インテントでメーラを起動 mailto:< メールアドレス> をインテントで渡してアプリを起動。

Slides:



Advertisements
Similar presentations
Netcat(nc) の使用方法 2005/02/06 伊原秀明 (Port139). © Hideaki Ihara(Port139).2 netcat とは? “Swiss Army knife” プログラム ネットワーク( TCP/IP )経由でデータの 送受信を行うことが可能 バックドアやポートスキャナとして利用.
Advertisements

ヴァウドットコム株式会社 ObjectIN 取引先一括メンテナンス. Biz Rule: データ入力チェック B iz Apply: データベース連携 COM +イベントによる 代替オペレーション ポーリング方式でなく アプリケーション監視による 最新データの同期機能 Biz Exchange (注.
SPSSによるHosmer-Lemeshow検定について
物理演算を利用したビデオエフェクタの 作成 浅野益弘. 研究内容 経緯 NiVE ( Nico Visual Effects )用のエフェ クトプラグインの作成 本プラグインにより動画作成にかかる 時間と手間の短縮と省力化を目指す.
レポート書き方. おしいレポート よく調べてある それぞれの、1文の言っていることは正 しい しかし、全体として、何が言いた いのかわからない 内容の重要だが、全体の構成も重 要である.
7.n次の行列式   一般的な(n次の)行列式の定義には、数学的な概念がいろいろ必要である。まずそれらを順に見ていく。
9.線形写像.
5.連立一次方程式.
音当て Game 時田 大樹 飛山 雄太郎. 作品の目的 入力として、スイッチを押すと音がスピー カーから流れ、スイッチを離すと、音が止 まる仕組みとなっている。
論理回路 第2回 今日の内容 前回の課題の説明 数の体系 – 数の表現 – 代表的な数 – 基数の変換 – 補数.
清水彰一 写真の表示. はじめに 画像を Photo Albums から選択し表示するアプリ 手順 1. Xcode でプロジェクトの作成 2. Interface Builder で UI 部品を配置 3. Xcode で必要なクラスを定義 4. 各 UI 部品の結びつきのための変数を IBOutlet.
広告付き価格サービ ス 小園一正. はじめに 世の中には様々な表現方法の広告があり ます。その中でも私たち学生にとって身 近にあるものを広告媒体として取り入れ られている。 価格サービス(無料配布のルーズリー フ)を体験したことにより興味を惹かれ るきっかけとなった。主な目的は、これ.
1章 行列と行列式.
本宮市立白岩小学校. 1 はじめに 2 家庭学習プログラム開発の視点 ① 先行学習(予習)を生かした 確かな学力を形成する授業づく り ② 家庭との連携を図った家庭学習の習慣化.
プログラミングⅠ( 1 組) 第 9 回
プログラミング入門2 第4回 式文 代入式 論理演算子 ループの脱出、スキップ 情報工学科 篠埜 功.
1 6.低次の行列式とその応用. 2 行列式とは 行列式とは、正方行列の特徴を表す一つのスカ ラーである。すなわち、行列式は正方行列からスカ ラーに写す写像の一種とみなすこともできる。 正方行列 スカラー(実数) の行列に対する行列式を、 次の行列式という。 行列 の行列式を とも表す。 行列式と行列の記号.
計算のスピードアップ コンピュータでも、sin、cosの計算は大変です 足し算、引き算、掛け算、割り算は早いです
線形符号(10章).
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
4.プッシュダウンオートマトンと 文脈自由文法の等価性
1 0章 数学基礎. 2 ( 定義)集合 集合については、 3セメスタ開講の「離散数学」で詳しく扱う。 集合 大学では、高校より厳密に議論を行う。そのために、議論の 対象を明確にする必要がある。 ある “ もの ” (基本的な対象、概念)の集まりを、 集合という。 集合に含まれる “ もの ” を、集合の要素または元という。
システムプログラム論 課題 大村 廉. 課題 Java を用いて Producer / Consumer 問題を解決する MyBuffer クラスを –Synchronized キーワード –Semaphore クラス (java.util.concurrent.Semaphore) を用いてそれぞれ作りなさい.
信号測定. 正弦波 多くの場合正弦波は 0V の上下で振動する しかし、これでは AD 変換器に入れら れないので、オフ セットを調整して データを取った.
1 9.線形写像. 2 ここでは、行列の積によって、写像を 定義できることをみていく。 また、行列の積によって定義される写 像の性質を調べていく。
通信路(7章).
コンピュータ演習Ⅰ 8月5日 ( 金 ) 2限目 WORD 文書の作成. 第 2 限の課題 Word 2010 を起動する。 – 様々な文字を入力できる。 – 記号、顔文字、難読文字の入力を行う – 入力した文字を訂正する – 入力した文書を保存する。 – 保存した文書を読みだす。 – 保存した文書を、
3.プッシュダウンオートマトンと 文脈自由文法
ファンクジェネレータ は、 信号発生器です. 足の起こし方 左右に広げて 手前に起こします 裏に電源ケーブルの差し込みくちがある ので、電源ケーブルを指します.
6.符号化法(6章).
ビット. 十進数と二進数 十進数  0から9までの数字を使って 0、1、2、3、4、5、6、7、8、9、 10、11、12 と数える 二進数  0と1を使って 0、1、10、11、100、101、11 0、111 と数える.
3.正方行列(単位行列、逆行列、対称行列、交代行列)
第 8 回 iPhone アプリ勉強会 〜タッチイベント〜 縣 禎輝. はじめに タッチイベント – タッチイベントの取得方法 – タッチされた座標を取得 – タッチで画像を動かす 1.
第 6 回 iPhone アプリ勉強会 〜画像の取得と処理〜 縣 禎輝. はじめに カメラアプリを作成 – 基盤となる Interface とアクションメソッドの作成 – 画像の取得先の設定 – 画像の表示と保存 – 画像にエフェクトをかける 参考ウェブサイト –
信号の取り込み. AD 変換器 ( AD コンバータ) ( ADC) は、 電気信号をコンピュータに取り込 む装置です.
レイアウトとデザインの基本 情報処理演習2.
学習者の意欲を高める音読指導の 一時例 1 Speak を使った 音読指導 鈴木政浩(西武文理大学)
プログラミング演習B ML編 第3回 2010/6/15 (コミ) 2010/6/16 (情報・知能) 住井 ~sumii/class/proenb2010/ml3/
論理回路 第1回. 今日の内容 論理回路とは? 本講義の位置づけ,達成目標 講義スケジュールと内容 受講時の注意事項 成績の評価方法.
伝わるスライド 中野研究室 M2 石川 雅 信. どのようなスライドを作れば良 いか 伝えたいこと.
コンピュータ活用 第2 週. 第1週講義の復習 ① 講義の目標を提示 Web ページの制作を通して インターネット、情報のデジタル化等を理解 ② 講義の進め方を説明 前半に各種解説を行い、後半は Web ページ制作 ③ 講義用Webページの紹介と小テスト体験.
7班 加地 健太郎 (MadaiPage 担当) 熊谷 勇人( MapPage 担当) 田原春 勝太 (TopPage 担当) 森 健樹(パワーポイント、 photo 担当)
方程式を「算木」で 解いてみよう! 愛媛大学 教育学部 平田 浩一.
Servlet 入門 大岩研究室 川村昌弘. そもそも WEB アプリってなんやね ん n この研究会のテーマは『 WEB アプリケー ションの開発』でした. n じゃぁ WEB アプリケーションって何です か? o WEB アプリってどんなものがありますか? 検索エンジン 乗換え案内サイト 翻訳.
実装の流れと 今後のスケジュール 03k0014 岸原 大祐. システム概要 天気データをもとに、前向き推論をし ていき、親の代わりに子供に服装、持 ち物、気をつけることなどを教える。
DirectX を使った操作が簡単な2 D 格闘ゲームの制 作 ソ20003 蛯名敏規
1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 21 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授等による 以前の講義資料をもとにしています。
Li 系化合物の結晶育成と電気的性質の測定 - LabVIEW を用いた計測制御システムの開発 - 矢萩研究室 ソ 佐藤 蓉子
ノベルゲームシステムとネット ワークの連携について 1104081 下元 悠嗣. 研究内容 ノベルゲーム専用のスクリプトエンジン 吉里吉里 /KAG にネットワーク機能を追加 することで従来にない特色を持ったシス テムの開発.
レシピを保存しよう! By 石原 今日の目標  WebApplication において、ファイルを用 いた入出力ができるようになる 保存することの意味がわかるようになる ストリームの使い方がわかるようになる.
子供の判断支援システム 03k0014 岸原大祐. システム概要 天気データと個人データの二つから、 条件に応じて服装、行動等に対し、親 の代わりに子供に対してアドバイスを 行う。
JPN 312 (Fall 2007): Conversation and Composition 文句 ( もんく ) を言う.
プログラミングⅠ( 2 組) 第 1 回 / pLB1.pptx.
「ネット社会の歩き方」レッスンキット プレゼンテーション資料集 15. チャットで個人情報は 言わない プレゼンテーション資料 著作権は独立行政法人情報処理推進機構( IPA )及び経済産業省に帰属します。
8.任意のデータ構造 (グラフの表現とアルゴリズム)
プログラミング入門2 第3回 複合文、繰り返し 情報工学科 篠埜 功.
リファクタリング支援のための コードクローンに含まれる識別子の変更内容分析 井上研究室 工藤 良介 1.
図書館の使い方 webペー ジ企画 グループ:いよかん メンバー: c07133 c クライアント情報  情報大学図書館の使い方  学生や学外からの来館者向け.
コンピュータ活用 第9 週 制作技術ー3 : 双方向通信 CGI システムと環境変数. クライアントとサーバーとの間の双方向通信の考え方 URL を送信し て HTML 文書返信 データ送信 (cgi) 入力に対する応答 データ入力 閲覧ソフトか ら 応答内容表示 クライアン ト サーバー データ受.
ことばとコンピュータ 2007 年度 1 学期 第 1 回. 2 ことばとコンピュータ 授業科目名:言語情報処理論 授業題目名:ことばとコンピュータ 履修コード: 5067 教室: 323 一学期開講 授業の進め方 – 基本的に講義中心ですすめ,時々コンピュー タを使う.
プログラミング演習( 1 組) 第 8 回
自立型走行ロボットの 設計・製作 AKI-80を用いたアセンブリ言語の プログラミング開発 矢萩・橋本研究室 工E12019 山田 正樹
図書館における 個人対応検索システム                03k1001 赤塚 拓巳.
1 アルゴリズム と データ構造 基本情報技術概論 I ( 第 12 回 ) 埼玉大学 理工学研究科 堀山 貴史.
音の変化を視覚化する サウンドプレイヤーの作成
本文. 考えながら読みましょ う 「いろいろなこと」( 3 行目)は何で すか 「①電話料金はコンビニで支払いをしていま す。いつでも払えますから、便利です。」 「②夕食はコンビニで買います。お弁当やお かずがいろいろありますから。」今、若者に 人気のあるコンビニは、いろいろなことをす るのに非常に便利な場所になった。
創造工学設計 I 電子情報工学科4年(前期) 10回目 ( 25/6/2015) 担当 古山彰一
創造工学設計 I 電子情報工学科4年(前期) 9 回目 ( 18/6/2015) 担当 古山彰一
© 2010 Cisco and/or its affiliates. All rights reserved.Presentation_IDCisco Confidential CISCO LEARNING CREDITS MANAGEMENT TOOL CLP 管理者 – ユーザ ロール 2011.
8.実機で実行 8-1 カメラ・録音関係 1.写真の撮影 A. マニフェストの設定 【 AndroidManifest.xml 】 ・・・ "
Presentation transcript:

8-3 ネットワーク関連 1.メールの送信 暗黙的インテントでメーラを起動 mailto:< メールアドレス> をインテントで渡してアプリを起動。

B. プログラム例(その1) package jp.mail; import android.app.*; import android.os.*; import android.content.Intent; import android.net.Uri; import android.view.*; import android.view.View.*; import android.webkit.*; import android.widget.*; import android.media.*; public class MailActivity extends Activity { Button button; TextView[] textV=new TextView[3]; EditText[] editT=new EditText[3];

プログラム例(その2) /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { int i; super.onCreate(savedInstanceState); TableLayout TL=new TableLayout(this); setContentView(TL); button=new Button(this);button.setText(" 送信 "); for(i=0;i<textV.length;i++) textV[i]=new TextView(this); for(i=0;i<editT.length;i++) textV[i]=new TextView(this); textV[0].setText(" 宛先 "); textV[1].setText(" 表題 "); textV[2].setText(" 本文 "); for(i=0; i<textV.length;i++)TL.addView(textV[i]); for(i=0; i<editT.length;i++)TL.addView(editT[i]); TL.addView(button); button.setOnClickListener(new mailClickListener()); }

B. プログラム例(その3) class mailClickListener implements OnClickListener{ public void onClick(View v){ Intent intent=new Intent(); intent.setAction(Intent.ACTION_SENDTO); intent.setData(Uri.parse("mailto:"+ editT[0].getText().toString())); intent.putExtra(Intent.EXTRA_SUBJECT, editT[1].getText().toString()); intent.putExtra(Intent.EXTRA_TEXT, editT[2].getText()); startActivity(intent); }

2. Web ページの表示 A. パーミッションの指定 【 AndroidManifest.xml 】 ・・・

B. プログラム例(その1) package jp.web; import android.app.*; import android.os.*; import android.view.*; import android.view.View.*; import android.webkit.*; import android.widget.*; public class WebActivity extends Activity { Button[] button=new Button[4]; WebView webV; /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { int i; super.onCreate(savedInstanceState); TableLayout TL=new TableLayout(this); setContentView(TL);

プログラム例(その2) webV=new WebView(this); webV.setWebViewClient(new WebViewClient()); webV.loadUrl(" TableRow tableR=new TableRow(this); for(i=0;i<button.length;i++){ button[i]=new Button(this); tableR.addView(button[i]); } button[0].setText("←"); button[1].setText("→"); button[2].setText(" + "); button[3].setText(" ‐ "); for(i=0;i<button.length;i++) button[i].setOnClickListener(new webClickListener()); TL.addView(tableR); TL.addView(webV); }

プログラム例(その3) class webClickListener implements OnClickListener{ public void onClick(View v){ if(v==button[0]){ if(webV.canGoBack())webV.goBack(); } else if(v==button[1]){ if(webV.canGoForward())webV.goForward(); } else if(v==button[2])webV.zoomIn(); else if(v==button[3])webV.zoomOut(); }

C. 実行例 指定された Web ページ

3. 訪問Webの記録 A .マニフェストに追加 【 AndroidManifest.xml への追加】 … <activity android:name=".Rss" <uses-permission android:name= "android.permission.INTERNET" />

RSS収集のときに便利なので, RSSとは … ニュースやブログなど,各種のウェブサイトの更新情報をま とめて配信するための文書フォーマットの総称。以下の規格 がある。 ① RDF site summary(RSS 0.9, RSS 1.0) ② rich site summary(RSS 0.91) ③ really simple syndication(RSS 2.0)

B .プログラム例 RssActivity クラス(その1) package jp.rss; import java.io.*; import android.app.*; import android.os.*; import android.content.*; import android.view.*; import android.view.View.*; import android.widget.*; import android.webkit.*; import android.widget.AdapterView.*; public class RssActivity extends Activity { public static int RSS_ACT=1; Button[] button=new Button[4]; WebView webV;

RssActivity クラス(その2) /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { int i; super.onCreate(savedInstanceState); TableLayout TL=new TableLayout(this); setContentView(TL); webV=new WebView(this); webV.setWebViewClient(new WebViewClient()); webV.loadUrl(" TableRow tableR=new TableRow(this); for(i=0; i<button.length;i++){ button[i]=new Button(this); tableR.addView(button[i]); }

RssActivity クラス(その3) button[0].setText("←"); button[1].setText("→"); button[2].setText("URL 取出 "); button[3].setText("URL 表示 "); for(i=0;i<button.length;i++) button[i].setOnClickListener(new rssActClickListener()); TL.addView(tableR); TL.addView(webV); }

RssActivity クラス(その4) class rssActClickListener implements OnClickListener{ public void onClick(View v){ if(v==button[0]){ if(webV.canGoBack())webV.goBack(); }else if(v==button[1]){ if(webV.canGoForward())webV.goForward(); }else if(v==button[2]){ try{ FileOutputStream fout= openFileOutput("SampleRSS.txt",Context.MODE_APPEND); BufferedWriter buff = new BufferedWriter(new OutputStreamWriter(fout)); buff.write(webV.getUrl() + "\n"); buff.flush(); fout.close(); }catch(Exception e){}

RssActivity クラス(その5) }else if(v==button[3]){ Intent intent=new Intent(getApplicationContext(),Rss.class); startActivityForResult(intent,RSS_ACT); } } public void onActivityResult(int reqcode, int result, Intent intent){ if(reqcode==RSS_ACT && result==RESULT_OK){ String r =intent.getStringExtra("URL"); webV.loadUrl(r); }

Rss クラス(その1) package jp.rss; import java.io.*; import java.util.*; import android.app.*; import android.os.*; import android.content.*; import android.view.*; import android.widget.*; import android.widget.AdapterView.*; public class Rss extends Activity { public static int RSS_ACT=1;ListView listV; Intent intent; /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout LL=new LinearLayout(this); setContentView(LL);

Rss クラス(その2) intent = getIntent(); listV=new ListView(this); ArrayList list=new ArrayList (); try{ FileInputStream finput=openFileInput("SampleRSS.txt"); BufferedReader buff= new BufferedReader(new InputStreamReader(finput)); String str; while((str=buff.readLine())!=null) list.add(str); }catch(Exception e){}; ArrayAdapter adapter = new ArrayAdapter (this, android.R.layout.simple_list_item_1,list); listV.setAdapter(adapter); LL.addView(listV); listV.setOnItemClickListener(new rssItemClickListener()); }

Rss クラス(その3) class rssItemClickListener implements OnItemClickListener{ public void onItemClick(AdapterView av, View v, int pos, long id){ TextView temp=(TextView) v; String str=(String) temp.getText(); intent.putExtra("URL",str); setResult(RESULT_OK,intent); finish(); } }

D .実行例 【指定された Web の表 示】

4. RSS を XML として扱う A .マニフェストに追加 【 AndroidManifest.xml への追加】 … <uses-permission android:name= "android.permission.INTERNET" />

B .関連クラス (その1) クラス説明 org.apache.http.client.HttpClient インターフェース HttpResponse execute(HttpUriRequest r) リクエストからレスポンスを 取得 org.apache.http.DefaultHttpClient クラス DefaultHttpClient()HTTP クライアントを作成 org.apache.http.HttpGet クラス HttpGet()GET リクエストを作成 org.apache.http.HttpResponse インターフェース HttpEntity getEntity() エンティティを取得 org.apache.http.HttpEntity インターフェース InputStream getContent() コンテンツを取得

関連クラス (その2) クラス説明 org.xmlpull.v1.XmlPullParserFactory クラス static XmlPullParserFactory newinstance()XML パーサファクトリを取得 XmlPullParser newPullParser()XML パーサを取得 org.xmlpull.v1.XmlPullParser インターフェース void setInput(StreamReader s) 入力ストリームから読み込む int getEventType() イベントタイプを取得 String nextText() 次のテキストを取得 int next() 次に進む

C .イベントタイプ ( XmlPullPaser クラス) タイプ説明 START_DOCUMENT 文書の開始 END_DOCUMENT 文書の終了 START_TAG タグの開始 END_TAG タグの終了 TEXT テキスト

D .プログラム例 (その1) package jp.web; import java.io.*; import java.net.*; import java.util.*; import org.apache.http.*; import org.apache.http.client.*; import org.apache.http.client.methods.*; import org.apache.http.impl.client.*; import org.xmlpull.v1.*; import android.app.*; import android.os.*; import android.view.*; import android.view.View.*; import android.widget.*;

(その2) public class WebActivity extends Activity { EditText editT; Button button; ListView listV; /** Called when the activity is first created. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout LL =new LinearLayout(this); LL.setOrientation(LinearLayout.VERTICAL); setContentView(LL); editT=new EditText(this); button=new Button(this); button.setText(" 読込 "); listV=new ListView(this); LL.addView(editT); LL.addView(button); LL.addView(listV); button.setOnClickListener(new webClickListener()); }

(その3) class webClickListener implements OnClickListener{ public void onClick(View v){ try{ ArrayList > list = new ArrayList >(); // ① HTTP クライアントの作成 HttpClient hClient = new DefaultHttpClient(); HttpGet hGet = new HttpGet(); // ② URI を設定 String uri = editT.getText().toString(); hGet.setURI(new URI(uri)); // ③ レスポンスを取得 HttpResponse hResp = hClient.execute(hGet); // ④ XML の内容を取得 InputStream inputS = hResp.getEntity().getContent(); BufferedReader buff = new BufferedReader(new InputStreamReader(inputS));

(その3) // ⑤ XML パーサを取得 XmlPullParserFactory xpf = XmlPullParserFactory.newInstance(); XmlPullParser xpp = xpf.newPullParser(); // ⑥ XML を入力 xpp.setInput(buff); // ⑦ 入力開始の初期処理 int type = 0; type = xpp.getEventType(); HashMap hMap = null; String title = "" ; String description = "" ; boolean isItem = false ;

(その4) // ⑧ 各開始タグごとの処理 while(type !=XmlPullParser.END_DOCUMENT){ if(type == XmlPullParser.START_TAG){ if(xpp.getName().equals("item")){ hMap=new HashMap (); isItem=true; }else if(xpp.getName().equals("title")){ if(isItem){title=xpp.nextText(); hMap.put("title", title); } }else if(xpp.getName().equals("description")){ if(isItem){description = xpp.nextText(); hMap.put("description", description); } }else if(type == XmlPullParser.END_TAG){ list.add(hMap);isItem = false; } type = xpp.next(); }

(その5) String[] keys ={"title","description"}; int[] idS ={android.R.id.text1, android.R.id.text2}; SimpleAdapter ad = new SimpleAdapter (getApplicationContext(), list, android.R.layout.simple_list_item_2, keys, idS); listV.setAdapter(ad); }catch(Exception e){ Toast.makeText(getBaseContext(), "URL を確認してください ", Toast.LENGTH_LONG).show(); }

E .実行例 【指定された Web の表 示】 ②「読込」ボタンを 押す ①URL入力 ③消して … ④スクロー ル