Welcome 微信登录

首页 / 移动开发 / Android

解析android 流量监测的实现原理

解析android 流量监测的实现原理

Linux 系统下所有的信息都是以文件的形式存在的,所以应用程序的流量信息也会被保存在操作系统的文件中。Android 2.2 版本以前的系统的流量信息都存放在 proc/net/dev(或者 proc/self/net/dev)文件下,读取文件然后对其进行解析就行了。读取某一个应用的流量,则读取proc/uid_stat/uid /tcp_rcv 文件进行解析(注:模拟器下不存在这个目录)。如需查看某个应用的流量信息,可以通过以下命令来实现:复制代码 代...
浅析Android 模拟键盘鼠标事件

浅析Android 模拟键盘鼠标事件

通过Socket + Instrumentation实现模拟键盘鼠标事件主要通过以下三个部分组成:Socket编程:实现PC和Emulator通讯,并进行循环监听Service服务:将Socket的监听程序放在Service中,从而达到后台运行的目的。这里要说明的是启动服务有两种方式,bindService和startService,两者的区别是,前者会使启动的Service随着启动Service的Activity的消亡而消亡,而startService则...
Android中asset文件夹与raw文件夹的区别深入解析

Android中asset文件夹与raw文件夹的区别深入解析

*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可...
android中ProgressDialog与ProgressBar的使用详解

android中ProgressDialog与ProgressBar的使用详解

一 、ProgressDialogProgressDialog与ProgressBar在UI中动态显示一个加载图标显示程序运行状态。ProgressDialog是继承自Android.app.ProgressDialog所设计的互动对话窗口,使用时,必须新建ProgressDialog对象,在运行时会弹出“对话框”作为提醒,此时应用程序后台失去焦点(即此时无法对UI组件进行操作),直到进程结束后,才会将控制权交给应用程序,如果在Activity当中不希望后...
解析android中ProgressBar的用法

解析android中ProgressBar的用法

范例说明Android的Widget,有许多是为了与User交互而特别设计的,但也有部分是作为程序提示、显示程序运行状态的Widget。现在介绍的范例,与前一章介绍过的ProgressDialog对话框的应用目的相似,但由于前章介绍的ProgressDialog是继承自Android.app.ProgressDialog所设计的互动对话窗口,在应用时,必须新建ProgressDialog对象,在运行时会弹出“对话框”作为提醒,此时应用程序后台失去焦点,直到...
解析:ClickOnce通过URL传递参数 XXX.application?a=1

解析:ClickOnce通过URL传递参数 XXX.application?a=1

启用URL参数在解决方案资源管理器中右键点击你的ClickOnce工程,点击属性进入发布选项卡,点击“选项”按钮,在弹出的界面中选中“允许给应用程序传递URL参数”。获取参数 下一步就是获取url里的参数值,因为ClickOnce应用程序没有HttpContext,所以就不能使用Request.QueryString方法获取参数。 然而可以从发布的上下文获取参数。下面的程序可以返回一个类型为NameValueCollection的url参数集合对象。 复制...
Android 往Framework中添加新资源的方法详解

Android 往Framework中添加新资源的方法详解

有时候我们想在标准的Framework中添加自己的新的资源怎么办呢?办法就是我们来尝试下。通过Eclipse的联系,我们可以联想到是否就是简单的把字符串放在res的各个文件夹里面。先来试试看,编译,系统立即报错。为什么呢?它提示你利用make update-api这个命令来更新public.xml文件或者把这个声明称hide类型。这个肯定不是我们想要的。所以方法有二:方法1:正常添加完资源后,执行make update-api函数。系统更新res/valu...
为Android添加一门新语言的解决办法

为Android添加一门新语言的解决办法

虽然Android从2.3开始已经支持50种以上的语言,但是不是每种语言都有字体可以显示。遇到一个新需求,有客户要求对hindi语言的支持。于是上网找了一些资料,发现网上介绍的大部分是如何替换默认字体,就是替换./frameworks/base/data/fonts/DroidSansFallback.ttf,但是替换完之后,中文就无法正常显示。其实只要有下面几个步骤,就可以实现新曾加一种语言的显示支持:1. 需要有可以显示hindi语言的字体,我在网上下...
Grow heap (frag case) 堆内存过大的深入解析

Grow heap (frag case) 堆内存过大的深入解析

对于Android开发者来说虽然使用了可以自动管理内存的Java语言,但是对于内存管理不当,可能你的应用不断出现类似INFO/dalvikvm-heap(10798): Grow heap (frag case) to 6.437MB for 1114126-byte allocation,而出现的Grow heap 后面的值不断增加,接下来轻微则Android系统开始结束后台任务来增加不断增加的堆内存问题,最后可能直接出现OOM,同时有时候GC还可能出现...
Android 4.0 设置全屏修改的解决方法

Android 4.0 设置全屏修改的解决方法

最近在做一个平板的应用,底部的BACK HOME 还有电池WIFI的那一条STATUS_BAR设置全屏后怎么也去不掉,查找资料后,发现一个比较好的方法,在此分享 第一种方式(程序代码): 在OnCreate里添加一行语句 复制代码 代码如下:getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE); 在setContentView之前哦。 过时的一个方...
在android中增加curl的解决方法

在android中增加curl的解决方法

curl是一个著名的开源文件传输协议实现软件,其中包括了HTTP、HTTPS、FTP等多种常用不常用协议的实现。在curl最新版本的官方源代码中其实已经包括了android的编译文件(Android.mk),不过要想编译通过还需要做一些工作。我所使用的curl版本是7.20.0,android源代码版本是eclair 2.1。首先将curl解压到external目录下,将目录名称改为curl(不改也可以,不过android的习惯是不带版本号,入乡随俗吧)。...
Windows下获取Android 源码方法的详解

Windows下获取Android 源码方法的详解

前言:略!获取源码的原因千千万~~~1.安装GIT工具。GIT是林纳斯·托瓦兹大神为了管理器Linux内核开发而创立的分布式版本控制软件。下载地址:http://code.google.com/p/msysgit/一路next将安装进行到底。2.在磁盘剩余空间较大的磁盘下新建一个文件夹,用于存放源码。我在F盘下:新建了androidsourcecode文件夹。3.访问Android源码网站,获取你所需要的源码“下载链接”。网站地址:http://andro...
解析libcurl在android下的移植、编译与测试

解析libcurl在android下的移植、编译与测试

由于项目需要在NDK中使用网络开发,对于c语言网络开发来说,libcurl库是个很不错的选择,但android系统中并没有自带该库,所以就得自己移植了。下面是移植步骤:1. 下载curl源码 我这里下载的是curl-7.22.0,源码下载地址为:http://curl.haxx.se/download.html2. 准备android源码编译环境,android源码应已全部编译过,具体细节这里不详述,我这里使用的是android2.2 froyo源码树。3...
<< 361 362 363 364 365 366 367 368 369 370 >>