Android是建立在Linux之上的OS,在涉及到安全.网络协议.文件加密等功能时,往往需要通过C语言调用底层API来实现,而如何发出指令让C端执行我们想要的功能,并且在执行之后有返回结果呢,这就需要打通Java端进程和C端进程,使之能高效地通信.这样,C端进程用于实现功能,Java端进程负责UI.功能的触发及结果处理就可以了. 对于*nix系统来说,“一切皆为文件”,Socket也不例外,Socket按照收发双方的媒介来说有三种类型:1,通过网络端口:2,通过文件系统:3,通过内存映射文件.…
最新最准确内容建议直接访问原文:Android利用Fiddler进行网络数据抓包 主要介绍Android及IPhone手机上如何进行网络数据抓包,比如我们想抓某个应用(微博.微信.墨迹天气)的网络通信请求就可以利用这个方法. 相对于tcpdump配合wireshark抓包的优势在于:(1)无需root (2)对Android和Iphone同样适用 (3)操作更简单方便(第一次安装配置,第二次只需设置代理即可) (4)数据包的查看更清晰易懂,Fiddler的UI更简单明了 (5) 可以查看http…
Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓包工具就派上用场了,它会记录你发送的每条请求记录,包括每条请求中包含的表单数据,截图示例如下: 左边是请求的url链接,右边是每个链接请求工程中的一些信息数据,从这里我们可以看到data中的数据.有了它,我们就不需要用F12了.   分类: 爬虫         Android利用Fiddler进行…
关于Android应用与Framework的socket通信,相信关心这个问题的朋友们已经看过<android使用socket使底层和framework通信>这篇文章,美中不足的是作者只贴出一些关键的代码片段而并没有放出源码.我这里还是以一个能实际运行的例子为基础来讲,这样也方便大家学习. 首先看一下效果,如下图.我填写姓名"Potter",选择性别"Mr"然后点击发送,底层socket收到消息后将消息直接返回给我,我将返回的结果(Mr.Potter)直…
这里介绍的水平仪,指的是比较传统的气泡水平仪,在一个透明圆盘内充满液体,液体中留有一个气泡,当一端翘起时,该气泡就会浮向翘起的一端.    利用方向传感器返回的第一个参数,实现了一个指南针小应用. 我的Android进阶之旅------>Android利用Sensor(传感器)实现指南针功能  (地址:http://blog.csdn.net/ouyang_peng/article/details/8801204)    接下来,我们利用返回的第二.三个参数实现该水平仪.因为第二个参数,反映底部…
在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在Android中会生成Linux系统下的.so文件(好吧,其实我基本没用过Linux). 没写过JNI的可以看看我之前的博客(Windows下利用Visual Studio开发的过程):http://cherishlc.iteye.com/admin/blogs/1328136 以及自动生成工具swig的使用方法(数组的支持不好!其他挺方便):http://cherishlc.iteye.co…
Fiddler抓包工具 Fiddler抓包工具很好用的,它可以干嘛用呢,举个简单例子,当你浏览网页时,网页中有段视频非常好,但网站又不提供下载,用迅雷下载你又找不到下载地址,这个时候,Fiddler抓包工具就派上用场了,它会记录你发送的每条请求记录,包括每条请求中包含的表单数据,截图示例如下: 左边是请求的url链接,右边是每个链接请求工程中的一些信息数据,从这里我们可以看到data中的数据.有了它,我们就不需要用F12了.   分类: 爬虫         Android利用Fiddler进行…
简要说明:这是一个比较简单的hessian客户端和服务端,主要实现从客户端发送指定的数据量到服务端,然后服务端在将接收到的数据原封不动返回到客户端.设计该hessian客户端和服务端的初衷是为了做一个转发系统的性能测试,通过利用该客户端和服务端来作为转发系统的测试脚本和测试服务端.同时,该hessian客户端和服务端也可作为简单的hessian例子进行学习. 1.客户端 工具类1:byte数组长度返回 package tool; public class ByteActualLength { p…
package com.example.myapp5; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; /** * Android 利用service实现下载图片功能 * @author shaobn * @date 2015-9-14 * @packege co…
 签名的必要性 1.  防止你已安装的应用被恶意的第三方覆盖或替换掉. 2.  开发者的身份标识,签名可以防止抵赖等事件的发生. 开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的.另外由于开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,签名这时可以可以防止你已安装的应用被恶意的第三方覆盖或替换掉.因而APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本. 签名方式 签…