
Android进阶
进一步学习android
难道还怪我咯
乐观积极,乐于探索,喜欢用计算机来解决自己碰到的问题,善于写博客,积累知识,上stackoverflow搜索解决问题的思路;有较强的适应能力和良好的团队合作精神;有较强的英文阅读、交流能力以及编码能力,无障碍阅读专业外文书籍、论文等。<br>热爱移动互联网,希望在移动互联网领域向大神学习,进步!
展开
-
Android 进阶之adb指令
利用命令行执行android的adb指令,步骤如下 1、在ADT sdk中找到adb,如下: 2、cmd启动命令行,将该adb可执行文件拖入命令行即可运行,这样就可以执行各种adb指令了。(若下面方法启动不成功,则强制关闭进程或查看端口占用情况) 3、如果adb挂掉,可以通过如下方式重新设置原创 2015-01-03 15:40:58 · 879 阅读 · 0 评论 -
Android进阶之android应用的SDK版本之间的切换
选中android工程,右键/属性,如下进行选择即可:原创 2015-01-03 16:08:13 · 2261 阅读 · 0 评论 -
android进阶之android应用安装
android应用安装分为如下几步: 1、把apk文件拷贝到android系统/data/app/xxx.apk 2、在data/data目录下创建一个已当前应用包名一致的文件夹。(应用运行的数据均保存在该目录下) 安装完成。 卸载则相反。 在system目录下有类似windows的注册表。原创 2015-01-04 15:39:42 · 831 阅读 · 0 评论 -
android进阶之常见adb指令
1、显示设备 如果adb已经被关闭,可以用该指令启动。 2、关闭adb指令 3、安装apk指令 4、卸载指令 uninstall+ 应用包名 5、adb -s +设备名称+install apk路径+apk 向指定设备安装apk 7、从手机拿文件,向手机发文件 8、进入手机终端指令 查看文件 #ps 手机中运行的原创 2015-01-04 16:50:57 · 1335 阅读 · 0 评论 -
android进阶之Monkey测试
1、黑盒测试,不知道源代码。 2,白盒测试,在测试源代码。 3.Monkey测试 adb shell 进入linux终端。 对该手机的所有应用进行狂点测试(500次) 对系统中的某一个应用进行压力测试: 对一个android应用测试2000次原创 2015-01-04 20:23:48 · 1085 阅读 · 1 评论 -
android 进阶之文件操作
原创 2015-01-04 21:52:18 · 667 阅读 · 1 评论 -
android进阶之文件访问权限
android是基于linux的,所以文件访问权限和linux一样。其中r代表可读,W代表可写,X代表可执行。 文件访问权限分三组。 1-3 当前用户(应用)访问权限。 4-6 当前用户所在组的访问权限。 7-9 其他用户(应用)访问权限。 android应用是一个独立的用户,对应一个独立的组。 可以通过如下指令来查看用户组和用户ID:原创 2015-01-10 20:26:13 · 1018 阅读 · 0 评论 -
androidUI性能优化
1、adapter 和adapterview 复用历史缓存(item布局和数据缓存)。 2、数据分页显示(利用操作引导用户) 3、优化布局文件xml。(layout尽量不要超过5层) 4、优化activity的背景图片。利用getWindow.setBackgroudDrawable(id)设置背景图,使用系统默认的最顶层来提高效率。 5、在自定义主题中设置背景 6、使用原创 2015-01-11 09:33:36 · 880 阅读 · 0 评论 -
android进阶之生成xml文件
方式一通过StringBuider 来生成xml文件(他线程不安全,不需要进行通过检测加锁,效率高,单线程建议使用。StrigBuffer线程 安全,效率较之低,多线程环境使用)。 如下所示: 方式二,通过XML的序列器来实现生成XML文件,代码中的null是命名空间。tag是节点,doucument是文件头声明。示例代码如下:原创 2015-01-11 16:09:19 · 862 阅读 · 0 评论 -
Android进阶之XML文件解析
xml序列化是把内存数据写入硬盘或SD卡。 XML文件解析的方式: 1、dom解析,生成一个树状结构,并全部加入内存,在内存修改树状结构的节点即可。但是消耗内存大。 2、sax解析 基于事件的解析方式。速度快,效率高,但是不能倒退。 3、pull解析 基于事件的解析 pull解析方式: 第一步,初始化解析器,设置要解析的数据流。(此刻指向文档的开始部分) 第二步,得到事件。原创 2015-01-18 20:14:28 · 693 阅读 · 0 评论 -
An的roi的进阶之数据库操作
1、创建SQliteOpenHeplper子类。 2、建立数据库和表结构如下:版本号从1开始。底层以String类型存放 public class LocationInfosDBHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME="gpsinfos.db"; private static原创 2015-01-26 20:54:54 · 713 阅读 · 0 评论 -
android刷新UI的几种方式总结
首先,android的UI刷新是在主线程(UI线程)中完成的。四大组件中,activity和service运行在主线程中。现在总结自己在项目中常用到的UI刷新方式。 第一,利用子线程发消息刷新UI。 子线程负责处理UI需要的数据,然后发消息到主线程来刷新UI。代码结构如下: new Thread(new Runnable() { @Override publi原创 2015-03-01 14:14:41 · 4889 阅读 · 1 评论 -
android 长连接总结
1、为了实现IM通信,android客户端和服务端保持长连接。思路,开启一个线程用来发送心跳包,再开启一个线程读取服务端返回的数据。解析到返回的数据后,该线程发消息到主线程,再次启动该读线程,这样可以避免出现读线程阻塞。原创 2015-03-01 14:24:49 · 1314 阅读 · 0 评论 -
android 数据库事务
1、事务 2、命令行操作数据库原创 2015-04-18 19:47:24 · 842 阅读 · 0 评论 -
contentprovider 自定义内容提供者
contentprovider 自定义内容提供者步骤; 1、继承contentprovider 2、清单文件配置,包括主机路径配置:content://包名.类名 3、定义URI匹配器,用于匹配uri,若路径不满足条件返回-1。 4、添加匹配规则 5、复写增删改查方法 注意:结果集系统会自动关闭!!!原创 2015-04-19 13:05:27 · 1117 阅读 · 0 评论 -
内容观察者(针对contentprovider)
通过内容观察者实时观察第三方数据的变化。 步骤如下; 1、获得内容解析者 2、对内容解析者注册内容观察者,第二个参数为true则模糊匹配,前缀相同即可,false就完全匹配。 3、继承contentObserver并实现onChange方法 ——————————————————————————————————————————————————原创 2015-04-19 14:51:32 · 1403 阅读 · 0 评论 -
多线程下载
步骤: 1、连接服务器,获取文件的大小,并在本地创建一个和服务器文件大小相同的文件 rwd 模式是直接同步到硬盘 2、计算线程下载的数据大小 3、创建下载线程原创 2015-04-19 16:30:43 · 817 阅读 · 0 评论 -
多线程断点下载
将下载进度持久化。下次下载再读取上一次的进度,再次下载即可。下载线程中记录下载进度,关键代码如下: 正确如下; 设置标志位来判断线程是否执行完。 清除文件 在android中将这些状态保存在数据库中。原创 2015-04-19 18:59:25 · 696 阅读 · 0 评论 -
创建fragment
fragment利用布局文件静态加载的方式: 第一步,继承Fragment基类。(不需要在清单文件中配置) 第二步,在布局文件中添加fragment 元素。其中小写代表类型(在activity所在的布局中进行添加)。如下: 名字是全类名的形式(包名+类名) 第三步,复写fragment生命周期方法(一般复写oncreate,onCreateView,onPause方法) 加载布局原创 2015-04-20 09:20:07 · 868 阅读 · 0 评论 -
加载图片到内存
1、图片解析配置 2、只解析图片的尺寸 3、获取图片的宽高信息 4、获取手机屏幕的宽高 5、计算缩放比例(图片的大小/窗口的大小)按大的进行缩放 6、解析图片全部信息 scale 缩放比例原创 2015-04-21 09:08:07 · 1291 阅读 · 0 评论