分享几个Android开发有用的程序代码
程序员文章站
2022-03-23 14:13:03
【webview加载本地html、本apk内html和远程url】
复制代码 代码如下:
// 打开本包内asset目录下的index.html文件
wview.lo...
【webview加载本地html、本apk内html和远程url】
复制代码 代码如下:
// 打开本包内asset目录下的index.html文件
wview.loadurl(" ");
// 打开本地sd卡内的index.html文件
wview.loadurl("content://com.android.htmlfileprovider/sdcard/index.html");
// 打开指定url的html文件
wview.loadurl("");
【获取屏幕的分辨率】
复制代码 代码如下:
// 通过windowmanager获取
displaymetrics dm = new displaymetrics();
getwindowmanager().getdefaultdisplay().getmetrics(dm);
system.out.println("heigth : " + dm.heightpixels);
system.out.println("width : " + dm.widthpixels);
// 通过resources获取
displaymetrics dm2 = getresources().getdisplaymetrics();
system.out.println("heigth2 : " + dm2.heightpixels);
system.out.println("width2 : " + dm2.widthpixels);
// 获取屏幕的默认分辨率
display display = getwindowmanager().getdefaultdisplay();
system.out.println("width-display :" + display.getwidth());
system.out.println("heigth-display :" + display.getheight());
// 通过windowmanager获取
displaymetrics dm = new displaymetrics();
getwindowmanager().getdefaultdisplay().getmetrics(dm);
system.out.println("heigth : " + dm.heightpixels);
system.out.println("width : " + dm.widthpixels);
// 通过resources获取
displaymetrics dm2 = getresources().getdisplaymetrics();
system.out.println("heigth2 : " + dm2.heightpixels);
system.out.println("width2 : " + dm2.widthpixels);
// 获取屏幕的默认分辨率
display display = 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的属性
复制代码 代码如下:
<activity android:name=".animateactivity" android:label="@string/app_name"
android:screenorientation="landscape"><!-- landscape 横屏portrait 竖屏 -->
<intent-filter>
<action android:name="android.intent.action.main" />
<category android:name="android.intent.category.launcher" />
</intent-filter>
</activity>
在程序中控制,一般在activity中的oncreate、ondestroy方法中控制,因为在屏幕方向发生变化时,系统会重新启动activity。所以需要再activity销毁前保存相关数据,方便在下次oncreate方法中重新加载,并更新屏幕的布局
复制代码 代码如下:
public void oncreate(bundle savedinstancestate) {
//强制横屏
setrequestedorientation(activityinfo.screen_orientation_landscape);
// todo 更新屏幕布局
}
public void ondestroy() {
if(getrequestedorientation() == activityinfo.screen_orientation_landscape) {
// 保存数据
}else if(getrequestedorientation() == activityinfo.screen_orientation_portrait) {
// 保存数据
}
}
【获取存储卡路径和空间使用情况】
复制代码 代码如下:
// 获取存储卡路径
file sdcarddir = environment.getexternalstoragedirectory();
// statfs看文件系统空间使用情况
file sdcarddir = environment.getexternalstoragedirectory();
statfs statfs = new statfs(sdcarddir.getpath());
// block 的 size
file sdcarddir = environment.getexternalstoragedirectory();
statfs statfs = new statfs(sdcarddir.getpath());
long blocksize = statfs.getblocksize();
// 总 block 数量
file sdcarddir = environment.getexternalstoragedirectory();
statfs statfs = new statfs(sdcarddir.getpath());
long totalblocks = statfs.getblockcount();
// 已使用的 block 数量
file sdcarddir = environment.getexternalstoragedirectory();
statfs statfs = new statfs(sdcarddir.getpath());
long availableblocks = statfs.getavailableblocks();
【控制android的软键盘】
复制代码 代码如下:
inputmethodmanager inputmethodmanager=(inputmethodmanager) getsystemservice(context.input_method_service);
inputmethodmanager.togglesoftinput(0, inputmethodmanager.hide_not_always);
【获取手机号码】
记得在manifest file中添加权限
复制代码 代码如下:
<uses-permission android:name="android.permission.read_phone_state" />
// 创建电话管理与手机建立连接
telephonymanager tm = (telephonymanager)activity.getsystemservice(context.telephony_service);
// 获取手机号码
string phoneid = tm.getline1number();