- 博客(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
原创 简单的注册表单页面
使用到了各种基本组件: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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人