
Android从零开始学习
爪哇武功盖世
当你手上有一把锤子的时候,看所有的东西都是钉子;当你手上有个钉子的时候,看所有的东西都是锤子
展开
-
Android电话拨号器
注意:与第一个手电筒程序 比较特别的地方就是 拨打电话需要权限,那么权限怎么设置呢?MainActivity具体实现:package com.mth.phone;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.原创 2014-01-17 08:46:30 · 975 阅读 · 0 评论 -
话说apk打包流程梳理
简介一些初学Android的开发者可能只知道写完项目,然后点击AndroidStudio中的run按钮就可以把项目运行到手机或者模拟器上,而一个apk是怎么从编译打包到最后签名安装到手机上的原理不知道,这里就带领大家理解一下内部的原理简单build流程首先,我们看下官网介绍Building and Running Overview,官网给了我们一张非常简单的编译、打包、apk生转载 2016-06-25 15:51:13 · 588 阅读 · 0 评论 -
通过mapping.txt解析混淆apk的出错信息
一、eclipse导出混淆后的项目时,在项目根目录下会生成一个proguard文件夹,文件夹下包含dump.txt,mapping.txt,seeds.txt, usage.txt四个文件。 dump.txt 描述apk保重所有class的代码结构mapping.txt 列出了源代码与混淆后的类,方法和属性名字之间的映射。这个文件对于在构建之后得到的bug报告是有用转载 2016-07-02 15:48:27 · 2463 阅读 · 0 评论 -
requestDisallowInterceptTouchEvent---1
当手指触摸到屏幕时,系统就会调用相应View的onTouchEvent,并传入一系列的action。当有多个层级的View时,在父层级允许的情况下,这个action会一直向下传递直到遇到最深层的View。所以touch事件最先调用的是最底层View的onTouchEent,如果View的onTouchEvent接收到某个touch action并作了相应处理,最后有两种返回方式return t转载 2016-06-22 09:58:47 · 337 阅读 · 0 评论 -
requestDisallowInterceptTouchEvent---2
requestDisallowInterceptTouchEvent(true)方法是用来子View告诉父容器不要拦截我们的事件的,但是这个代码放的位置很重要,可能导致失效。首先我们要知道父类肯定能收到Down事件的,因为这个是事件的起源,系统默认在VIewGroup里把requestDisallowInterceptTouchEvent里把子View对于Down事件的拦截权利剥削了,有了这个Do转载 2016-06-22 10:03:32 · 522 阅读 · 0 评论 -
adb logcat 命令行用法
1. 解析 adb logcat 的帮助信息在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息;[plain] view plaincopyoctopus@octopus:~$ adb logcat --help Usage: logcat [options] [filterspe转载 2016-08-13 17:10:07 · 2922 阅读 · 0 评论 -
Android中Java和JavaScript交互
Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本。本文将介绍如何实现Java代码和Javascript代码的相互调用。如何实现实现Java和js交互十分便捷。通常只需要以下几步。WebView开启JavaScript脚本执行。WebView设置供JavaScript调用的交互接口。客户端和网页端编写调转载 2016-11-14 09:08:37 · 431 阅读 · 0 评论 -
自定义View获取dimen值得三个方法:getDimension,getDimensionPixelOffset和getDimensionPixelSize
getDimension和getDimensionPixelOffset的功能类似,都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density如果是px,则不乘。并且getDimension返回float,getDimensionPixelOffset返回int.而getDimensionPixelSize则不管写的是dp还是sp还是px,都会乘以d转载 2017-03-03 19:19:50 · 1503 阅读 · 0 评论 -
Android中px, dp, sp单位转换
开发中经常会遇到尺寸之间的转换,比如设计图中尺寸单位基本都是像素(px),但是对于Android设备来说直接使用像素作为单位肯定是不行的。同样的10px,在分辨率很低的手机和分辨率很高的手机上显示的实际长度肯定是不一样的,所以Android团队才会采用dp作为Android开发尺寸单位,dp是一种相对单位(根据屏幕的像素密度,也就是每英寸像素数的不同而调整),能够尽量保证相同数值的dp长度在不同的转载 2017-02-26 15:59:13 · 1312 阅读 · 0 评论 -
Android开发之getMeasuredWidth和getWidth区别从源码分析
转载请注明出处:http://blog.youkuaiyun.com/dmk877/article/details/49734869 我相信很多人对getMeasuredWidth和getWidth方法(getMeasuredHeight和getHeight类似这里仅以getMeasuredWidth和getWidth为例)都有过疑惑,并且网上去查阅资料看后也似懂非懂感觉,甚至有网上转载 2017-04-08 14:06:15 · 588 阅读 · 0 评论 -
getWidth()和getMeasuredWidth()
view.getMeasuredHeight()可能隐藏在上头.可能在下头.如果view没有超出屏幕的时候view.getMeasuredHeight()有可能小于 view.getHeight()转载 2016-06-22 11:04:22 · 855 阅读 · 0 评论 -
.so 你懂的
早期的Android系统几乎只支持ARMv5的CPU架构,你知道现在它支持多少种吗?7种!Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。应用程序二进制接口(Application Binary转载 2016-05-08 14:23:11 · 1712 阅读 · 0 评论 -
Android读取并备份用户短信(xml方式)
清单文件中需要加入两个权限:MainActivity实现:package com.mth.readMessage;import java.io.File;import java.io.FileOutputStream;import org.xmlpull.v1.XmlSerializer;import android.app.Activity;import原创 2014-01-17 09:13:21 · 2339 阅读 · 0 评论 -
Android短信发送器
activity_main.xml:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:原创 2014-01-17 08:56:56 · 775 阅读 · 0 评论 -
Android短信还原
添加权限:MainActivity实现:package com.mth.SmsBackUp;import android.app.Activity;import android.content.ContentResolver;import android.content.ContentValues;import android.net.Uri;imp原创 2014-01-17 09:19:57 · 920 阅读 · 0 评论 -
Android第一个小程序(手电筒)
程序的目录结构:MainActivity代码;package com.mth.flashlight;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import a原创 2014-01-17 08:36:42 · 2101 阅读 · 0 评论 -
Android通过Wifi来调试应用(win7版+局域网版)
前提:杀死使用ADB的程序,同一个局域网手机和电脑在同一个局域网断掉并杀死所有电脑程序能自动检测连接手机的,会提示要你装应用,帮你手机清理等等。因为,这些程序,原理就是通过ADB来进行连接,而我们将要通过ADB来完成效果。我就开着酷狗听歌,导致一直实现不成功,正是纳闷,后面想了下,才知道是这个原因。开发者选项没有网络ADB调试的系统1.手机连接电脑,并且手机启用usb调试的模式,跟转载 2016-05-24 14:35:04 · 1051 阅读 · 0 评论 -
Android_UI_葵花宝典
1. 射鸡师 VS 攻城师 在日常的Andriod开发中经常会遇到各种各样的PK,其中设计师和工程师的矛盾非常突出,我们来看一下双方的主要矛盾。主要原因是由于设转载 2016-05-25 16:17:26 · 629 阅读 · 0 评论 -
Handler 之 ThreadLocal 相关
ThreadLocal其实在Handler 之 源码分析一文中,关于 Handler 有一点一直没说到。Handler 在创建的时候必须使用当前线程的 Looper 来构造消息循环,而自己手动创建的子线程默认是没有 Looper 的, 如果在一个子线程中创建 Handler ,就必须为这个子线程创建相应的消息轮训器,否则我们就会看到一个常见的异常Can't create h转载 2016-05-14 22:45:16 · 542 阅读 · 0 评论 -
View测量机制详解—从DecorView说起
很多朋友都沉迷于自定义View, 而自定义View离不开measure、layout、draw三个步骤,在测量方面,很多朋友仅仅是知道怎么去测量一个控件,而对于为什么要这么做等等问题都搞的不是很清楚,今天这篇文章我们就从View树的最顶层DecorView开始分析测量到底是怎么一回事。 这篇文章要解决的问题有:onMeasure的两个参数从哪来。最开始的参数是怎么计算出来的。测量规转载 2016-05-16 11:57:46 · 553 阅读 · 0 评论 -
Source_Code_Activity
时序图 wm ->WindowManager ->WindowManagerImpl ->1.ActivityThread---H(Handler) 1.1 handleLaunchActivity performLaunchActivity() -> mInstrumentation.newActivity()原创 2016-05-17 16:33:40 · 462 阅读 · 0 评论 -
详解 Canvas.drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)
Canvas.drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint)第一个参数是图片bitmap第二个是对图片的裁剪 也就是说你想绘制图片的哪一部分If the source rectangle is not null, it specifies the subset of the bitmap to转载 2017-04-11 17:27:54 · 2765 阅读 · 0 评论