分享几个Android开发有用的程序代码
【webview加载本地html、本apk内html和远程URL】
//打开本包内asset目录下的index.html文件 wView.loadUrl("file:///android_asset/index.html"); //打开本地sd卡内的index.html文件 wView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html"); //打开指定URL的html文件 wView.loadUrl("http://m.xxx.net");
【获取屏幕的分辨率】
//通过WindowManager获取 DisplayMetricsdm=newDisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); System.out.println("heigth:"+dm.heightPixels); System.out.println("width:"+dm.widthPixels); //通过Resources获取 DisplayMetricsdm2=getResources().getDisplayMetrics(); System.out.println("heigth2:"+dm2.heightPixels); System.out.println("width2:"+dm2.widthPixels); //获取屏幕的默认分辨率 Displaydisplay=getWindowManager().getDefaultDisplay(); System.out.println("width-display:"+display.getWidth()); System.out.println("heigth-display:"+display.getHeight()); //通过WindowManager获取 DisplayMetricsdm=newDisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); System.out.println("heigth:"+dm.heightPixels); System.out.println("width:"+dm.widthPixels); //通过Resources获取 DisplayMetricsdm2=getResources().getDisplayMetrics(); System.out.println("heigth2:"+dm2.heightPixels); System.out.println("width2:"+dm2.widthPixels); //获取屏幕的默认分辨率 Displaydisplay=getWindowManager().getDefaultDisplay(); System.out.println("width-display:"+display.getWidth()); System.out.println("heigth-display:"+display.getHeight());
【去掉屏幕标题及全屏显示】
//去掉标题 requestWindowFeature(Window.FEATURE_NO_TITLE); //设置全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //去掉标题 requestWindowFeature(Window.FEATURE_NO_TITLE); //设置全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
【设置屏幕的方向】
在Manifest.xml文件中配置Activity的属性
<activityandroid:name=".AnimateActivity"android:label="@string/app_name" android:screenOrientation="landscape"><!--landscape横屏portrait竖屏--> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
在程序中控制,一般在Activity中的onCreate、onDestroy方法中控制,因为在屏幕方向发生变化时,系统会重新启动Activity。所以需要再Activity销毁前保存相关数据,方便在下次onCreate方法中重新加载,并更新屏幕的布局
publicvoidonCreate(BundlesavedInstanceState){ //强制横屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //TODO更新屏幕布局 } publicvoidonDestroy(){ if(getRequestedOrientation()== ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){ //保存数据 }elseif(getRequestedOrientation()== ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){ //保存数据 } }
【获取存储卡路径和空间使用情况】
//获取存储卡路径 FilesdcardDir=Environment.getExternalStorageDirectory(); //StatFs看文件系统空间使用情况 FilesdcardDir=Environment.getExternalStorageDirectory(); StatFsstatFs=newStatFs(sdcardDir.getPath()); //Block的size FilesdcardDir=Environment.getExternalStorageDirectory(); StatFsstatFs=newStatFs(sdcardDir.getPath()); LongblockSize=statFs.getBlockSize(); //总Block数量 FilesdcardDir=Environment.getExternalStorageDirectory(); StatFsstatFs=newStatFs(sdcardDir.getPath()); LongtotalBlocks=statFs.getBlockCount(); //已使用的Block数量 FilesdcardDir=Environment.getExternalStorageDirectory(); StatFsstatFs=newStatFs(sdcardDir.getPath()); LongavailableBlocks=statFs.getAvailableBlocks();
【控制Android的软键盘】
InputMethodManagerinputMethodManager=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);
【获取手机号码】
记得在manifestfile中添加权限
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> //创建电话管理与手机建立连接 TelephonyManagertm=(TelephonyManager)activity.getSystemService(Context.TELEPHONY_SERVICE); //获取手机号码 StringphoneId=tm.getLine1Number();