实例介绍
《android应用开发深入学习实录》中的流量监控软件源码
【实例截图】
【核心代码】
wall0
└── wall0
├── AndroidManifest.xml
├── assets
├── bin
│ ├── classes.dex
│ ├── com
│ │ ├── googlecode
│ │ │ └── droidwall
│ │ │ ├── Api$DroidApp.class
│ │ │ ├── Api$LogInfo.class
│ │ │ ├── Api$ScriptRunner.class
│ │ │ ├── Api.class
│ │ │ ├── BootBroadcast$1.class
│ │ │ ├── BootBroadcast$2.class
│ │ │ ├── BootBroadcast.class
│ │ │ ├── HelpDialog.class
│ │ │ ├── MainActivity$10.class
│ │ │ ├── MainActivity$11.class
│ │ │ ├── MainActivity$12.class
│ │ │ ├── MainActivity$1.class
│ │ │ ├── MainActivity$2.class
│ │ │ ├── MainActivity$3.class
│ │ │ ├── MainActivity$4.class
│ │ │ ├── MainActivity$5.class
│ │ │ ├── MainActivity$6.class
│ │ │ ├── MainActivity$7.class
│ │ │ ├── MainActivity$8.class
│ │ │ ├── MainActivity$9.class
│ │ │ ├── MainActivity$ListEntry.class
│ │ │ ├── MainActivity.class
│ │ │ ├── PackageBroadcast.class
│ │ │ ├── PassDialog.class
│ │ │ ├── R$attr.class
│ │ │ ├── R$drawable.class
│ │ │ ├── R$id.class
│ │ │ ├── R$layout.class
│ │ │ ├── R$raw.class
│ │ │ ├── R$string.class
│ │ │ ├── R$xml.class
│ │ │ ├── R.class
│ │ │ ├── StatusWidget$1.class
│ │ │ ├── StatusWidget$2.class
│ │ │ └── StatusWidget.class
│ │ └── wall
│ │ └── Wall0Activity.class
│ ├── resources.ap_
│ └── wall0.apk
├── default.properties
├── external
│ ├── busybox
│ │ ├── busybox-1.17.2.tar.bz2
│ │ └── config.droidwall
│ └── iptables
│ ├── aclocal.m4
│ ├── Android.mk
│ ├── autogen.sh
│ ├── CleanSpec.mk
│ ├── COMMIT_NOTES
│ ├── compile
│ ├── config.guess
│ ├── config.h.in
│ ├── config.sub
│ ├── configure
│ ├── configure.ac
│ ├── COPYING
│ ├── depcomp
│ ├── extensions
│ │ ├── create_initext4
│ │ ├── dscp_helper.c
│ │ ├── GNUmakefile.in
│ │ ├── initext4.c
│ │ ├── libip6t_ah.c
│ │ ├── libip6t_ah.man
│ │ ├── libip6t_dst.c
│ │ ├── libip6t_dst.man
│ │ ├── libip6t_eui64.c
│ │ ├── libip6t_eui64.man
│ │ ├── libip6t_frag.c
│ │ ├── libip6t_frag.man
│ │ ├── libip6t_hbh.c
│ │ ├── libip6t_hbh.man
│ │ ├── libip6t_hl.c
│ │ ├── libip6t_hl.man
│ │ ├── libip6t_icmp6.c
│ │ ├── libip6t_icmp6.man
│ │ ├── libip6t_ipv6header.c
│ │ ├── libip6t_ipv6header.man
│ │ ├── libip6t_LOG.c
│ │ ├── libip6t_LOG.man
│ │ ├── libip6t_mh.c
│ │ ├── libip6t_mh.man
│ │ ├── libip6t_REJECT.c
│ │ ├── libip6t_REJECT.man
│ │ ├── libip6t_rt.c
│ │ ├── libip6t_rt.man
│ │ ├── libipt_addrtype.c
│ │ ├── libipt_addrtype.man
│ │ ├── libipt_ah.c
│ │ ├── libipt_ah.man
│ │ ├── libipt_CLUSTERIP.c
│ │ ├── libipt_CLUSTERIP.man
│ │ ├── libipt_DNAT.c
│ │ ├── libipt_DNAT.man
│ │ ├── libipt_ecn.c
│ │ ├── libipt_ecn.man
│ │ ├── libipt_icmp.c
│ │ ├── libipt_icmp.man
│ │ ├── libipt_LOG.c
│ │ ├── libipt_LOG.man
│ │ ├── libipt_MASQUERADE.c
│ │ ├── libipt_MASQUERADE.man
│ │ ├── libipt_MIRROR.c
│ │ ├── libipt_MIRROR.man
│ │ ├── libipt_NETMAP.c
│ │ ├── libipt_NETMAP.man
│ │ ├── libipt_realm.c
│ │ ├── libipt_realm.man
│ │ ├── libipt_REDIRECT.c
│ │ ├── libipt_REDIRECT.man
│ │ ├── libipt_REJECT.c
│ │ ├── libipt_REJECT.man
│ │ ├── libipt_SAME.c
│ │ ├── libipt_SAME.man
│ │ ├── libipt_SNAT.c
│ │ ├── libipt_SNAT.man
│ │ ├── libipt_TAG.c
│ │ ├── libipt_ttl.c
│ │ ├── libipt_ttl.man
│ │ ├── libipt_ULOG.c
│ │ ├── libipt_ULOG.man
│ │ ├── libipt_unclean.c
│ │ ├── libipt_unclean.man
│ │ ├── libxt_CHECKSUM.c
│ │ ├── libxt_CHECKSUM.man
│ │ ├── libxt_CLASSIFY.c
│ │ ├── libxt_CLASSIFY.man
│ │ ├── libxt_cluster.c
│ │ ├── libxt_cluster.man
│ │ ├── libxt_comment.c
│ │ ├── libxt_comment.man
│ │ ├── libxt_connbytes.c
│ │ ├── libxt_connbytes.man
│ │ ├── libxt_connlimit.c
│ │ ├── libxt_connlimit.man
│ │ ├── libxt_connmark.c
│ │ ├── libxt_connmark.man
│ │ ├── libxt_CONNSECMARK.c
│ │ ├── libxt_CONNSECMARK.man
│ │ ├── libxt_conntrack.c
│ │ ├── libxt_conntrack.man
│ │ ├── libxt_cpu.c
│ │ ├── libxt_cpu.man
│ │ ├── libxt_CT.c
│ │ ├── libxt_CT.man
│ │ ├── libxt_dccp.c
│ │ ├── libxt_dccp.man
│ │ ├── libxt_dscp.c
│ │ ├── libxt_dscp.man
│ │ ├── libxt_esp.c
│ │ ├── libxt_esp.man
│ │ ├── libxt_hashlimit.c
│ │ ├── libxt_hashlimit.man
│ │ ├── libxt_helper.c
│ │ ├── libxt_helper.man
│ │ ├── libxt_IDLETIMER.c
│ │ ├── libxt_IDLETIMER.man
│ │ ├── libxt_iprange.c
│ │ ├── libxt_iprange.man
│ │ ├── libxt_ipvs.c
│ │ ├── libxt_ipvs.man
│ │ ├── libxt_LED.c
│ │ ├── libxt_LED.man
│ │ ├── libxt_length.c
│ │ ├── libxt_length.man
│ │ ├── libxt_limit.c
│ │ ├── libxt_limit.man
│ │ ├── libxt_mac.c
│ │ ├── libxt_mac.man
│ │ ├── libxt_mark.c
│ │ ├── libxt_mark.man
│ │ ├── libxt_multiport.c
│ │ ├── libxt_multiport.man
│ │ ├── libxt_NFLOG.c
│ │ ├── libxt_NFLOG.man
│ │ ├── libxt_NFQUEUE.c
│ │ ├── libxt_NFQUEUE.man
│ │ ├── libxt_NOTRACK.c
│ │ ├── libxt_NOTRACK.man
│ │ ├── libxt_osf.c
│ │ ├── libxt_osf.man
│ │ ├── libxt_owner.c
│ │ ├── libxt_owner.man
│ │ ├── libxt_physdev.c
│ │ ├── libxt_physdev.man
│ │ ├── libxt_pkttype.c
│ │ ├── libxt_pkttype.man
│ │ ├── libxt_policy.c
│ │ ├── libxt_policy.man
│ │ ├── libxt_quota.c
│ │ ├── libxt_quota.man
│ │ ├── libxt_rateest.c
│ │ ├── libxt_rateest.man
│ │ ├── libxt_recent.c
│ │ ├── libxt_recent.man
│ │ ├── libxt_sctp.c
│ │ ├── libxt_sctp.man
│ │ ├── libxt_SECMARK.c
│ │ ├── libxt_SECMARK.man
│ │ ├── libxt_set.c
│ │ ├── libxt_set.h
│ │ ├── libxt_set.man
│ │ ├── libxt_socket.c
│ │ ├── libxt_socket.man
│ │ ├── libxt_standard.c
│ │ ├── libxt_state.c
│ │ ├── libxt_state.man
│ │ ├── libxt_statistic.c
│ │ ├── libxt_statistic.man
│ │ ├── libxt_string.c
│ │ ├── libxt_string.man
│ │ ├── libxt_tcp.c
│ │ ├── libxt_tcp.man
│ │ ├── libxt_tcpmss.c
│ │ ├── libxt_tcpmss.man
│ │ ├── libxt_TCPOPTSTRIP.c
│ │ ├── libxt_TCPOPTSTRIP.man
│ │ ├── libxt_TEE.c
│ │ ├── libxt_TEE.man
│ │ ├── libxt_time.c
│ │ ├── libxt_time.man
│ │ ├── libxt_tos.c
│ │ ├── libxt_tos.man
│ │ ├── libxt_TPROXY.c
│ │ ├── libxt_TPROXY.man
│ │ ├── libxt_TRACE.c
│ │ ├── libxt_TRACE.man
│ │ ├── libxt_u32.c
│ │ ├── libxt_u32.man
│ │ ├── libxt_udp.c
│ │ ├── libxt_udp.man
│ │ └── tos_values.c
│ ├── include
│ │ ├── ip6tables.h
│ │ ├── iptables
│ │ │ ├── internal.h
│ │ │ └── internal.h.in
│ │ ├── iptables.h
│ │ ├── libipq
│ │ │ └── libipq.h
│ │ ├── libiptc
│ │ │ ├── ipt_kernel_headers.h
│ │ │ ├── libip6tc.h
│ │ │ ├── libiptc.h
│ │ │ └── libxtc.h
│ │ ├── libipulog
│ │ │ └── libipulog.h
│ │ ├── linux
│ │ │ ├── kernel.h
│ │ │ ├── netfilter
│ │ │ │ ├── nf_conntrack_common.h
│ │ │ │ ├── nf_conntrack_tuple_common.h
│ │ │ │ ├── x_tables.h
│ │ │ │ ├── xt_CHECKSUM.h
│ │ │ │ ├── xt_CLASSIFY.h
│ │ │ │ ├── xt_cluster.h
│ │ │ │ ├── xt_comment.h
│ │ │ │ ├── xt_connbytes.h
│ │ │ │ ├── xt_connlimit.h
│ │ │ │ ├── xt_connmark.h
│ │ │ │ ├── xt_CONNSECMARK.h
│ │ │ │ ├── xt_conntrack.h
│ │ │ │ ├── xt_cpu.h
│ │ │ │ ├── xt_CT.h
│ │ │ │ ├── xt_dccp.h
│ │ │ │ ├── xt_dscp.h
│ │ │ │ ├── xt_esp.h
│ │ │ │ ├── xt_hashlimit.h
│ │ │ │ ├── xt_helper.h
│ │ │ │ ├── xt_IDLETIMER.h
│ │ │ │ ├── xt_iprange.h
│ │ │ │ ├── xt_ipvs.h
│ │ │ │ ├── xt_LED.h
│ │ │ │ ├── xt_length.h
│ │ │ │ ├── xt_limit.h
│ │ │ │ ├── xt_mac.h
│ │ │ │ ├── xt_mark.h
│ │ │ │ ├── xt_multiport.h
│ │ │ │ ├── xt_NFLOG.h
│ │ │ │ ├── xt_NFQUEUE.h
│ │ │ │ ├── xt_osf.h
│ │ │ │ ├── xt_owner.h
│ │ │ │ ├── xt_physdev.h
│ │ │ │ ├── xt_pkttype.h
│ │ │ │ ├── xt_policy.h
│ │ │ │ ├── xt_quota.h
│ │ │ │ ├── xt_rateest.h
│ │ │ │ ├── xt_realm.h
│ │ │ │ ├── xt_recent.h
│ │ │ │ ├── xt_sctp.h
│ │ │ │ ├── xt_SECMARK.h
│ │ │ │ ├── xt_set.h
│ │ │ │ ├── xt_state.h
│ │ │ │ ├── xt_statistic.h
│ │ │ │ ├── xt_string.h
│ │ │ │ ├── xt_tcpmss.h
│ │ │ │ ├── xt_TCPOPTSTRIP.h
│ │ │ │ ├── xt_tcpudp.h
│ │ │ │ ├── xt_TEE.h
│ │ │ │ ├── xt_time.h
│ │ │ │ ├── xt_TPROXY.h
│ │ │ │ └── xt_u32.h
│ │ │ ├── netfilter.h
│ │ │ ├── netfilter_ipv4
│ │ │ │ ├── ip_tables.h
│ │ │ │ ├── ipt_addrtype.h
│ │ │ │ ├── ipt_ah.h
│ │ │ │ ├── ipt_CLUSTERIP.h
│ │ │ │ ├── ipt_ecn.h
│ │ │ │ ├── ipt_LOG.h
│ │ │ │ ├── ipt_realm.h
│ │ │ │ ├── ipt_REJECT.h
│ │ │ │ ├── ipt_SAME.h
│ │ │ │ ├── ipt_ttl.h
│ │ │ │ └── ipt_ULOG.h
│ │ │ ├── netfilter_ipv4.h
│ │ │ ├── netfilter_ipv6
│ │ │ │ ├── ip6_tables.h
│ │ │ │ ├── ip6t_ah.h
│ │ │ │ ├── ip6t_frag.h
│ │ │ │ ├── ip6t_hl.h
│ │ │ │ ├── ip6t_ipv6header.h
│ │ │ │ ├── ip6t_LOG.h
│ │ │ │ ├── ip6t_mh.h
│ │ │ │ ├── ip6t_opts.h
│ │ │ │ ├── ip6t_REJECT.h
│ │ │ │ └── ip6t_rt.h
│ │ │ ├── netfilter_ipv6.h
│ │ │ └── types.h
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── net
│ │ │ └── netfilter
│ │ │ ├── nf_conntrack_tuple.h
│ │ │ └── nf_nat.h
│ │ ├── xtables.h
│ │ └── xtables.h.in
│ ├── INCOMPATIBILITIES
│ ├── INSTALL
│ ├── install-sh
│ ├── ip6tables.8.in
│ ├── ip6tables.c
│ ├── ip6tables-multi.c
│ ├── ip6tables-multi.h
│ ├── ip6tables-restore.8
│ ├── ip6tables-restore.c
│ ├── ip6tables-save.8
│ ├── ip6tables-save.c
│ ├── ip6tables-standalone.c
│ ├── iptables.8.in
│ ├── iptables-apply
│ ├── iptables-apply.8
│ ├── iptables.c
│ ├── iptables-multi.c
│ ├── iptables-multi.h
│ ├── iptables-restore.8
│ ├── iptables-restore.c
│ ├── iptables-save.8
│ ├── iptables-save.c
│ ├── iptables-standalone.c
│ ├── iptables-xml.8
│ ├── iptables-xml.c
│ ├── iptables.xslt
│ ├── libipq
│ │ ├── ipq_create_handle.3
│ │ ├── ipq_destroy_handle.3
│ │ ├── ipq_errstr.3
│ │ ├── ipq_get_msgerr.3
│ │ ├── ipq_get_packet.3
│ │ ├── ipq_message_type.3
│ │ ├── ipq_perror.3
│ │ ├── ipq_read.3
│ │ ├── ipq_set_mode.3
│ │ ├── ipq_set_verdict.3
│ │ ├── libipq.3
│ │ ├── libipq.c
│ │ ├── Makefile.am
│ │ └── Makefile.in
│ ├── libiptc
│ │ ├── libip4tc.c
│ │ ├── libip6tc.c
│ │ ├── libiptc.c
│ │ ├── linux_list.h
│ │ └── linux_stddef.h
│ ├── libiptc.pc.in
│ ├── ltmain.sh
│ ├── m4
│ │ ├── ax_check_linker_flags.m4
│ │ ├── libtool.m4
│ │ ├── lt~obsolete.m4
│ │ ├── ltoptions.m4
│ │ ├── ltsugar.m4
│ │ └── ltversion.m4
│ ├── Makefile.am
│ ├── Makefile.in
│ ├── missing
│ ├── release.sh
│ ├── utils
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── nfnl_osf.c
│ │ └── pf.os
│ ├── xshared.c
│ ├── xshared.h
│ ├── xtables.c
│ ├── xtables.c.original
│ └── xtables.pc.in
├── gen
│ └── com
│ └── googlecode
│ └── droidwall
│ └── R.java
├── icon-off.svg
├── icon-on.svg
├── package.sh
├── proguard.cfg
├── res
│ ├── drawable
│ │ ├── apply.png
│ │ ├── download.png
│ │ ├── eth_3g.png
│ │ ├── eth_g.png
│ │ ├── eth_wifi.png
│ │ ├── icon.png
│ │ ├── show.png
│ │ ├── upload.png
│ │ ├── widget_bg_focus.png
│ │ ├── widget_bg_pressed.png
│ │ ├── widget_bg.xml
│ │ ├── widget_off.png
│ │ └── widget_on.png
│ ├── drawable-hdpi
│ │ ├── icon.png
│ │ ├── widget_off.png
│ │ └── widget_on.png
│ ├── drawable-ldpi
│ │ ├── icon.png
│ │ ├── widget_off.png
│ │ └── widget_on.png
│ ├── drawable-mdpi
│ │ └── icon.png
│ ├── layout
│ │ ├── help_dialog.xml
│ │ ├── listitem.xml
│ │ ├── main.xml
│ │ ├── onoff_widget.xml
│ │ └── pass_dialog.xml
│ ├── raw
│ │ ├── busybox_g1
│ │ └── iptables_armv5
│ ├── values
│ │ └── strings.xml
│ ├── values-ar
│ │ └── strings.xml
│ ├── values-de
│ │ └── strings.xml
│ ├── values-es
│ │ └── strings.xml
│ ├── values-fr
│ │ └── strings.xml
│ ├── values-it
│ │ └── strings.xml
│ ├── values-pt-rBR
│ │ └── strings.xml
│ ├── values-ru
│ │ └── strings.xml
│ ├── values-zh-rCN
│ │ └── strings.xml
│ └── xml
│ └── onoff_widget.xml
└── src
└── com
├── googlecode
│ └── droidwall
│ ├── Api.java
│ ├── BootBroadcast.java
│ ├── HelpDialog.java
│ ├── MainActivity.java
│ ├── PackageBroadcast.java
│ ├── PassDialog.java
│ └── StatusWidget.java
└── wall
└── Wall0Activity.java
52 directories, 440 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论