自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 安卓开发----listview中图片拉伸问题

在上周工作中 使用了listview在其item中只放了一个textview(有背景) 发现图片被拉高了 1.如下是item的布局文件 <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tv_time" android:lay

2015-09-27 10:57:37 570

转载 Listview部分源码分析

Listview部分源码分析转载自:http://www.cnblogs.com/chiefhsing/archive/2012/12/11/2813753.htmlListview在android开发中算是最常用的几个控件之一,由于要应付各种不同的需求,甚至有时候是奇怪且独特的需要,使用Listview就总会遇到些奇怪的问题,但是其实都没有什么捷径,看源码是最好的办法。而

2015-06-05 11:24:12 288

原创 瀑布流

之前在面试的时候 被问过瀑布流的问题            貌似那个面试官是蘑菇街出来的 当时压根不知道瀑布流是什么东东 也就说了些自定义控件的思路 到这几天 想起来 也就去网上找了些瀑布流的demo关于瀑布流的思路:继承scroillView把屏幕划分成n列 每列都是一个垂直的LinearLayout记录每一列的高度  记图片为一个单元当要添加一个

2015-05-31 10:54:43 605

原创 关于android 控件的默认属性问题

每个控件都有很多属性 而对于一些属性会有其默认值  而这些默认值是哪里来的?我们会想到style或者theme 可往往我们使用TextView或者一些常用的控件的时候并没有声明 style属性 或者theme属性啊下面以最常用的TextView来进行分析我们知道 开发中缩写的xml 布局文件 最后都会被解析成为一个对象      势必会调用构造方法来创建对象下面我们

2015-05-28 18:53:13 1541

原创 按键消息派发流程

按键消息总体派发过程:用户按键 ->InputHanlder类的handleKey()方法->ViewRoot类的dispatchKey()方法(发送一个异步消息)->handleMessage()调用deliverKeyEvent()处理->deliverKeyEventToViewHierarchy()->根视图(DecorView或者viewgroup)的dispatchKeyE

2015-05-23 19:20:03 471

原创 android 窗口介绍

dialog是应用类窗口 其子类 大多会改为子窗口popupwindow是应用类窗口 当其显示时会改为子窗口contextwindow也是应用类窗口 optionMenu是应用类窗口应用类视图的根视图都是DecorViewMenu重要类介绍:Menu: 一个interface 描述了一个菜单应该具备的操作接口 这里的菜单是指整个菜单 而不是一个条目

2015-05-22 12:34:53 837

原创 sql 基本语句

创建表create TABLE table_name (字段名 数据类型id int,name varchar(20));选择表select * from table ;插入数据insert into tables_name (column_name ....) values( values.....);更新数据update table_name set

2015-05-19 16:00:26 267

原创 android内核剖析-----activity启动流程

主要类 :ActivityThread(一个应用的启动入口) ActivityServiceManager(负责所有activity的管理)每个应用的启动都会产生一条ActivityThread线程     负责维护该应用当ActivityThread接收到ActivityServiceManager发送而来的启动activity的信息时调用 scheduleLaunchA

2015-05-11 20:50:08 461

原创 android启动过程

手机启动过程:1.linux内核启动:压缩内核启动 内核初始化 启动内核 2.执行init进程  由init进程启动android系统 init启动android系统本地服务(Native Service), Zygote进程和其子进程SystemServer  然后启动主页面(Home) 3.android系统启动完成

2015-05-04 12:25:53 520

转载 横竖屏切换的生命周期方法调用

曾经遇到过一个面试题,让你写出横屏切换竖屏Activity的生命周期。现在给大家分析一下他切换时具体的生命周期是怎么样的1、新建一个Activity,并把各个生命周期打印出来 2、运行Activity,得到如下信息 onCreate--> onStart--> onResume--> 3、按crtl+f12切换成横屏时 onSaveInstanc

2015-04-13 20:14:35 429

原创 viewdraghelper的使用

使用viewdraghelper 来处理一些复杂的滑动事件1.首先 自定义一个viewgroup这里我们选择继承LinearLayout(可以自行选择)2.调用ViewDragHelper.create(this, 1f, new DragHelper());来创建一个ViewDragHelper对象 DragHelper是继承了ViewDragHelper.Cal

2015-04-04 16:27:46 654

原创 aidl

package com.dlj.testservice; interface AIDLService { void print(); } 1.上面是aidl的格式2.在提供远程服务的service的onbind方法中 返回实现了AIDLService.Stub的对象public class TestService extends Service { IBin

2015-03-24 13:32:58 470

转载 Activity的LaunchMode和taskAffinity

taskAffinity: 指定所在的栈(默认为当前应用包名)先简要概括一下4中lunchMode:1.standard 标准模式 每当调用activity都会在栈中创建一个新的对象2.singleTop 基本上与standard差不多  只有当目标activity正好位于栈顶时 不会创建新的对象 而是重用这个栈顶对象3.singleTask当调用设置为single

2015-03-23 19:06:34 287

原创 实时更新widget

widget注意事项:widget是个特殊的receiver 它重写了onReceiver方法当发送广播到widget中时 不会立即响应 只有当接收到ACTION_APPWIDGET_UPDATEACTION_APPWIDGET_DELETEDACTION_APPWIDGET_ENABLEDACTION_APPWIDGET_DISABLED这4个广播时才

2015-03-18 18:56:13 641

原创 service的onStartCommand方法

当使用 startService()方法启动service时会调用onStartCommand()方法两次!!!一次startService方法会调用两次onStartCommand()方法而且!! 在第一次调用onStartCommand()时 它的intent中数据不全  所以在onStartCommand() 通过intent.getExtra()方法获得数据 一定要进行判断

2015-03-17 15:27:50 359

原创 listview 穿插标签效果

介绍上图中效果的实现方式这里定义了两个map集合 用于存放日期的集合 和存放真实索引的集合(这里因为是从数据库取数据 所以存放的游标的索引) 记作map1,map2当使用adapter去适配数据时在getView方法中 先拿position去map1中看是否能匹配到数据(当前条目是否要显示标签) 然后在去map2中匹配数据这里会出现con

2015-03-16 13:26:19 424

原创 CursorAdpter的使用

关于adapter 经常使用的是BaseApapter而对于要在数据库中获取数据显示出来 我们要用CursorAdpterclass ContactAdapter extends CursorAdapter {public ContactAdapter(Context context, Cursor c) {super(context, c);// TODO Auto-gene

2015-03-15 21:05:39 483

原创 一些常用路径

Environment.getDataDirectory() = /data Environment.getDownloadCacheDirectory() = /cache Environment.getExternalStorageDirectory() = /mnt/sdcard Environment.getRootDirectory() = /system context

2015-03-14 13:22:16 261

原创 dispatchTouchEvent分发机制

public boolean dispatchTouchEvent(MotionEvent event) {        if (mInputEventConsistencyVerifier != null) {            mInputEventConsistencyVerifier.onTouchEvent(event, 0);        }

2015-03-13 22:48:54 468

原创 BitmapFun的使用

BitmapFun的使用中必须设置缓存ImageCacheParams cache = new ImageCacheParams(getActivity(), IMAGE_CACHE_DIR);imageFetcher.addImageCache(getFragmentManager(), cache);可以理解 BitmapFun的存在本身就是为了优化图片处理的问题当然需

2015-03-06 12:59:35 412

转载 listview显示不全问题

转自---------http://yxwang0615.iteye.com/blog/17391871.使用网上用的动态改变listview高度的方法,该方法只适用于item布局是LinearLayout布局的情况,不能是其他的,因为其他的Layout(如RelativeLayout)没有重写onMeasure(),所以会在onMeasure()时抛出异常。所以使用限制较大。

2015-03-05 22:44:35 873

转载 android root权限破解分析

许多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简单及安全的,破解Root权限的原理就是在手机的/system/bin/或/system/xbin/目录下放置一个可执行文件“su”android root权限破解分析许多机友新购来的Android机器没有破解过Root权限,无法使用一

2015-03-04 13:13:43 502

原创 setcontentview问题

今天在写redBaby的时候时候碰到一个问题 在一个activity中切换多个view对这个activity 我把初始化的操作放在init( setcontentview(...)....) 中 进行了初始化而在其他控件的点击事件中又重新调用了init方法想要对重新显示最初的界面结果出现异常 界面不显示 点击事件异常分析了一下setcontentview()方法观察源码的注

2015-03-02 18:44:48 395

转载 DrawerLayout 实现侧边栏

转载--------http://blog.chengyunfeng.com/?p=493Android官方终于支持 Navigation Drawer(导航抽屉)模式作者: rain 分类: 移动 发布时间: 2013-05-16 22:52 ė 63条评论在2013 google IO当天,Android团的更新了Support库,新版本(V13)的Su

2015-03-02 16:40:08 444

转载 apache commons包 简要介绍

apache commons包 的目的在于提供一些可重用的、开源的java代码组件。常用的有:BeanUtilsCollectionsIOLang组件大致可以分为以下几类:组件类别示例包Codec和Modeler杂项CLI、Discovery、Lang和Collections实用程序

2015-02-24 10:30:02 323

原创 inflate第三个参数问题

经常使用inflate(Context context, int resource, ViewGroup root) 来获得所需视图 对于第三个参数 一直不明白什么用先下结论:// 如果传递null 则showInMiddle.getLayoutParams()=null;// 如果传递为非空 则返回root对应view 而不是想要的view当param为空时会出现

2015-02-21 13:47:38 387

原创 平移动画

private void flushState() { int distance = 0; if(!isMenuShow){// scrollTo(0,0);// distance = 0-getScrollX(); distance=menu.getWidth(); }else{// scrollTo(-menu.getWidth(),0);//

2015-02-18 18:53:32 334

原创 Scroller

1. public void scrollTo(int x, int y)说明:当前视图x轴移动到x,y轴移动到y2. public void scrollBy(int dx, int dy) 说明:它表示在视图的X、Y方向上各移动dx、dy距离dx>0表示视图(View或ViewGroup)的内容从右向左滑动;反之,从左向右滑动dy>0表示视图(View或ViewGroup)的内容从

2015-02-18 18:41:56 256

原创 android的消息处理机制(图文+源码分析)—Looper/Handler/Message

这篇文章写的非常好,深入浅出;android的消息处理机制(图+源码分析)—Looper,Handler,Message是一位大三学生自己剖析的心得,感兴趣的朋友可以了解下哦,希望对你有所帮助这篇文章写的非常好,深入浅出,关键还是一位大三学生自己剖析的心得。这是我喜欢此文的原因。下面请看正文:作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google

2015-02-18 13:30:53 297

转载 自定义viewgroup

在继承ViewGroup类时,需要重写两个方法,分别是onMeasure和onLayout。1,在方法onMeasure中调用setMeasuredDimension方法 这是安卓内部测量view大小的方法 如果不调用 那么必须自己写测量方法void android.view.View.setMeasuredDimension(int measuredWidth, int meas

2015-02-17 23:25:56 338

转载 Android中获取应用程序(包)的大小-----PackageManager的使用(二)

转载自:  http://blog.csdn.net/qinjuning通过第一部分Android中获取应用程序(包)的信息-----PackageManager的使用(一)>>的介绍,对PackageManager以及AndroidManife.xml定义的节点信息类XXXInfo类都有了一定的认识。          本部分的内容是如何获取安装包得大小,包括

2015-02-14 20:31:48 337

原创 获取进程信息(应用信息)

PackageManager 包管理器ActivityManager 活动管理器(管理进程)1.通过ActivityManager得到活动的进程信息2.根据进程名(包名) 通过PackageManager 得到ApplicationInfo3.通过ApplicationInfo 得到应用程序的信息/*** 获取所有的进程信息* * @param contex

2015-02-13 16:11:20 465

原创 获得某个路径的可用空间

/*** 获取某个路径的可用空间* * @param path* @return*/private long getAvailSpace(String path) {StatFs statFs = new StatFs(path);// statFs.getBlockCount();//获取分区的个数long size = statFs.getBlockSize

2015-02-13 15:23:35 369

原创 来电拦截

第一步:在程序中新建一个包,包名必须为:com.android.internal.telephony,因为要使用aidl。第二步:在这个包里面新建一个名为ITelephony.aidl的文件,然后在文件里面写入代码: package com.android.internal.telephony; interface ITelephony{ boo

2015-02-11 20:45:09 516

原创 是男人就点100下

long[] mHits = new long[3]; //三击事件 public void click(View view){ //src 拷贝的源数组 //srcPos 从源数组的那个位置开始拷贝. //dst 目标数组 //dstPos 从目标数组的那个位子开始写数据 //length 拷贝的元素的个数 System.arraycopy(mHits, 1, m

2015-02-11 13:51:46 378

原创 gps

package com.itheima.gpsdemo;import android.app.Activity;import android.location.Criteria;import android.location.Location;import android.location.LocationListener;import android.location.Locatio

2015-02-11 13:49:21 258

原创 手机卫士 一键锁屏(获得管理员权限)

首先在清单文件中配置如下 <receiver android:name="com.itheima.lockscreen.MyAdmin" //广播接收者 MyAdmin extends DeviceAdminReceiver 不是BoradCastReceiver android:description="@string/sample_device_

2015-02-11 10:12:07 932

原创 手机卫士 自定义土司

自定义土司首先得到一个 窗口管理器WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);通过窗口管理器 绑定一个view 和窗口参数params 就能生成一个土司 土司的显示内容就是view的内容wm.addView(view, params);示例: view = View.inf

2015-02-11 10:02:53 630

原创 自定义控件,checkbox

checkBox组件 天生有焦点 所以无法通过onclickListener监听 所以可以设置 android:focusable="false"        android:clickable="false"来取消checkbox的功能 通过监听其他组件 来改变checkbox的状态

2015-02-09 18:29:10 335

转载 安卓跑马灯效果

---------------转自http://www.cnblogs.com/Gaojiecai/archive/2013/06/18/3142783.htmlandroid:ellipsize实现跑马灯效果总结最近无意间看到了涉及到跑马灯效果的代码,于是在网上查阅了很多资料,在这里对自己看的一些文章进行一下总结,顺便加上自己的一些体会。让我们一步步逐渐向下。

2015-02-09 16:09:57 419

瀑布流 demo

瀑布流的 demo 图片回收 分页 预加载

2015-05-31

Xmpp_demo.apk

使用asmack openfire 基于xmpp协议的demo

2015-05-29

ADT-22.6.3

安卓 eclipse插件 ADT-22.6.3

2015-02-24

安卓常用代码速查

安卓一些常用代码整理 便于开发时随时查阅

2015-02-16

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

TA关注的人

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