自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无痕

A code A day,keeps girls away.

  • 博客(136)
  • 资源 (8)
  • 收藏
  • 关注

原创 解决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 1230 1

原创 手动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 13415

原创 【百度地图学习-一】初始化以及TextOverlay

一、百度地图的初始化  主要用到三个类:  1、BMapManager:使用地图sdk前需先初始化BMapManager.BMapManager是全局的,可为多个MapView共用,它需要地图模块创建前创建, 并在地图地图模块销毁后销毁,只要还有地图模块在使用,BMapManager就不应该销毁。它属于地图引擎管理类。   最好在用一个自定义的继承于Application的类来依附Ac

2014-01-07 17:05:31 1356

原创 【Android学习】四种布局方式

一、LinearLayout  线性布局,即一行展开或者一列展开,也可以嵌套,需要注意的属性如下:  android:orentation  //对齐方式二、FrameLayout  帧布局,即一层层叠起来,最先放的在最底下,需要注意的属性如下:  无三、RelativeLayout  相对布局,即通过对某一参照控件,进行布局,需要注意的属性如下:  android

2014-01-07 17:05:29 836

原创 【Android学习】数据传递三种方式

1、Application  注意在清单文件中的Application节点下注册android:name属性,  继承Application类,重写onCreate方法,     使用数据时,实例化自定义类时需要使用getApplication方法以及getText或者setText方法。2、ClipBoardManager  剪切板的使用,注意初始化时使用的是getSyste

2014-01-07 17:05:27 892

原创 【Android学习】JSON与XML综合六种解析方式-综合案例(web项目源码+android源码+jar包)

一、什么是JSON?JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。JSON就是一串字符串 只不过元素会使用特定的符号标注。{} 双括号表示对象[] 中括号表示数组"" 双引号内是属性或值: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)所以 {"name"

2014-01-05 18:41:59 2859

原创 【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 2152

原创 【推荐】快到极致的Android模拟器Genymotion

实际体验,与官方的模拟器相比,完全无法与Genymotion相提并论。无论是从关机时间,开机时间还是从流畅度来看。安装教程:一、注册账号https://cloud.genymotion.com/page/customer/login/?next=/在Sign Up域中填写相关信息,然后去指定的邮箱激活,便可拥有了账号。二、下载Genymotion安装包以及Eclipse插件

2013-07-31 17:09:43 3388

原创 自定义控件的开发

很多时候,android提供的组件并不能满足我们的需求,于是我们不得不按需求开发自定义控件。Step 1.  写好自定义控件的内部布局文件。   android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:

2013-07-31 13:45:03 1122

原创 AlarmManager手机闹钟服务

一、简介AlarmManager的本质是一个全局的定时器,AlramManager可在指定的时间或周期启动其他组件。二、常用方法1.set(int type,long triggerAtTime,PendingIntent operation):设置在triggerAtTime时间启动用operation参数指定的组件。其中第一个指定了启动的服务类型。可选的参数如下:E

2013-07-28 12:04:38 2264

原创 发布前的准备

一、去掉Log信息Android SDK提供了一系列命令行工具,用来进行Android应用的开发、调试、打包等工作。Eclipse 集成开发环境也是调用 SDK 的相关工具对应用进行打包。Log 在开发是非常有用,能够帮助我们定位问题,但是产品发布时,就没有用武之地了,还会影响应用效率,所以需要关闭。二、打包和签名签名 正式发布一个Android应用时,必须使用一个合适的私钥生

2013-07-25 10:26:24 1208 2

原创 性能优化与测试

一、UI性能优化二、避免ANR三、执行时间测试四、内存消耗测试五、性能分析共工具:traceview六、自动化测试工具:Monkey

2013-07-25 10:03:25 1397

原创 AsyncTask多进程与多线程

一、简介Android系统为了避免与UI线程阻塞,于是便有了Handler和AsyncTask类,由于UI的更新只能在主线程种完成,因此异步处理是不可避免的。进程:当某个组件第一次运行的时候,Android启动了一个进程。默认的,所有的组件和程序运行在这个进程和线程中。    线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系

2013-07-23 20:37:06 1412

原创 缓存设计

一、名词解释客户端缓存机制是android应用开发中非常重要的一项工作,使用缓存机制不仅仅可以为用户节省3G流量,同时在用户体验方面也是非常好的选择。缓存机制分为两部分,一部分是文字缓存,另一部分是多媒体文件缓存。缓存系统,要注意缓存内容的过期以及清除问题,尽量保证数据一致性。二、以ListView为例在ListView上显示多个从网络上下载的图片。如果是第一次运行程序,需

2013-07-23 13:36:26 1188

原创 OOM(内存溢出)解决方案

一、内存引用  软引用是主要用于内存敏感的高速缓存。在jvm报告内存不足之前会清除所有的软引用,这样以来gc就有可能收集软可及的对象,可能解决内存吃紧问题,避免内存溢出。什么时候会被收集取决于gc的算法和gc运行时可用内存的大小。软引用即使没有被引用,也不会释放,直到虚拟机报告内存不够才回收,所以适合做Cache。String abc = “aaa”;SoftReference

2013-07-23 11:13:56 2047

原创 Android系统中分享功能的实现

一、Intent概念Intent 英文词义是“意图”,在Android的编程框架里面,是体现“想要做某事”的概念。它的作用是在Activity之间传递数据,或者说,通过传递数据,达到请求另一Activity执行某种操作的目的。二、分享功能1.分享唤起端的实现主要通过设置Action为Intent.Action_Send,设置Type和Extra,Type为MIME类型,Extr

2013-07-22 21:43:56 1623

原创 编写适应多个API Level的APK

一、确认您是否需要多个APK当你试图创建一个支持跨多代android系统的应用程序时,很自然的你希望你的应用程序可以在新设备上使用新特性,并且不会牺牲向后兼容。刚开始的时候认为通过创建多个apk去支持多设备是最好的解决方案,但是往往不是这样。而是使用单个的apk去替代多个apk,这样做会带来很多好处。二、单个apk的好处1. 发布和测试简单2. 只需维护一个代码库3. 应用程序

2013-07-20 22:50:26 1939

原创 自定义ContentProvider

一、实现步骤1.编写一个类,必须继承自ContentProvider类2.实现ContentProvider类中所有的抽象方法3.定义ContentProvider的URI4.使用UriMatcher对象映射Uri返回代码5.根据实际的需要编写相应方法6.在AndroidMainfest.xml文件中使用标签注册ContentProvider

2013-07-20 12:50:38 1613

原创 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 1201

原创 Android数据传输省电方法

一、下载优化众所周知,Android系统一个最大的缺点也就是电量问题。这里我们在下载方面进行优化,能尽可能达到省电的目的。1.尽可能的将数据一起传送,无限制读取缓存数据也会加重电量的消耗。一般来说,每2至5分钟取一次数据,每次1至5M是最佳的选择,也可以避免下载重复的数据。2.使用Google Cloud Messaging for Android (GCM)推送App的更

2013-07-19 22:41:30 1488

原创 JSON XML IO数据操作

一、XML解析通过继承org.xml.sax.helpers.DefaultHandler类,覆写characters(),startDocument(),startElement(),endElement()方法实现读取  characters() --------读取结点中的字段值  startDocument()------------进行读取的初始化  startEleme

2013-07-19 11:09:49 904

原创 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 2306

原创 【Android】系统窗口调用

Intent介绍:Intent 执行某操作的一个抽象描述。Intent 负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。一、熟悉常用的Intent,调用系统窗口如下: switch (view.getId()) { cas

2013-07-18 17:05:30 1413

原创 Mac Eclipse 常用快捷键

为了提高开发效率,Eclipse 为我们提供了许多快捷键,它们能够帮助我们快速和方便的完成一些繁琐的操作。关于 Eclipse for Windows 的快捷键,在百度和谷歌等搜索引擎都可以搜索到,在这里只提供 Eclipse for Mac 的常用快捷键。我并不打算把所有的快捷键都罗列出来,那样非常没有必要。Command + O:显示大纲Command + 1:快速修复Comm

2013-07-17 12:04:14 2375

原创 简单的注册表单页面

使用到了各种基本组件: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 825

原创 通过get方式解析非西欧字符。

1 <% 2 //获取请求里包含的查询字符串 3 String rawQueryStr = request.getQueryString(); 4 out.println("原始查询字符串为:" + rawQueryStr + ""); 5 //使用URLDecoder解码字符串 6 String queryStr = java.net.URLDecoder.decode(

2013-07-12 11:26:37 899

原创 java 数据库操作使用批处理

1 package JDBCDEMOS; 2 3 //import java.net.ConnectException; 4 import java.io.File; 5 import java.io.FileInputStream; 6 import java.io.InputStream; 7 import java.sql.DriverManager; 8 im

2013-07-12 11:26:35 779

原创 java test表中查询数据

1 package JDBCDEMOS; 2 3 //import java.net.ConnectException; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Connection;

2013-07-12 11:26:33 796

原创 java 菜单

1 package test; 2 3 import java.awt.Container; 4 import java.awt.GridLayout; 5 import java.awt.event.WindowAdapter; 6 import java.awt.event.WindowEvent; 7 import java.io.File; 8 import

2013-07-12 11:26:31 835

原创 java 构建一个简单的菜单

1 package test; 2 3 import java.awt.Container; 4 import java.awt.GridLayout; 5 import java.awt.event.WindowAdapter; 6 import java.awt.event.WindowEvent; 7 import java.io.File; 8 import

2013-07-12 11:26:28 1335

原创 java 下拉列表框

1 package test; 2 3 import java.awt.Container; 4 import java.awt.GridLayout; 5 import java.awt.event.WindowAdapter; 6 import java.awt.event.WindowEvent; 7 import java.util.Vector; 8

2013-07-12 11:26:26 3611

原创 java 显示单选按钮

1 package test; 2 3 import java.awt.Container; 4 import java.awt.GridLayout; 5 import java.awt.event.WindowAdapter; 6 import java.awt.event.WindowEvent; 7 8 import javax.swing.BorderFa

2013-07-12 11:26:24 1119

原创 《将博客搬至CSDN》

本人博客将搬往CSDN。

2013-07-12 11:26:24 617

原创 简单的注册表单页面

使用到了各种基本组件: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:22 880

原创 java 键盘监听

1 package LoginDemo; 2 3 import java.awt.event.KeyEvent; 4 import java.awt.event.KeyListener; 5 import java.awt.event.WindowEvent; 6 import java.awt.event.WindowAdapter; 7 import javax.sw

2013-07-12 11:26:21 2644

原创 通过get方式解析非西欧字符。

1 <% 2 //获取请求里包含的查询字符串 3 String rawQueryStr = request.getQueryString(); 4 out.println("原始查询字符串为:" + rawQueryStr + ""); 5 //使用URLDecoder解码字符串 6 String queryStr = java.net.URLDecoder.decode(

2013-07-12 11:26:20 823

原创 java 使用ActionListener监控

1 package test; 2 3 import java.awt.Font; 4 import java.awt.GridLayout; 5 import java.awt.LayoutManager; 6 import java.awt.event.ActionEvent; 7 import java.awt.event.ActionListener; 8 import java.awt

2013-07-12 11:26:19 830

原创 java 带滚动条的多行文本输入

1 package test; 2 3 import java.awt.GridLayout; 4 import java.awt.LayoutManager; 5 //import java.util.EmptyStackException; 6 7 import javax.swing.JFrame; 8 import javax.swing.JLabel; 9 import javax.

2013-07-12 11:26:17 1292

原创 java 数据库操作使用批处理

1 package JDBCDEMOS; 2 3 //import java.net.ConnectException; 4 import java.io.File; 5 import java.io.FileInputStream; 6 import java.io.InputStream; 7 import java.sql.DriverManager; 8 im

2013-07-12 11:26:17 787

原创 java 设置密文显示框

1 package test; 2 3 import java.awt.Container; 4 import java.awt.Font; 5 import java.awt.GridLayout; 6 import java.io.File; 7 import java.util.EmptyStackException; 8 import java.util.Iterator; 9 impo

2013-07-12 11:26:15 1317

server_xml_json

xmljson解析服务端,见下文 http://blog.csdn.net/uaecho/article/details/17887597

2014-06-07

xmljson解析客户端

xmljson解析客户端,见下文 http://blog.csdn.net/uaecho/article/details/17887597

2014-06-07

json-gson-fastjson-jar包

JSON GSON FASTJSON jar包,包括文档、源码和API。

2014-06-07

ApacheHttp编程时用到的JAR包

ApacheHttp编程时用到的JAR包,灵活的Apache编程是你必不可少的工具。

2014-01-04

XMLpull解析时用到的JAR包

XMLpull解析时用到的JAR包,你肯定用得到,对于三种XML解析来说,Pull解析是最适合Android开发的。

2014-01-04

浅先生wifi热点管理工具

无线共享的快捷方式,方便使用,绿色简洁。

2013-09-14

Navicat for sqlite Mac OS 版

sqlite在mac os下的管理工具。

2013-07-20

XML_JSON_IO基本操作

XML_JSON_IO基本操作,包括读操作和写操作的demo

2013-07-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除