《Android可能性》PPT课件

上传人:小**** 文档编号:296983884 上传时间:2022-05-23 格式:PPT 页数:25 大小:2.27MB
返回 下载 相关 举报
《Android可能性》PPT课件_第1页
第1页 / 共25页
《Android可能性》PPT课件_第2页
第2页 / 共25页
《Android可能性》PPT课件_第3页
第3页 / 共25页
《Android可能性》PPT课件_第4页
第4页 / 共25页
《Android可能性》PPT课件_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《《Android可能性》PPT课件》由会员分享,可在线阅读,更多相关《《Android可能性》PPT课件(25页珍藏版)》请在金锄头文库上搜索。

1、Android可能性SIPropProject代表:1整理ppt5/20/20222自己紹介氏名:今村謙之()年齢:29歳18月IT業界歴:約7年SIP歴:約5年SIProp運営中得意言語:Java、C得意分野:SIP、層(開発運用、)特記事項:PC8台運営中(自宅)5/20/20223Agenda?事例5/20/20224(呼制御)?UA間情報取、間確立仕組?送信側受信側組合、送信側受信側流出典:社HP5/20/20225HTTPSIP違出典:社HPSIP特徴(HTTP相違点)状態間通信相手通知可能Comet情報可能間通信可能JSONP5/20/20226概要Android用特徴Androi

2、d(=Peer)間直接通信Android(=Peer)間確立要求呼出中確立送受信5/20/20227見(5/20/20228、?1/2Android適用分野、携帯機WindowsMobileiPhone(iPodtouch)世界低価格携帯電話世界携帯電話普及世界丸山先生資料参照家電向本格的無線PC化世界統一化台数桁違5/20/20229、?2/2(物理領域)融合超低価格無線版100PC単一機能液晶無、近、無線受、Beep音無線移動、肌身離持車車間通信、事故回避用局所的処理通信!間SNS作!5/20/202210応用事例:概要配信Web拾情報、Android配信共同開発GMO次世代研究室様pow

3、eredbySIPropProject雷電5/20/202211CM。書籍俺流実装入門内容nRFC定義Stack設計実装Stack利用IM実装著作SIPropProject発売中約500約4000円5/20/202212開発Tips1/2作上、箇所解説注意点基本的Android開発知識ActivityViewGUI系話、Android開発入門的話入門的話、Android勉強会!5/20/202213開発Tips2/2jar利用Java5.0jarServiceActivity連携方法Socket,ServerSocket複数扱方直接通信環境構築qemutap機能利用LinuxZaurus上、A

4、ndroid5/20/202214jar利用書籍CD-ROM付属jarJava5.0結果何事、利用可能。java.io.InputStream;java.io.OutputStream;java.io.ByteArrayOutputStream;java.io.Serializable;.InetAddress;.ServerSocket;.Socket;java.util.Hashtable;java.util.HashMap;java.util.ArrayList;java.util.LinkedList;java.util.Iterator;java.util.ListIterator;

5、java.util.Collections;java.util.regex.Matcher;java.util.regex.Pattern;java.util.Random;5/20/202215Service1/4Service?使用例音楽今回題AIDL(AndroidInterfaceDefinitionLanguage)介通信IPC(InterProcessCommunication)基本的型CPU依存、依存排除5/20/202216Service2/4AIDL定義要、用API書Activity用Service用2必要AIDL中身:interface IIMServiceCallback

6、 void onNewSession(String id, String session_id, String fromAddr);void onProvisional(String id);void onConnected(String id);自動生成Java一部:public interface IIMServiceCallback extends android.os.IInterface /* Local-side IPC implementation stub class. */public static abstract class Stub extends android.os

7、.Binder implements org.siprop.pip.android.service.IIMServiceCallback private static final java.lang.String DESCRIPTOR = org.siprop.pip.android.service.IIMServiceCallback;/* Construct the stub at attach it to the interface. */public Stub() 5/20/202217Service3/4ActivityService側AIDL呼出、Activity側AIDL登録Ac

8、tivity側AIDL:private IIMServiceCallback mCallback = new IIMServiceCallback.Stub() public void onNewSession(String id, String session_id, String fromAddr)throws DeadObjectException mHandler.sendMessage(Activity側AIDL呼出: protected void onCreate(Bundle icicle) super.onCreate(icicle); / 起動。bindService(new

9、 Intent(IIMService.class.getName(), mConnection, Context.BIND_AUTO_CREATE);protected ServiceConnection mConnection = new ServiceConnection() public void onServiceConnected(ComponentName className, IBinder service) mService = IIMService.Stub.asInterface(service); mService.registerCallback(mCallback);

10、5/20/202218Service4/4Service側()Activity側()Activity側IADLStubs(実体)Service側IADLStubs(実体)Stub用、AIDL無名実装ServiceConnection#onServiceConnected実装Service側IADL実体受取。IMService.Stub.asInterface()Service側IADL実体受取mService.registerCallback(mCallback);正確、独自実装必要Service側IADLStubs(実体)Activity側IADLStubs(実体)5/20/202219So

11、cket1/利用可能TCP接続最大同時接続複数動ServiceActivity、生成以外操作出来!生成必要!Handler使用5/20/202220Socket2/3Agent(Socket待受保持)用変更対象、Hander用、Handler#sendMessage(Message)用。変更後:public void incomingINVITE(Call c, PIPRequest request) handler.sendMessage( handler.obtainMessage(0, 0, 0, new EventMessage(IMEvent.onNewSession, new Ob

12、jectc.getCallId(), request); 変更前:public void incomingINVITE(Call c, PIPRequest request) listener.onNewSession(c.getCallId(), request); 5/20/202221Socket3/3Service内Handler生成、先選択変更Handler、Service生成時生成必要#Service内private Handler mHandler = new Handler() Override public void handleMessage(Message handler

13、Message) / EventMessage取出。 EventMessage msg = (EventMessage)handlerMessage.obj; Object objs = msg.getArgs(); / 種類、IMService先選択 switch (msg.getEventType() case onNewSession: / 引数共、 imService.onNewSession(String)objs0, (PIPMessage)objs1); break;(以下略)5/20/202222直接通信環境構築1/3qemutap機能利用OS上tap、OS(Android)N

14、IC、OS側NIC使用機能5/20/202223直接通信環境構築2/31.Android上NIC設定書換1.etc/qemu-init.sh編集例:ifconfigeth1192.168.1.2netmask255.255.255.0uprouteadddefaultgw192.168.1.1deveth12.OStap設定例:brctladdbrbr0tunctl-u$USER-tnet_androidbrctladdifbr0eth0brctladdifbr0net_android3.Androidqemu起動変更$android_sdk/tools/emulator-console-qemu-netuser-netnic-netnic,vlan=1-netnic-nettap,vlan=1,ifname=net_android5/20/202224直接通信環境構築3/3LinuxZaurus上、Androidcortez氏、開発Zaurus上動作Android利用http:/ http:/noritsuna.siprop.org/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号