Skip to content

Instantly share code, notes, and snippets.

java.util.Timer timer = new java.util.Timer(true);
// true 说明这个timer以daemon方式运行(优先级低,
// 程序结束timer也自动结束),注意,javax.swing
// 包中也有一个Timer类,如果import中用到swing包,
// 要注意名字的冲突。
TimerTask task = new TimerTask() {
public void run() {
... //每次需要执行的代码放到这里面。
}
package com.demo.view;
import java.util.ArrayList;
import java.util.List;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
public class AutoLoadAdapter<T> extends BaseAdapter {
@john990
john990 / BeanUtil.java
Last active January 3, 2016 02:39
从cursor中提取bean 列表(反射的使用)
package com.android.orm;
import android.database.Cursor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@john990
john990 / Notification.java
Created March 13, 2014 02:09
android,显示通知
private void showNotification(Context context){
Bitmap btm = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(context.getString(R.string.please_record_today_event))
.setContentText(context.getString(R.string.alarm_summary));
// 第一次提示消息的时候显示在通知栏上
builder.setTicker(context.getString(R.string.please_record_today_event));
// builder.setNumber(12);
builder.setLargeIcon(btm);
@john990
john990 / update_language.java
Created March 19, 2014 08:58
android change app language.
// 设置时调用一次,程序启动时调用一次
private static void updateActivity(String locate, Context context) {
// 本地语言设置
Locale myLocale = new Locale(locate);
Resources res = context.getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
// 更新全局Configuration
res.updateConfiguration(conf, dm);
from selenium import selenium
from scrapy.spider import BaseSpider
from scrapy.http import Request
import time
import lxml.html
class SeleniumSprider(BaseSpider):
name = "selenium"
allowed_domains = ['selenium.com']
start_urls = ["http://localhost"]
@john990
john990 / wifi_state.java
Created April 25, 2014 02:23
监听wifi状态(android)
if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {
Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (null != parcelableExtra) {
NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;
if (networkInfo.getState() == State.CONNECTED) {
netManager.start(true);
} else if (networkInfo.getState() == State.DISCONNECTED) {
Const.IS_CONNECTED = false;
netManager.close();
Intent netDis = new Intent(Const.NET_STATE_DISCONNECT);
@john990
john990 / AESDecrypt.java
Created October 11, 2014 02:36
AES解密
public static String decrypt(String encryptedData) throws Exception {
Key key = new SecretKeySpec(KEY.getBytes(), "AES");
Cipher c = Cipher.getInstance("AES/CBC/NoPadding");
IvParameterSpec iv = new IvParameterSpec(IV.getBytes());
c.init(Cipher.DECRYPT_MODE, key,iv);
byte[] decValue = c.doFinal(encryptedData.getBytes());
String decryptedValue = new String(decValue);
return decryptedValue;
}
@john990
john990 / HexMD5.java
Created October 11, 2014 02:38
获取字符串16进制MD5值(32位)
/**
* 16进制MD5值
* @param message
* @return
* @throws Exception
*/
private String hexdigest(String message) throws Exception {
String hd;
MessageDigest md5 = MessageDigest.getInstance("MD5");
md5.update(message.getBytes());
@john990
john990 / FlipAnimation.java
Created November 24, 2014 09:24
rotate 3d animation
package com.dianxinos.wifimgr.widget;
import android.graphics.Camera;
import android.graphics.Matrix;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.DecelerateInterpolator;
import android.view.animation.Interpolator;
import android.view.animation.Transformation;