自定义博客皮肤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 692

转载 Listview部分源码分析

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

2015-06-05 11:24:12 399

原创 瀑布流

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

2015-05-31 10:54:43 689

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

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

2015-05-28 18:53:13 1682

原创 按键消息派发流程

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

2015-05-23 19:20:03 574

原创 android 窗口介绍

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

2015-05-22 12:34:53 974

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

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

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

2015-05-11 20:50:08 548

原创 android启动过程

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

2015-05-04 12:25:53 605

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

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

2015-04-13 20:14:35 548

原创 viewdraghelper的使用

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

2015-04-04 16:27:46 733

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

转载 Activity的LaunchMode和taskAffinity

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

2015-03-23 19:06:34 378

原创 实时更新widget

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

2015-03-18 18:56:13 740

原创 service的onStartCommand方法

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

2015-03-17 15:27:50 454

原创 listview 穿插标签效果

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

2015-03-16 13:26:19 508

原创 CursorAdpter的使用

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

2015-03-15 21:05:39 611

原创 一些常用路径

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

2015-03-14 13:22:16 347

原创 dispatchTouchEvent分发机制

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

2015-03-13 22:48:54 554

原创 BitmapFun的使用

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

2015-03-06 12:59:35 512

转载 listview显示不全问题

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

2015-03-05 22:44:35 970

转载 android root权限破解分析

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

2015-03-04 13:13:43 703

原创 setcontentview问题

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

2015-03-02 18:44:48 496

转载 DrawerLayout 实现侧边栏

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

2015-03-02 16:40:08 558

转载 apache commons包 简要介绍

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

2015-02-24 10:30:02 422

原创 inflate第三个参数问题

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

2015-02-21 13:47:38 473

原创 平移动画

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 399

原创 Scroller

1. public void scrollTo(int x, int y)说明:当前视图x轴移动到x,y轴移动到y 2. 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 313

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

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

2015-02-18 13:30:53 351

转载 自定义viewgroup

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

2015-02-17 23:25:56 415

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

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

2015-02-14 20:31:48 443

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

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

2015-02-13 16:11:20 588

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

/** * 获取某个路径的可用空间 *  * @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 442

原创 来电拦截

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

2015-02-11 20:45:09 631

原创 是男人就点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 458

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

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

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

2015-02-11 10:12:07 1106

原创 手机卫士 自定义土司

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

2015-02-11 10:02:53 704

原创 自定义控件,checkbox

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

2015-02-09 18:29:10 440

转载 安卓跑马灯效果

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

2015-02-09 16:09:57 499

Xmpp_demo.apk

使用asmack openfire 基于xmpp协议的demo

2015-05-29

瀑布流 demo

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

2015-05-31

安卓常用代码速查

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

2015-02-16

ADT-22.6.3

安卓 eclipse插件 ADT-22.6.3

2015-02-24

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

TA关注的人

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