- 博客(194)
- 资源 (7)
- 收藏
- 关注
原创 Android自定义View
View组件相当于Swing编程中的Jpanel , 它是一个矩形的空白区域,View组件没有任何的内容Android中其他控件可以看做他们都继承了View组件, 然后再View组件提供的空白区域上绘画外观.从API中可以看出, View继承Object, 常用的TextView, ImageView 都是他直接子类, A
2014-11-26 12:40:01
649
翻译 圆形Imageview: CircleImageView
https://github.com/hdodenhof/CircleImageView
2014-09-04 16:34:30
1007
翻译 漂亮的侧滑主页(仿QQ、腾讯QQ首页侧滑效果)
项目原地址: https://github.com/SpecialCyCi/AndroidResideMenu
2014-09-01 18:02:31
1825
6
原创 7.5 widget内的内容更新和点击事件
--------------------------------------------------------------1. 在widget类中, 在onEnabled()方法中开启widget跟新的服务;在onDisabled() 方法中停止服务3. 当点击widget中的按钮的时候发送一条自定义广播public class My
2013-10-30 21:17:49
924
1
原创 7.4 桌面小部件:widgit的创建
1. 创建一个widgit类, 继承 AppWidgetProvider2. 在清单文件中配置widgit类 <meta-data android:name="android.appwidget.provider" android:resource="@xml/example_appwidget_in
2013-10-30 21:16:32
867
原创 7.3 杀死进程
/** * 杀死勾选进程的方法 */ public void killAll(View view){ List killProcessList= new ArrayList(); long saveMemory=0; //释放空间计时器
2013-10-30 21:16:04
664
原创 7.2 进程管理器的数据获取
1. 创建taskMemoryUtils, 在工具类中创建am, 通过am获取正在运行的进程的个数、可用内存空间大小、总内存空间大小2. 创建javaBean3. 创建javaBen数据访问类, 在TaskInfoprovider类中创建javaBen数据访问方法, 在方法中创建ap,pm 初始化javaBean内的属性值, 并将javaBean装载在集合中, 并返回该集合
2013-10-30 21:14:42
784
原创 7.1 ActivityManager & PackageManager
1. 初始化方式 //创建packageManager和activityManager PackageManager pm = context.getPackageManager(); ActivityManager am=(ActivityManager) context.getSystemService(
2013-10-30 21:12:48
690
原创 6.12 进一步优化看门狗 内容观察者观察数据库变化
思想: 判断当前打开的应用的包名是否在已加锁的数库中这样的做法比较耗时, 应该在内存中判断当前应用的包名是否存在已加锁包名的集合中1. 在dao层中, 加载已加锁的应用的包名到内存中(集合中)2. 在看门狗功能的服务中, 调用dao层加载方法, 初始化集合 (做到将数据加载到内训中3. 在看门狗服务创建的时候, 注册内容观察者, 观察已加锁数据库delete 和
2013-10-29 21:13:37
891
原创 6.11 程序锁耗电优化
在锁屏广播中关闭看门狗功能,在屏幕解锁的广播中开启看门狗功能 public class WatchDogService extends Service { protected static final String TAG = "WatchDogService"; private ActivityManage
2013-10-29 21:12:24
891
原创 6.10 采用绑定服务的方式告诉看门狗临时不受保护的app包名
调用服务里的方法:绑定服务1. 在看门狗的服务中创建添加app包名到临时不需要受密码保护的集合的方法 tempStopProtect()2. 创建 watchdogInference接口,在接口中定义一个方法3. 创建代理人类继承服务中的Binder ,实现 watchdogInference接口 ; 在代理人 类中实现接口中未实现的方法, 在方法中调用tempSt
2013-10-29 21:11:31
807
原创 6.9 singleinstance启动模式 & app不在最近任务列表中显示
----------------------------------------------------------------------------------------------------------- activity android:name ="com.itheima.mobilesafe.WatchDogActivity"
2013-10-29 21:10:56
1559
原创 6.8 程序锁功能的实现
1.在看门狗中检查正在运行的应用的包名是否在已添加锁的集合中,true:携带该应用包名 跳转到输入密码的activity, 2 .在输入密码的activity中getIntent得到看门狗发过来的应用包名3. 创建packageManager 得到该包名对应的app的信息, 将这些信息附加给关心的控件4.判断密码是否输入正确, true: finish当前activity
2013-10-29 21:09:31
754
原创 6.7 看门狗原理
创建程序锁服务, 在服务中开启看门狗, 当服务销毁时关闭看门狗功能 ---------------------------------------------------------------------------------------------------------------------------关心用户正在打开的应用需要添加权限:
2013-10-29 21:08:18
699
原创 6.6 程序锁界面
1. 在针布局中创建unlockListView和lockedListView 2. 在lockActivity中, 分明填充两个listView, 点击未加锁textView时,lockedListView 不可见3. 创建已加锁程序数据库,并创建dao层, 操作该数据库4. 分别给listView中的条目设置点击事件, 点击unlockListView条目对象, 把该对象从unl
2013-10-29 21:06:28
763
原创 6.5 获取桌面快捷图标
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCont
2013-10-29 21:04:36
645
原创 6.4 程序管理器中的应用启动&卸载&分享
/** * 卸载 app */ public void unistallApp(){ Intent intent = new Intent(); intent.setAction(Intent. ACTION_DELETE); intent.addCategory(In
2013-10-29 21:03:47
635
原创 6.3 popub窗体 popubWindow
1. 在适配器中的getItem方法中, 得到条目对应的view对象, 将结果返回给item的点击事件2.给listview的item设置点击事件的监听3.得到适配器中getItem方法返回的点击listItem对应的对象4. 创建 popub窗体 5. 给popub窗体设置透明背景 注:如果 popub没有背景则设置不了动画效果6.show出popubWindow
2013-10-29 21:02:58
1374
原创 6.2 复杂的listView展现
---------------------------------------------------------------------------------------------------------------------------------------------------public class AppManagerActivity extends
2013-10-27 22:35:42
610
原创 6.1 程序管理器的界面展现
public class AppManagerActivity extends Activity { protected static final String TAG = "AppManagerActivity"; private TextView tv_avail_rom; private TextView tv_avail_sd;
2013-10-27 22:32:51
707
原创 5.8 获取应用程序信息
//ActivityManager 进程管理器//PackageManager 程序管理器public class AppManager { /** * 获取包信息的方法 * @return */ public List getAppInfo(Context context)
2013-10-27 22:31:25
637
原创 5.7 软件管理:可用空间的显示
public class AppManagerActivity extends Activity { private TextView tv_avail_rom; private TextView tv_avail_sd; private ListView lv_app_manage; @Override
2013-10-27 22:30:57
470
原创 5.6 来电响铃一声的notification
------------------------------------------------------------------------------------------------------------ activity android:name= "com.itheima.mobilesafe.RingBlockL
2013-10-27 22:30:19
900
原创 5.5 短信黑名单拦截
1.在黑名单服务中, 动态代码创建短信广播接受者, 在服务开启时注册短信拦截广播意图过滤器, 在服务销毁时取消广播事件2. 在广播接受者内部类中,判断来电号码是否在黑名单短信拦截和全部拦截模式中, yes-->终止广播 public class CallSmsSafeService extends Service { privat
2013-10-27 22:28:20
961
原创 5.4 来电黑名单拦截 ,删除呼叫记录
1. 创建黑名单服务2.在服务中创建TelephoneyManager,并给电话管理者设置来电监听事件3.在实现监听事件未实现的方法中,switch电话管理者的状态 ,在电话处于来电状态时判断来电号码是否存在黑名单中4.如果来电号码在黑名单数据库中,查找出号码对应的mode5.如果mode的值是"1"||"3" , 挂掉来电电话,删除呼叫记录 --------
2013-10-27 22:25:50
1294
原创 5.3 添加移除黑名单号码
1.点击添加按钮显示自定义对话框布局2.给自定义对话框中控件设置点击事件3.刷新界面要移除集合中对应的数据 public class CallSmsSafeActivity extends Activity { private String TAG= "CallSmsSafeActivity"; private ListVi
2013-10-27 22:22:02
1935
原创 5.2 分页显示
/* Fields */ private int pageSize = 10; private int currentPage = 1; private int maxPage; private int countRows;--------------------------------------
2013-10-27 22:19:54
528
原创 5.1 分批加载listView中条目
1.在数据库访问dao层中,创建查询部分黑名单的方法2.给listview设置setOnScrollListener监听事件3. 完成监听事件内部实现 类中未实现的方法 1.在数据库访问dao层中,创建查询部分黑名单的方法 /** * 查询部分黑名单号码 * @param current
2013-10-27 22:19:17
748
原创 4.10 优化LIstView: 在listView中复用历史缓存view对象减少内存开销
问题1: 在listview中的中,在手指拖动listview,创建一个新的item的时候都会调用getView 方法,getview这个方法本身就比较消耗内存,假如listview要显示成百上千个条目,每次手指拖动时都要调用getView方法去加载item,这是非常消耗内存的事件,会出现内存溢出解决办法: 优化listview,复用历史缓存的view对象
2013-10-27 00:13:06
1020
原创 4.9 黑名单数据库的界面展示
调用dao层中查询数据库中数据的方法,将得到的数据装进集合中,显示在listView中 public class CallSmsSafeActivity extends Activity { private String TAG= "CallSmsSafeActivity"; private ListView lv_call
2013-10-27 00:10:10
1427
原创 4.8 抽象接口, 回调函数: 短信备份
1.创建读取短信的一个工具类,读取系统短信序列化到SDcard下的xml文件下2.smsUtils提供一个接口,接口内提供两个回调函数, 将接口作为参数传给工具类3.在activity中调用dao层内的方法,重写借口内的回调函数,得到短信的总数和序列化短信的条数 --------------------------------------------------
2013-10-27 00:09:12
631
原创 4.7 可扩展的Listview : ExpandableListView
1. 在splash加载时将常用号码数据库拷贝到系统目录下2.创建数据库访问dao层3.创建MyAdapter类extends BaseExpandableListAdapter实现未实现的方法4.给elv中的孩子设置点击事件 ------------------------------------------------------------------
2013-10-27 00:08:16
644
原创 4.6 应用桌面快捷图标
1.配置创建桌面快捷图标的权限2.在splashActivity中的oncreate方法中调用 -------------------------------------------------------------------------------------- uses-permission android:name= "c
2013-10-27 00:07:01
594
原创 4.5 腾讯手机卫士小火箭发射效果
//设置动画效果:xml version="1.0" encoding= "utf-8"?>animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> item android:drawable ="@drawable/des
2013-10-27 00:05:17
1226
原创 4.4 自由移动的Toast效果
权限: uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>-------------------------------------------------------------------------------/** * 来电时显示来电号码归属
2013-10-27 00:04:46
867
原创 4.3 android下事件的的传递机制
如当有点击事件的时候:1、Activity先得到点击事件(即黑色的边框)2、Activity向上传递给线性布局,如果线性布局不处理,再向上传递给相对布局,不处理再传递给表格布局,不处理再传递给imageView是否要处理点击事件3、如果到了imageview,其响应了事件,事件就生效了;否则在一层一层返回回去如果既注册了触摸事件,又注册了点击事件,就需要将触摸事件的返回值设置为
2013-10-27 00:04:05
622
原创 4.2 控件双击事件和触摸事件同时响应
---------------------------------------------------------------------------public class DragViewActivity extends Activity { private static final String TAG = "DragViewActivity";
2013-10-27 00:02:45
748
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人