欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

分享几个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();