
android
watayouxiang
这个作者很懒,什么都没留下…
展开
-
源码分析Handler机制
Handler机制Message(消息) 消息的创建: 调用Message.obtain()方法,当sPool消息池为空就创建消息对象消息的next属性: 消息对象通过next属性指向下一个消息对象消息的when属性: long类型变量when,记录自己发送时间消息的target成员变量: 消息对象中有一个Handler类型的成员变量target这个target记录此消息对象是由原创 2017-05-03 16:02:44 · 397 阅读 · 0 评论 -
AS快捷键 & AS不需要提交的文件
Android Studio快捷键Ctrl + Y: 删除一行Alt + Enter: 代码提示选中一个类, Ctrl + H: 查看实现该类的子类ctrl + p: 提示函数所需的参数shift + F6: 文件重命名ctrl + alt + shift + L: 格式化代码待完成代码: // TODO:ctrl + D: 复制一行代码ctrl + shift + 上/下: 移原创 2016-03-18 16:37:46 · 634 阅读 · 0 评论 -
重写重载 & 继承 & 封装
重写重载 & 继承 & 封装重写, 重载什么是 重写/覆盖: 当子类出现和父类一模一样的函数时, 当子类对象调用该函数,会运行子类函数的内容。 如同父类的函数被覆盖一样。 当子类继承父类,沿袭了父类的功能,到子类中, 但是子类虽具备该功能,但是功能的内容却和父类不一致, 这时,没有必要定义新功能,而是使用覆盖特殊,保留父类的功能定义,并重写功能内容。重写原创 2016-03-21 16:03:28 · 437 阅读 · 0 评论 -
Android apk 混淆,加密,加壳 介绍
Android apk 混淆/加密/加壳 介绍360加固服务: http://jiagu.360.cn/加壳介绍: http://blog.youkuaiyun.com/androidsecurity/article/details/8678399原创 2016-03-25 11:20:32 · 1291 阅读 · 0 评论 -
SDK 里的各项内容说明
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------转载 2016-03-23 14:06:34 · 592 阅读 · 0 评论 -
Android Application 全局异常捕获
public class BaseApplication extends Application { private static String TEST= "test"; @Override public void onCreate() { super.onCreate(); Thread.setDefaultUncaughtExceptionHandler(new MyUn原创 2016-01-05 14:23:58 · 282 阅读 · 0 评论 -
android webview ZoomButtonsController 导致android.view.WindowLeaked 问题彻底解决
原文链接: http://blog.youkuaiyun.com/dreamer0924/article/details/34082687?utm_source=tuicool&utm_medium=referralActivity has leaked window android.widget.ZoomButtonsController that was originally adde转载 2016-02-02 18:00:20 · 282 阅读 · 0 评论 -
Service (aidl远程服务)
Service (aidl远程服务) game工程调用game工程的pay服务alpay工程支付的服务public class PayService extends Service { @Override public IBinder onBind(Intent intent) { AiPay aiPay = new AiPay(); return原创 2016-01-28 16:35:43 · 320 阅读 · 0 评论 -
消除app启动时的闪烁效果
消除app启动时的闪烁效果问题描述:使用 APP 的时候会在应用启动的初始有一个黑屏闪过后才会出现应用的欢迎页解决办法:为 LancherActivity 配置透明主题 android:theme=”@android:style/Theme.Translucent”进入 app 先跳转 LancherActivity 通过 LancherActivity 再跳转到 MainActivity其他原创 2016-02-04 16:31:11 · 861 阅读 · 0 评论 -
adb命令查看app内存占用信息
dumpsys meminfo 包名原创 2016-02-03 14:40:32 · 3877 阅读 · 0 评论 -
WebView内存泄漏
转载来自: http://my.oschina.net/zhibuji/blog/100580在这次开发过程中,需要用到webview展示一些界面,但是加载的页面如果有很多图片就会发现内存占用暴涨,并且在退出该界面后,即使在包含该webview的Activity的destroy()方法中,使用webview.destroy();webview=null;对内存占回收用还是没有任转载 2016-02-02 13:39:00 · 452 阅读 · 0 评论 -
常用的ADB命令
ADB (Android Debug Bridge) adb version -- 查看adb版本adb -- 查看帮助adb devices -- 查看当前已连接的设备adb start-server -- 开启adb服务add kill-server -- 杀死add服务adb shell -- 进入Android控制台, 执行Linux命令原创 2016-03-01 00:09:36 · 569 阅读 · 0 评论 -
代码分析工具 findBugs
原文链接: http://blog.youkuaiyun.com/gaofuqi/article/details/22679609FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。FindBugs既提供可视化 UI 界面,同时也可以作为Eclips转载 2016-01-26 10:50:58 · 341 阅读 · 0 评论 -
Android开发环境部署
来自:http://www.cnblogs.com/zoupeiyang/p/4034517.html引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭建,文章写的尽量详细,希望对准备进入Android开发的转载 2015-09-24 19:50:40 · 389 阅读 · 0 评论 -
SVN的使用
SVN服务端SVN客户端创建仓库提交代码1, 复制仓库的URL地址2, 鼠标右键 Checkout3, 输入仓库URL地址, 并登录4, 将要提交的新代码 add, 刷新, “demo.java” 出现蓝色加号5, 将文件 commit其他1, SVN图标解释2, Android项目有两个目录不需要提交gen 目录和 bin 目录3, 将文件添加进忽略列表原创 2015-10-06 17:15:39 · 323 阅读 · 0 评论 -
Eclipse在线安装的sdk,每次启动都会弹出:Error when loading the SDK
问题:win7系统,eclipse在线安装的sdk,但是每次启动都会弹出错误,内容如下:[2015-05-26 23:11:44 - Android SDK] Error when loading the SDK:Error: Error parsing D:\soft\android-sdks\system-images\android-22\android-wear原创 2015-10-12 09:25:50 · 703 阅读 · 0 评论 -
用adb查看sqlite数据库
配置adb环境:sqlite3 命令:sqlite3 database.db 查看数据库,进入sqlite>模式.table 查看所有表.mode column 设置以列的形式格式化展示.exit 退出adb devices 列出所有的设备adb start-server 开启adb服务原创 2015-11-23 13:48:45 · 574 阅读 · 0 评论 -
DecimalFormat(数字格式化) SimpleDateFormat(时间格式化)
public static void test1(DecimalFormat df) { //默认显示3位小数 double d = 1.5555555; System.out.println(df.format(d));//1.556 //设置小数点后最大位数为5 df.setMaximumFra转载 2015-12-09 09:55:46 · 1042 阅读 · 0 评论 -
Android自动化测试 - Monkey
转载地址: http://blog.youkuaiyun.com/dadoneo/article/details/7916649android monkey源码下载见:http://fanfq.iteye.com/blog/781694Monkeyrunner在这里:http://www.51testing.com/html/59/n-242759.html==========转载 2016-01-07 15:15:46 · 432 阅读 · 0 评论 -
android强制弹出键盘
public void showKeyboard(final EditText et){ Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { et.setFocusable(true); et.setFocusableInTouchMode(true);原创 2016-01-07 19:08:05 · 1017 阅读 · 0 评论 -
Android自动化测试 - Monkey & Monkeyrunner
转载自: http://blog.youkuaiyun.com/mad1989/article/details/38087737#t1Monkey 什么是MonkeyMonkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monke转载 2016-01-11 10:29:43 · 335 阅读 · 0 评论 -
Android自动化测试 - Monkey详解
来自: http://www.jb51.net/article/48557.htm一、Monkey 是什么?Monkey 就是SDK中附带的一个工具。二、Monkey 测试的目的?:该工具用于进行压力测试。 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题。三、Monkey 测试的特点?Monkey 测试,所有的事件都转载 2016-01-11 12:34:42 · 331 阅读 · 0 评论 -
ContentProvider批量导入及事务处理
来源: http://my.oschina.net/laiwanshan/blog/1000931.在ContentProvider类中重写bulkInsert方法,并将其写在一个事务里。 @Override public int bulkInsert(Uri uri, ContentValues[] values) { int numValues = 0;转载 2016-01-13 14:47:19 · 1218 阅读 · 0 评论 -
防止onclick事件多次调用
问题onClick事件是Android开发中最常见的事件。比如,一个submitButton,功能是点击之后会提交一个订单, 则一般代码如下,其中submitOrder()函数会跳转到下一页进行处理 : //代码0 submitButton.setOnClickListener(new OnClickListener() { @转载 2016-01-12 15:29:26 · 3079 阅读 · 0 评论 -
App的运行内存占用问题
如何优化app的运行内存占用来自: http://zhidao.baidu.com/link?url=yJcZTThat8DGe_JYrMs57zsEkvIG3Yh2_4Ui5r3_7764FpFB3ACCJ3Xs_gacS7K1D2j-9CVwkgepV3kWZu2ucRUjzru7SsrqaoP4kbK0pFy一、尽量减少Service的使用:当转载 2016-01-12 11:08:21 · 1756 阅读 · 0 评论 -
Android事件分发(事件传递机制)
http://blog.youkuaiyun.com/morgan_xww/article/details/9372285#comments转载 2015-10-09 14:15:45 · 307 阅读 · 0 评论 -
Service_生命周期
Service的生命周期语言描述Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy 我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。1 通过startService Service会经历 onCreate –> onStartCommand (onStart是过时的方法,新方法是onStartCom原创 2015-08-14 18:02:17 · 482 阅读 · 0 评论 -
9Path图
.9.png(9Patch图片)Android自带的一种格式的图片, 支持上下左右拉伸点九图制作draw9patch.bat 所在目录:点九图的制作:上边线, 处理水平方向拉伸左边线, 处理竖直方向拉伸右边线, 处理竖直方向文字填充区域下边线, 处理水平方向文字填充区域原创 2015-10-07 13:57:20 · 582 阅读 · 0 评论 -
Android的各种数据存储方式_part1
Android的各种数据存储方式_part1内部fils存储、内部cache存储、外部sdcard储存、SharedPreferences储存内部fils存储、内部cache存储activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:原创 2015-08-14 11:48:21 · 415 阅读 · 0 评论 -
json解析和生成
Json解析和生成json的解析和生成举例 http://jingyan.baidu.com/article/574c521937c8e06c8d9dc19b.htmljson的解析json{ "students": [ { "age": 23, "name": "luci" }, {原创 2015-08-13 17:54:17 · 727 阅读 · 0 评论 -
HttpClient
HttpClienthttpClient api的使用,发送get和post请求。get获取数据String connectPath = "";HttpClient client = new DefaultHttpClient();HttpGet get = new HttpGet(connectPath);HttpResponse response;try { response =原创 2015-08-13 17:23:58 · 314 阅读 · 0 评论 -
AsyncTask下载网络文件,并显示下载进度
AsyncTask一些说明ProgressBar.setProgress():刷新UI操作要运行在主线程中,但是setProgress()方法里面自己做了同步操作,所以在子线程中调用webView.loadUrl():耗时操作不能运行在主线程中,但是loadUrl()方法进过特殊处理,所以可以在主线程中调用异步任务demotest_AsyncTa原创 2015-08-10 17:32:58 · 868 阅读 · 0 评论 -
android屏幕适配
1. in (inch)英寸(手机斜边长度),现实中我们提到4英寸手机或者5.5英寸大屏手机,而这个尺寸是用户真正感受到的物理大小。2. px (pixel)pixel即像素,是屏幕上显示数据的最基本的点。px是就是一张图片中最小的点,一张位图就是由这些点构成的。px是一个点,它不是原创 2015-08-11 16:28:18 · 739 阅读 · 0 评论 -
用代码写布局
重新加载页面布局Demopublic class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getErrorLayout(this)原创 2015-08-11 10:45:39 · 381 阅读 · 0 评论 -
Service_电话录音机
电话录音机demo开机自动启动录音服务,电话摘机的时候开始录音。RecorderService.javapackage com.example.testservice;import android.app.Service;import android.content.Intent;import android.media.MediaRecorder;import android.os.IBin原创 2015-08-17 17:33:37 · 378 阅读 · 0 评论 -
轮播图的伪无限循环
class Demo{ private void initView() { int m = (Integer.MAX_VALUE / 2) % imageViewList.size(); int currentPosition = Integer.MAX_VALUE / 2 - m; mViewPager.setCurrentItem(currentPosition); }原创 2016-01-02 01:45:42 · 286 阅读 · 0 评论 -
EventBus
EventBus使用详解(一)——初步使用EventBus: http://blog.youkuaiyun.com/harvic880925/article/details/40660137EventBus使用详解(二)——EventBus使用进阶:http://blog.youkuaiyun.com/harvic880925/article/details/40787203Android解耦库EventBu转载 2015-12-18 09:47:33 · 254 阅读 · 0 评论 -
Service (在Service中注册BroadcastReceiver)
Service (在Service中注册BroadcastReceiver)注册广播接收者的服务类public class MyService extends Service { private ScreenReceiver receiver; @Override public IBinder onBind(Intent intent) { return null原创 2016-01-28 11:05:39 · 2502 阅读 · 0 评论 -
Service (bindService音乐播放器)
Service (bindService音乐播放器)音乐服务public class MusicService extends Service { @Override public IBinder onBind(Intent intent) { return new MusicController(); } /** * Binder是IBinde原创 2016-01-28 10:55:15 · 654 阅读 · 0 评论 -
Service基础
Service基础Servie方法onCreate: 创建服务 (第一次 startService的时候调用)onStart: 开启服务 (过时的方法, 新方法是 onStartCommand)onStartCommand: 开启服务 (每次 startService的时候都调用)onDestroy: 销毁服务 (只有先 startService再 stopService才会调用 onDestroy原创 2016-01-28 10:13:55 · 283 阅读 · 0 评论