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);
  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/top5/p/2336076.html
Copyright © 2011-2022 走看看