zoukankan      html  css  js  c++  java
  • Android开发之常用代码片段

    1、设置窗口格式为半透明
    getWindow().setFormat(PixelFormat.TRANSLUCENT);
    2、Android中在非UI线程里更新View的不同方法:
    * Activity.runOnUiThread( Runnable )
    * View.post( Runnable )
    * View.postDelayed( Runnable, long )
    * Hanlder
    3、全屏显示窗口
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    4、取得屏幕大小
    方法A:
    WindowManager windowManager = getWindowManager();
    Display display = windowManager.getDefaultDisplay();
    hAndW[0] = display.getWidth();
    hAndW[1] = display.getHeight();
    方法B:
    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    hAndW[0] = dm.widthPixels;
    hAndW[1] = dm.heightPixels;
    5、调浏览器 载入网址
    Uri uri = Uri.parse("http://www.google.com");
    Intent it = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(it);
    6、取得内存大小
    ActivityManager.MemoryInfo outInfo = new ActivityManager.MemoryInfo();
    activityManager.getMemoryInfo(outInfo);
    //可用内存
    outInfo.availMem
    //是否在低内存状态
    outInfo.lowMemory
    取得ScrollView的实际高度
    scrollview.getHeight()
    scrollview.getMeasuredHeight()
    scrollview.compute()
    scrollview.getLayoutParams().height
    7、监听App安装/卸载事件
    A.Define a class derived from class BroadcastReceiver;
    B.Register broadcast receiver;
    MyBroadcastReceiver myReceiver = new MyBroadcastReceiver();
    IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_INSTALL);
    filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
    filter.addAction(Intent.ACTION_PACKAGE_ADDED);
    filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
    filter.addAction(Intent.ACTION_PACKAGE_RESTARTED);
    ...
    filter.addDataScheme("package"); //This line is very important. Otherwise, broadcast can't be received.
    registerReceiver(myReceiver, filter);
    Notes: The package name is Intent.mData. Intent.mData is not available in SDK 1.0, but it can be retrieved by calling Intent.getDataString();
    8、取得IP地址
    A.
    //Connect via WIFI 通过wifi
    WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    int ipAddress = wifiInfo.getIpAddress();
    B.
    //Connect via GPRS通过gprs
    public String getLocalIpAddress(){
    try{
    for(Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();){
    NetworkInterface intf = en.nextElement();
    for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();){
    InetAddress inetAddress = enumIpAddr.nextElement();
    if (!inetAddress.isLoopbackAddress()){
    return inetAddress.getHostAddress().toString();
    }
    }
    }
    }catch (SocketException ex){
    Log.e(S.TAG, ex.toString());
    }
    return null;
    }
    9、ListView 后面adapter数据已更改,但是ListView没有收到Notification
    首先,必须将 更新adapter数据的代码放在:Handler.post(Runnable)方法中执行;
    然后,如果Adapter数据的来源如果是cursor(CursorAdapter)的话 可以cursor.requery一下,如果是别的可以强制调用一下notifyChange, notifyChange 会调用 invalidate 进行重绘;
    10、模拟HOME键
    Intent i=new Intent(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
    11、设置焦点
    editText.setFocusable(true);
    editText.requestFocus();
    editText.setFocusableInTouchMode(true);
  • 相关阅读:
    推荐下自己的开源框架:DataMapFramework
    真的能无师自通吗?JAVA学习指导系列
    再回首,工作的第一个十年
    2个DataSet中的数据传递问题,请高手们多多指教。
    数据结构小结
    CDQZ_Training 2012524 词编码
    PowerDesigner显示Comment注释
    DDD基本元素
    使用FluorineFx.NET更新FMS中的SharedObject
    如何取消页面缓存
  • 原文地址:https://www.cnblogs.com/top5/p/2336076.html
Copyright © 2011-2022 走看看