Android Code Frament 开发代码收藏

1.BitMap、Drawable、inputStream及byte[] 互转

Bitmap转换为inputStream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, baos);
InputStream isBm = new ByteArrayInputStream(baos .toByteArray());
BitMap转换为byte[]
Bitmap bitmap = BitmapFactory.decodeStream(in);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] bitmapdata = stream.toByteArray();

Drawable转换为byte[]

Drawable d; 
Bitmap bitmap = ((BitmapDrawable)d).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, bitmap);
byte[] bitmapdata = stream.toByteArray();

byte[]转换为Bitmap :

Bitmap bitmap =BitmapFactory.decodeByteArray(byte[], 0,byte[].length);

2.android dp和px之间转换

public class DensityUtil {  
/** 
 * 根据手机的分辨率从 dip 的单位 转成为 px(像素) 
 */  
public static int dip2px(Context context, float dpValue) {  
    final float scale = context.getResources().getDisplayMetrics().density;  
    return (int) (dpValue * scale + 0.5f);  
}  

/** 
 * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 
 */  
public static int px2dip(Context context, float pxValue) {  
    final float scale = context.getResources().getDisplayMetrics().density;  
    return (int) (pxValue / scale + 0.5f);  
}  
}  

3.还原短信

ContentValues values = new ContentValues();
values.put("address", "123456789");
values.put("body", "haha");
values.put("date", "135123000000");
getContentResolver().insert(Uri.parse("content://sms/sent"), values);

4.android横竖屏切换

manifest中
< activity android:name="MyActivity"  android:configChanges="orientation|keyboardHidden|landscape"> 

activity中

 public void onConfigurationChanged(Configuration newConfig) {  
super.onConfigurationChanged(newConfig);  
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {  
       //加入横屏要处理的代码  
}else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {   
       //加入竖屏要处理的代码  
}   
}  

5.设置应用开机自启

public class StartupReceiver extends BroadcastReceiver {  
  @Override  
  public void onReceive(Context context, Intent intent) {  
  Intent startupintent = new   Intent(context,StrongTracks.class);  
  startupintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  context.startActivity(startupintent);  
  }  
}  

<receiver android:name=".StartupReceiver">  
<intent-filter>  
    <!-- 系统启动完成后会调用 -->  
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>  
</receiver> 

6.android判断网络状态

<uses-permission  android:name="android.permission.ACCESS_NETWORK_STATE" />  

首先权限,之后是代码

private boolean getNetWorkStatus() {  

 boolean netSataus = false;  
 ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  

cwjManager.getActiveNetworkInfo();  

 if (cwjManager.getActiveNetworkInfo() != null) {  
netSataus = cwjManager.getActiveNetworkInfo().isAvailable();  
 }  

 if (!netSataus) {  
    Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络")  
    .setMessage("是否对网络进行设置?");  
b.setPositiveButton("是", new DialogInterface.OnClickListener() {  
    public void onClick(DialogInterface dialog, int whichButton) {  
        Intent mIntent = new Intent("/");  
        ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");  
        mIntent.setComponent(comp);  
        mIntent.setAction("android.intent.action.VIEW");  
        startActivityForResult(mIntent,0);   
    }  
}).setNeutralButton("否", new DialogInterface.OnClickListener() {  
    public void onClick(DialogInterface dialog, int whichButton) {  
        dialog.cancel();  
    }  
}).show();  
 }  
 return netSataus;  
}

7.android设置apn

ContentValues values = new ContentValues();
values.put(NAME, "CMCC cmwap");
values.put(APN, "cmwap");
values.put(PROXY, "10.0.0.172");
values.put(PORT, "80");
values.put(MMSPROXY, "");
values.put(MMSPORT, "");
values.put(USER, "");
values.put(SERVER, "");
values.put(PASSWORD, "");
values.put(MMSC, "");         
values.put(TYPE, "");
values.put(MCC, "460");    
values.put(MNC, "00");
values.put(NUMERIC, "46000");
reURI = getContentResolver().insert(Uri.parse("content://telephony/carriers"), values);
//首选接入点"content://telephony/carriers/preferapn"

8.android 关闭键盘

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            if(imm.isActive()&&getCurrentFocus()!=null){
                if (getCurrentFocus().getWindowToken()!=null) {
                    imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
                }
            }

9.android 禁用home键盘

先禁止Home键,再在onKeyDown里处理按键值,点击Home键的时候就把程序关闭,或者随你XXOO。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event){ 

if(KeyEvent.KEYCODE_HOME==keyCode)
android.os.Process.killProcess(android.os.Process.myPid());

return super.onKeyDown(keyCode, event);
}

@Override
public void onAttachedToWindow(){ 

this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}

加权限禁止Home键

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>

10.android 隐藏以及显示软键盘以及不自动弹出键盘的方法

1、//隐藏软键盘

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow        (WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);   

2、//显示软键盘,控件ID可以是EditText,TextView

((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(控件ID, 0); 

3.setbrigtness

public void setBrightness(int level) { 
ContentResolver cr = getContentResolver(); 
Settings.System.putInt(cr, "screen_brightness", level); 
Window window = getWindow(); 
LayoutParams attributes = window.getAttributes(); 
float flevel = level; 
attributes.screenBrightness = flevel / 255; 
getWindow().setAttributes(attributes); 
} 

11.android 挪动dialog的位置

public void setBrightness(int level) { 
ContentResolver cr = getContentResolver(); 
Settings.System.putInt(cr, "screen_brightness", level); 
Window window = getWindow(); 
LayoutParams attributes = window.getAttributes(); 
float flevel = level; 
attributes.screenBrightness = flevel / 255; 
getWindow().setAttributes(attributes); 
} 

#12.判断网络连接是否可用

public static boolean isNetworkAvailable(Context context) {
  ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
   if (connectivityManager == null) {  
  } else {
    NetworkInfo[] networkInfo =connectivityManager.getAllNetworkInfo();
           if (networkInfo != null&&networkInfo.length>0) {         
           for (int i = 0; i < networkInfo.length; i++) {               
           if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED{ 
                   return true;               
         } 
          } 
           }
              }    
          return false;
        }

13.判断服务是否运行

public static boolean isServiceRunning(Context mContext, String className) {  
      boolean isRunning = false;  
      ActivityManager activityManager = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE);    
      List<ActivityManager.RunningServiceInfo> serviceList = activityManager.getRunningServices(30);  
          if (!(serviceList.size() > 0)) {      
            return false; 
          }   
         for (int i = 0; i < serviceList.size(); i++) {       
       if (serviceList.get(i).service.getClassName().equals(className) == true) {           
         isRunning = true;        
          break;   
             }
              } 
         return isRunning;
      }

14.复制文件

public void copyFile(String oldPath, String newPath) {  
  try {       
 int   bytesum = 0;       
 int byteread = 0;       
 File oldfile = new File(oldPath);      
   if (!oldfile.exists()) {           
   InputStream inStream = new FileInputStream(oldPath);                    
    FileOutputStream fs = new FileOutputStream(newPath);            
    byte[] buffer = new byte[1444];            
      int length;            
                while ((byteread = inStream.read(buffer)) != -1) {     
                       bytesum += byteread;                          
                              System.out.println(bytesum);               
                                     fs.write(buffer, 0, byteread);        
                                    }            
                                          inStream.close();       
                         }  
                              } catch (Exception e) {      
                                    e.printStackTrace();    
                                      }
                        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值