Android开发
MiserFaith
预则立,不预则废。
展开
-
android 滑动菜单SlidingMenu的实现
先我们看下面视图: 这种效果大家都不陌生,网上好多都说是仿人人网的,估计人家牛逼出来的早吧,我也参考了一一些例子,实现起来有三种方法,我下面简单介绍下:方法一:其实就是对GestureDetector手势的应用及布局文件的设计.布局文件main.xml 采用RelativeLayout布局.[java] view plai转载 2013-07-12 10:14:34 · 1539 阅读 · 2 评论 -
【推荐】快到极致的Android模拟器Genymotion
实际体验,与官方的模拟器相比,完全无法与Genymotion相提并论。无论是从关机时间,开机时间还是从流畅度来看。安装教程:一、注册账号https://cloud.genymotion.com/page/customer/login/?next=/在Sign Up域中填写相关信息,然后去指定的邮箱激活,便可拥有了账号。二、下载Genymotion安装包以及Eclipse插件原创 2013-07-31 17:09:43 · 3380 阅读 · 0 评论 -
自定义控件的开发
很多时候,android提供的组件并不能满足我们的需求,于是我们不得不按需求开发自定义控件。Step 1. 写好自定义控件的内部布局文件。 android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:原创 2013-07-31 13:45:03 · 1112 阅读 · 0 评论 -
性能优化与测试
一、UI性能优化二、避免ANR三、执行时间测试四、内存消耗测试五、性能分析共工具:traceview六、自动化测试工具:Monkey原创 2013-07-25 10:03:25 · 1386 阅读 · 0 评论 -
发布前的准备
一、去掉Log信息Android SDK提供了一系列命令行工具,用来进行Android应用的开发、调试、打包等工作。Eclipse 集成开发环境也是调用 SDK 的相关工具对应用进行打包。Log 在开发是非常有用,能够帮助我们定位问题,但是产品发布时,就没有用武之地了,还会影响应用效率,所以需要关闭。二、打包和签名签名 正式发布一个Android应用时,必须使用一个合适的私钥生原创 2013-07-25 10:26:24 · 1195 阅读 · 2 评论 -
AlarmManager手机闹钟服务
一、简介AlarmManager的本质是一个全局的定时器,AlramManager可在指定的时间或周期启动其他组件。二、常用方法1.set(int type,long triggerAtTime,PendingIntent operation):设置在triggerAtTime时间启动用operation参数指定的组件。其中第一个指定了启动的服务类型。可选的参数如下:E原创 2013-07-28 12:04:38 · 2251 阅读 · 0 评论 -
编写适应多个API Level的APK
一、确认您是否需要多个APK当你试图创建一个支持跨多代android系统的应用程序时,很自然的你希望你的应用程序可以在新设备上使用新特性,并且不会牺牲向后兼容。刚开始的时候认为通过创建多个apk去支持多设备是最好的解决方案,但是往往不是这样。而是使用单个的apk去替代多个apk,这样做会带来很多好处。二、单个apk的好处1. 发布和测试简单2. 只需维护一个代码库3. 应用程序原创 2013-07-20 22:50:26 · 1931 阅读 · 0 评论 -
【Android学习】http协议编程的三种方式
一、POST与GET的区别: 1、GET是从服务器上获取数据,POST是向服务器传送数据。2、在客户端, GET方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。3、对于GET方式,服务器端用Request.QueryString获取变量的值,对于POST方式,服务器端用Request.Form获取提交的数。原创 2014-01-04 16:49:15 · 2138 阅读 · 0 评论 -
手动Root(了解Root原理)
一、概要Root的实质就是获得管理员权限,可以对系统进行无所不能的操作。通过执行破解程序,临时获得Root权限,将su和Superuser.apk这两个文件分别复制到/system/xbin和/system/app目录下,并使用chmod 0644 命令,获得所有的操作权限。Root的本质就是往 /system/bin/ 下放一个su文件,不检查调用者权限的su文件。普通程序可以调用该su原创 2014-03-07 20:23:21 · 13379 阅读 · 0 评论 -
【Android学习】JSON与XML综合六种解析方式-综合案例(web项目源码+android源码+jar包)
一、什么是JSON?JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。JSON就是一串字符串 只不过元素会使用特定的符号标注。{} 双括号表示对象[] 中括号表示数组"" 双引号内是属性或值: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)所以 {"name"原创 2014-01-05 18:41:59 · 2846 阅读 · 0 评论 -
AsyncTask多进程与多线程
一、简介Android系统为了避免与UI线程阻塞,于是便有了Handler和AsyncTask类,由于UI的更新只能在主线程种完成,因此异步处理是不可避免的。进程:当某个组件第一次运行的时候,Android启动了一个进程。默认的,所有的组件和程序运行在这个进程和线程中。 线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系原创 2013-07-23 20:37:06 · 1401 阅读 · 0 评论 -
缓存设计
一、名词解释客户端缓存机制是android应用开发中非常重要的一项工作,使用缓存机制不仅仅可以为用户节省3G流量,同时在用户体验方面也是非常好的选择。缓存机制分为两部分,一部分是文字缓存,另一部分是多媒体文件缓存。缓存系统,要注意缓存内容的过期以及清除问题,尽量保证数据一致性。二、以ListView为例在ListView上显示多个从网络上下载的图片。如果是第一次运行程序,需原创 2013-07-23 13:36:26 · 1174 阅读 · 0 评论 -
Mac Eclipse 常用快捷键
为了提高开发效率,Eclipse 为我们提供了许多快捷键,它们能够帮助我们快速和方便的完成一些繁琐的操作。关于 Eclipse for Windows 的快捷键,在百度和谷歌等搜索引擎都可以搜索到,在这里只提供 Eclipse for Mac 的常用快捷键。我并不打算把所有的快捷键都罗列出来,那样非常没有必要。Command + O:显示大纲Command + 1:快速修复Comm原创 2013-07-17 12:04:14 · 2367 阅读 · 0 评论 -
WebView 实现MiniBrowser
package org.hjw.minibrowser;import android.os.Bundle;import android.app.Activity;import android.view.KeyEvent;import android.view.Menu;import android.view.View;import android.webkit.WebSettings原创 2013-07-18 22:30:51 · 2294 阅读 · 0 评论 -
简单的注册表单页面
使用到了各种基本组件:TextView ,EditText,Button,RadioButon,CheckBox.TableLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_p原创 2013-07-12 11:26:39 · 817 阅读 · 0 评论 -
JSON XML IO数据操作
一、XML解析通过继承org.xml.sax.helpers.DefaultHandler类,覆写characters(),startDocument(),startElement(),endElement()方法实现读取 characters() --------读取结点中的字段值 startDocument()------------进行读取的初始化 startEleme原创 2013-07-19 11:09:49 · 894 阅读 · 0 评论 -
【Android】系统窗口调用
Intent介绍:Intent 执行某操作的一个抽象描述。Intent 负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。一、熟悉常用的Intent,调用系统窗口如下: switch (view.getId()) { cas原创 2013-07-18 17:05:30 · 1406 阅读 · 0 评论 -
Android数据传输省电方法
一、下载优化众所周知,Android系统一个最大的缺点也就是电量问题。这里我们在下载方面进行优化,能尽可能达到省电的目的。1.尽可能的将数据一起传送,无限制读取缓存数据也会加重电量的消耗。一般来说,每2至5分钟取一次数据,每次1至5M是最佳的选择,也可以避免下载重复的数据。2.使用Google Cloud Messaging for Android (GCM)推送App的更原创 2013-07-19 22:41:30 · 1476 阅读 · 0 评论 -
Mac OS 基本命令
以下是unix的命令行,供参考目录操作ls 列出文件 ls /System/Library/Extensionscd转换目录 cd /Systemmkdir建立新目录 mkdir /Users/echo/Desktop/nicecp 参数 源文件 目标文件(参数R表示进行递归操作)拷贝文件 cp -R /Users/echo/Des原创 2013-07-20 12:00:58 · 1191 阅读 · 0 评论 -
自定义ContentProvider
一、实现步骤1.编写一个类,必须继承自ContentProvider类2.实现ContentProvider类中所有的抽象方法3.定义ContentProvider的URI4.使用UriMatcher对象映射Uri返回代码5.根据实际的需要编写相应方法6.在AndroidMainfest.xml文件中使用标签注册ContentProvider原创 2013-07-20 12:50:38 · 1602 阅读 · 0 评论 -
Android系统中分享功能的实现
一、Intent概念Intent 英文词义是“意图”,在Android的编程框架里面,是体现“想要做某事”的概念。它的作用是在Activity之间传递数据,或者说,通过传递数据,达到请求另一Activity执行某种操作的目的。二、分享功能1.分享唤起端的实现主要通过设置Action为Intent.Action_Send,设置Type和Extra,Type为MIME类型,Extr原创 2013-07-22 21:43:56 · 1606 阅读 · 0 评论 -
OOM(内存溢出)解决方案
一、内存引用 软引用是主要用于内存敏感的高速缓存。在jvm报告内存不足之前会清除所有的软引用,这样以来gc就有可能收集软可及的对象,可能解决内存吃紧问题,避免内存溢出。什么时候会被收集取决于gc的算法和gc运行时可用内存的大小。软引用即使没有被引用,也不会释放,直到虚拟机报告内存不够才回收,所以适合做Cache。String abc = “aaa”;SoftReference原创 2013-07-23 11:13:56 · 2034 阅读 · 0 评论 -
解决EditText在输入状态下点击其他区域隐藏输入法的问题
container为EditText的容器container.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { InputMethodManager imm = (InputMethodManager)原创 2015-03-21 14:59:01 · 1218 阅读 · 1 评论