Author Archive

Fatkun图片批量下载谷歌浏览器扩展1.0版更新了!

Fatkun图片批量下载谷歌浏览器扩展是一个从网页批量下载图片的扩展,提供方便简单的筛选功能,快速的批量下载图片。   1.0版插件地址:https://bath-image-download.googlecode.com/files/batch1_0.crx 1.0版update:2012-02-03 完全重构了一次代码,以前的代码写的很乱,趁春节在家重写一遍代码 支持框架网页获取图片(例如猫扑) 支持直接链接是图片的文本链接图片 重新自己画了一个图标:)   下一次更新将加入一些特定代码针对特定网站取得大图片。 做这个扩展,刚开始是因为当时的扩展并不好用,自己写了一个简单的自己用着爽。现在还花时间更新这个扩展,一是想通过做学习多一点js,二是这个扩展也还不算完善。如果你喜欢这个扩展并愿意捐赠作者,给一点点鼓励也好。。。点此给我买瓶汽水(支付宝)。   更多内容见此:http://fatkun.com/2010/09/batch-image-download.html


event.getAction()&MotionEvent.ACTION_MASK的原因

看到下面代码中用了AND位运算是为了什么呢? public boolean onTouchEvent(MotionEvent event) { int action = event.getAction(); switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: showMsg("ACTION_DOWN" + action); break; case MotionEvent.ACTION_UP: showMsg("ACTION_UP" + action); break; case MotionEvent.ACTION_POINTER_UP: showMsg("ACTION_POINTER_UP" + action); break; case MotionEvent.ACTION_POINTER_DOWN: showMsg("ACTION_POINTER_DOWN" + action); break; } return super.onTouchEvent(event); } 首先来看看这些常量的值 ACTION_MASK 0x000000ff ACTION_DOWN 0×00000000 ACTION_UP 0×00000001 ACTION_MOVE 0×00000002 ACTION_POINTER_DOWN 0×00000005 ACTION_POINTER_UP [...]


Android ViewHolder模式

这个ViewHolder到底是什么呢?我们可以在官方sample看到这段代码 http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html static class ViewHolder { TextView text; ImageView icon; } 可以看到它只是一个静态类,它的作用就在于减少不必要的调用findViewById 完整的官方例子,官方例子中convertView 也是避免inflating View。 然后把对底下的控件引用存在ViewHolder里面,再在View.setTag(holder)把它放在view里,下次就可以直接取了。 效率相差多少?看这篇文章:Android开发之ListView 适配器(Adapter)优化 /* * Copyright (C) 2008 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may [...]


找不到管理网页和文件夹对处理方法

把下面内容保存为aa.reg文件,双击运行导入 (未测试是否成功,注册表从我电脑导出的,WIN7和XP应该是一样可以用的) Windows Registry Editor Version 5.00   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Thickets] "Text"="管理网页和文件夹对" "HelpID"="TBD" "Type"="group" "Bitmap"="C:\\Windows\\system32\\\\SHELL32.DLL,4"   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Thickets\AUTO] "CheckedValue"=dword:00000000 "Type"="radio" "ValueName"="NoFileFolderConnection" "HelpID"="TBD" "Text"="作为单一文件显示和管理对" "DefaultValue"=dword:00000000 "RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" "HKeyRoot"=dword:80000001   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Thickets\NOHIDE] "ValueName"="NoFileFolderConnection" "DefaultValue"=dword:00000000 "Text"="显示两部分但是作为单一文件进行管理" "RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" "HelpID"="TBD" "Type"="radio" "CheckedValue"=dword:00000002 "HKeyRoot"=dword:80000001   [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Thickets\NONE] "CheckedValue"=dword:00000001 "Type"="radio" "HKeyRoot"=dword:80000001 "RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer" "HelpID"="TBD" "ValueName"="NoFileFolderConnection" "DefaultValue"=dword:00000000 "Text"="显示两部分并分别进行管理"   [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer] “NoFileFolderConnection”=dword:00000001


Activity startActivityForResult

public void startActivityForResult (Intent intent, int requestCode) 从一个Activity启动另一个activity,得到结果返回给前一个activity。 简单说 OneActivity实现onActivityResult (int requestCode, int resultCode, Intent data)方法,然后使用startActivityForResult启动另一个Activity 另一个Activity取得结果后通过setResult (…)把结果传回。 代码如下 界面代码不提供了,两个都是一个简单的button 注意要在AndroidManifest.xml定义你新增的Activity <activity android:name=".OtherActivity"></activity> 第一个Activity package com.fatkun;   import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast;   public class OneActivity extends Activity { private final int myRequestCode = 1; //请求码 [...]


Android BroadcastReceiver 广播

总结如下: 广播可用于Service与Activity的之间的通信,也可用于接收一些系统的事件,例如收到短信,电量等信息。 有两种方法注册,静态注册和动态注册 静态注册 创建一个类继承BroadcastReceiver,然后在AndroidManifest.xml 添加 <receiver android:name="clsReceiver2"> <intent-filter> <action android:name="com.testBroadcastReceiver.Internal_2"/> </intent-filter> </receiver> 动态注册 继承BroadcastReceiver类,实现onReceive方法。然后registerReceiver它。同一个Receiver还可以“听多个广播”,可以在IntentFilter加多个action。 主要通过IntentFilter,别人用sendBroadcast(intent)发广播,如果频率一样(IntentFilter里的Action一样)就可以听到广播。 //动态注册广播消息 registerReceiver(bcrIntenal1, new IntentFilter(INTENAL_ACTION_1)); //取消广播接收器 unregisterReceiver(rhelper); 两篇参考文章: http://blog.csdn.net/hellogv/article/details/5999170 http://www.cnblogs.com/jico/articles/1838293.html