Welcome 微信登录

首页 / 移动开发 / Android

Android ExpandableListView长按事件的完美解决办法

Android ExpandableListView长按事件的完美解决办法

关于ExpandableListView长按事件处理,网上很多都是使用将上下文菜单注册到ExpandableListView上实现长按事件。这样做弊端显而易见,不够灵活,不能分别对父项、子项、父项之间、子项之间弹出内容做区分。下面来说我的解决方法,方法有点投机取巧。首先说明一点,使用我这种方法必须使用自定义的BaseExpandableListAdapter,至于为什么,具体后面讲到。ExpandableListView本身有继承自AdapterView的...
解析Android 如何获得已安装应用大小

解析Android 如何获得已安装应用大小

应用层面如何获得已经安装应用的大小?网上找了一下有两种方法:1、直接拿到data目录下对应的包,然后用File.length()方法获得。然后会发现和设置里显示的大小不同。2、通过反射调用设置里源码的方法获得PackageStats类的实例。两种方法都不想用...后来自己找到解决办法:PackageManager类有个getPackageSizeInfo方法如下:复制代码 代码如下:public abstract void getPackageSizeIn...
解析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之前哦。 过时的一个方...
<< 131 132 133 134 135 136 137 138 139 140 >>