随笔杂记

   :: 首页 :: 新随笔 ::  ::  :: 管理 ::

#

1) 已经添加到service中的程序
chkconfig name on

2)其他使用命令启动的程序
在/etc/rc.local中加入:
sudo su - username -c "cd /www/jetty8.1/bin/ && sh jetty.sh start &"
posted @ 2016-03-05 11:23 天宇恒星 阅读(664) | 评论 (0)编辑 收藏

修改httpd文件
vim /etc/httpd/conf/httpd.conf

ErrorLog logs/error_log
CustomLog logs/access_log common
将其改为 
ErrorLog "| /usr/local/apache/bin/rotatelogs /data/www/apache_logs/error_%Y%m%d.log 86400 480"
CustomLog "| /usr/local/apache/bin/rotatelogs /data/www/apache_logs/access_%Y%m%d.log 86400 480" common
posted @ 2015-12-26 14:43 天宇恒星 阅读(370) | 评论 (0)编辑 收藏

使用:
(Boolean) invokeMethod(LockPatternUtils.class, mLockutils,
                    "savedPasswordExists", new Class[] {int.class}, new Object[] {UserHandle.myUserId()});

(Boolean) invokeMethod(LockPatternUtils.class, mLockutils, "checkPattern",
                    new Class[] {List.classint.class}, new Object[] {null, UserHandle.myUserId()});

方法实现:

    public static Method getMethod(Class<?> cls, String methodName, Class<?> parameterTypes) {
        try {
            return cls.getDeclaredMethod(methodName, parameterTypes);
        } catch (NoSuchMethodException e) {
            Log.e(TAG, "getMethod() Exception: ", e);
            try {
                return cls.getMethod(methodName, parameterTypes);
            } catch (NoSuchMethodException ex) {
                Log.e(TAG, "getMethod() Exception: ", ex);
                return null;
            }
        }
    }

    public static Object invokeStaticMethod(Class<?> cls, String methodName) {
        return invokeMethod(cls, null, methodName, nullnull);
    }

    public static Object invokeStaticMethod(Class<?> cls, String methodName, Class<?>[] parasTypes,
            Object[] parasObjs) {
        return invokeMethod(cls, null, methodName, parasTypes, parasObjs);
    }

    public static Object invokeMethod(Class<?> cls, Object obj, String methodName) {
        return invokeMethod(cls, obj, methodName, nullnull);
    }

    public static Object invokeMethod(Class<?> cls, Object obj, String methodName, Class<?>[] parasTypes,
            Object[] parasObjs) {
        Method method = getMethod(cls, methodName, parasTypes);
        try {
            if (method != null) {
                method.setAccessible(true);
                return method.invoke(obj, parasObjs);
            }
        } catch (Exception e) {
            Log.e(TAG, "invokeStaticMethod() Exception: ", e);
        }
        return null;
    }
    
posted @ 2015-12-18 09:42 天宇恒星| 编辑 收藏


http://www.blogjava.net/Green-nut/articles/336256.html
posted @ 2012-11-23 09:12 天宇恒星 阅读(340) | 评论 (0)编辑 收藏


public class NetworkConnectChangedReceiver extends BroadcastReceiver{  
    @Override  
    public void onReceive(Context context, Intent intent) {  
    if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {//这个监听wifi的打开与关闭,与wifi的连接无关  
            int wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0);   
            LogTag.showTAG_e("WIFI状态", "wifiState"+wifiState);  
            switch (wifiState) {   
            case WifiManager.WIFI_STATE_DISABLED:   
                break;   
            case WifiManager.WIFI_STATE_DISABLING:   
                break;   
           //  
            }   
        }  
    // 这个监听wifi的连接状态即是否连上了一个有效无线路由,当上边广播的状态是WifiManager.WIFI_STATE_DISABLING,和WIFI_STATE_DISABLED的时候,根本不会接到这个广播。  
    
// 在上边广播接到广播是WifiManager.WIFI_STATE_ENABLED状态的同时也会接到这个广播,当然刚打开wifi肯定还没有连接到有效的无线  
    if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {  
            Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);    
            if (null != parcelableExtra) {    
                NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;    
                State state = networkInfo.getState();  
                boolean isConnected = state==State.CONNECTED;//当然,这边可以更精确的确定状态  
                LogTag.showTAG_e(this.getClass().getSimpleName(), "isConnected"+isConnected);  
                if(isConnected){  
                }else{  
                      
                }  
            }    
        }  
    //这个监听网络连接的设置,包括wifi和移动数据的打开和关闭。.   
        
//最好用的还是这个监听。wifi如果打开,关闭,以及连接上可用的连接都会接到监听。见log  
        
// 这个广播的最大弊端是比上边两个广播的反应要慢,如果只是要监听wifi,我觉得还是用上边两个配合比较合适  
    if(ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())){  
        NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);  
        if (info != null) {  
            LogTag.showTAG_e("CONNECTIVITY_ACTION", "info.getTypeName()"+info.getTypeName());  
            LogTag.showTAG_e("CONNECTIVITY_ACTION", "getSubtypeName()"+info.getSubtypeName());  
            LogTag.showTAG_e("CONNECTIVITY_ACTION", "getState()"+info.getState());  
            LogTag.showTAG_e("CONNECTIVITY_ACTION",  
                                "getDetailedState()"+info.getDetailedState().name());  
            LogTag.showTAG_e("CONNECTIVITY_ACTION", "getDetailedState()"+info.getExtraInfo());  
            LogTag.showTAG_e("CONNECTIVITY_ACTION", "getType()"+info.getType());  
        }   
    }  

if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(intent.getAction())) {// 这个监听wifi的连接状态  
           Parcelable parcelableExtra = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);    
           if (null != parcelableExtra) {    
               NetworkInfo networkInfo = (NetworkInfo) parcelableExtra;    
               State state = networkInfo.getState();  
               if(state==State.CONNECTED){  
                showWifiCconnected(context);  
               }  
               /**else if(state==State.DISCONNECTED){ 
                showWifiDisconnected(context); 
               }
*///昨天写的这个方法,在坐地铁的时候发现,如果地铁上有无效的wifi站点,手机会自动连接,但是连接失败后还是会接到广播,所以不能用了  
           }    
       }  
if(ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction())){//这个监听网络连接的设置,包括wifi和移动数据 的打开和关闭  
NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);  
if (info != null) {  
    if(NetworkInfo.State.CONNECTED==info.getState()){  
        Intent pushIntent = new Intent();  
        pushIntent.setClass(context, NotificationService.class);  
    }else if(info.getType()==1){  
            if(NetworkInfo.State.DISCONNECTING==info.getState())  
                showWifiDisconnected(context);  
        }  
    }   
}  
       }  
posted @ 2012-09-17 11:56 天宇恒星 阅读(21851) | 评论 (0)编辑 收藏

如下错误:

java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread.

可以使用如下方式解决:
将notifyDataSetChanged 放在handler中,同时加上红字字体代码:

mWifiListView.setVisibility(View.GONE);
mWifiListAdapter.notifyDataSetChanged();
mWifiListView.setVisibility(View.VISIBLE);    
posted @ 2012-09-13 10:12 天宇恒星 阅读(936) | 评论 (0)编辑 收藏

1.startPreview之前设置PreviewCallback
   mCameraDevice.setPreviewCallback(mPreviewCallback);
   mCameraDevice.startPreview();
2. 获取preview数据
private final class PreviewCallback implements 
        android.hardware.Camera.PreviewCallback 
{
         
public void onPreviewFrame(byte[] data, android.hardware.Camera camera) {
                     
                Size size 
= mParameters.getPreviewSize();
                
                YuvImage yuvimage 
= new YuvImage(data, ImageFormat.NV21, size.width, 
                    size.height, 
null);
                ByteArrayOutputStream outputSteam 
= new ByteArrayOutputStream();
                yuvimage.compressToJpeg(
new Rect(00, size.width, size.height), 80, outputSteam);
            
         }

    }

posted @ 2012-08-04 15:15 天宇恒星 阅读(3336) | 评论 (0)编辑 收藏


@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        if (event.getRepeatCount() > 0
                && event.getKeyCode() == KeyEvent.KEYCODE_MENU) {
            return true;
        }
        return super.dispatchKeyEvent(event);
    }
posted @ 2012-05-24 10:11 天宇恒星 阅读(334) | 评论 (0)编辑 收藏

有时,Android系统控件无法满足我们的需求,因此有必要自定义View。具体方法参见官方开发文档:http://developer.android.com/guide/topics/ui/custom-components.html


一般来说,自定义控件都会去重写View的onMeasure方法,因为该方法指定该控件在屏幕上的大小。

protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec)

onMeasure传入的两个参数是由上一层控件传入的大小,有多种情况,重写该方法时需要对计算控件的实际大小,然后调用setMeasuredDimension(int, int)设置实际大小。


onMeasure传入的widthMeasureSpec和heightMeasureSpec不是一般的尺寸数值,而是将模式和尺寸组合在一起的数值。我们需要通过int mode = MeasureSpec.getMode(widthMeasureSpec)得到模式,用int size = MeasureSpec.getSize(widthMeasureSpec)得到尺寸。


mode共有三种情况,取值分别为MeasureSpec.UNSPECIFIED, MeasureSpec.EXACTLY, MeasureSpec.AT_MOST。


MeasureSpec.EXACTLY是精确尺寸,当我们将控件的layout_width或layout_height指定为具体数值时如andorid:layout_width="50dip",或者为FILL_PARENT是,都是控件大小已经确定的情况,都是精确尺寸。


MeasureSpec.AT_MOST是最大尺寸,当控件的layout_width或layout_height指定为WRAP_CONTENT时,控件大小一般随着控件的子空间或内容进行变化,此时控件尺寸只要不超过父控件允许的最大尺寸即可。因此,此时的mode是AT_MOST,size给出了父控件允许的最大尺寸。


MeasureSpec.UNSPECIFIED是未指定尺寸,这种情况不多,一般都是父控件是AdapterView,通过measure方法传入的模式。


因此,在重写onMeasure方法时要根据模式不同进行尺寸计算。下面代码就是一种比较典型的方式:

@Override    
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {    
    setMeasuredDimension(getMeasuredLength(widthMeasureSpec, true), getMeasuredLength(heightMeasureSpec, false));    
}    
    
    
private int getMeasuredLength(int length, boolean isWidth) {    
    int specMode = MeasureSpec.getMode(length);    
    int specSize = MeasureSpec.getSize(length);    
    int size;    
    int padding = isWidth ? getPaddingLeft() + getPaddingRight()    
            : getPaddingTop() + getPaddingBottom();    
    if (specMode == MeasureSpec.EXACTLY) {    
        size = specSize;    
    } else {    
        size = isWidth ? padding + mWave.length / 4 : DEFAULT_HEIGHT    
                + padding;    
        if (specMode == MeasureSpec.AT_MOST) {    
            size = Math.min(size, specSize);    
        }    
    }    
    return size;    
}  

posted @ 2012-03-15 19:18 天宇恒星 阅读(30291) | 评论 (2)编辑 收藏

     摘要: 引用 AudioManager 对象?AudioManager audio = (AudioManager) getSystemService(Service.AUDIO_SERVICE);重写 Activity 的 onKeyDown 方法?@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {  &n...  阅读全文
posted @ 2012-03-13 14:50 天宇恒星 阅读(3035) | 评论 (0)编辑 收藏

仅列出标题
共3页: 上一页 1 2 3 下一页