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

(0)

相关推荐

  • Android应用开发中模拟按下HOME键的效果(实现代码)

    下面提供代码示例,请参考. 复制代码 代码如下: public boolean onKeyDown(int keyCode, KeyEvent event) {      if (keyCode == KeyEvent.KEYCODE_BACK) {          Intent intent = new Intent(Intent.ACTION_MAIN);          intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);          i

  • Android应用开发之代码混淆

    混淆器(ProGuard) 混淆器通过删除从未用过的代码和使用晦涩名字重命名类.字段和方法,对代码进行压缩,优化和混淆.结果是一个比較小的.apk文件,该文件比較难进行逆向project.因此,当你的应用程序对安全敏感(要求高),比如当你授权应用程序的时候,混淆器是一种重要的保护手段. 混淆器被集成在android 构建系统中,所以你不必手动调用它.同一时候混淆器仅在公布模式下进行构建应用程序的时候才会执行起来,所以在调试模式下构建程序时,你不必处理混淆代码.让混淆器执行起来是可选择的,可是推荐

  • Android开发中实现用户注册和登陆的代码实例分享

    在android的应用中越来越多的包含了网络互动功能,这就带来了注册,登陆账号功能.本文完整的介绍对话框的方式实现用户登陆功能. 登陆效果: 应用程序判断当前用户还未登陆,弹出登陆对话框,用户输入账号和密码信息后,传到服务器验证,验证成功后,现实Toast 成功信息,并转到其他界面. 注册效果:用户如没有账号,则点击登陆对话框的 "没有账号,快速注册账号", 弹出注册界面,用户输入注册信息,点击注册按钮,注册成功后,弹出toast信息"注册成功",完成注册后,转到其

  • android开发之方形圆角listview代码分享

    先看效果图: 首先,你得写一个类我们命名为CornerListView [java] 复制代码 代码如下: /** * 圆角ListView示例 * @Description: 圆角ListView示例 * @FileName: CornerListView.java  */ public class CornerListView extends ListView {     public CornerListView(Context context) {         super(conte

  • Android开发自学笔记(五):使用代码控制界面

    酷酷的外表已经具备了,那就开始让我们真正把它的功能给实现起来吧,外强中干,花拳绣腿可不行哦,我们需要真正的本领,需要一颗自强不息的心哦,常常想想自己的梦想什么,这样才不会迷失自己,才会在茫茫的世界中找到自己前进的方向!我不会告诉你我刚看过<voice of China session 3>哦. 从上两节教程中,我们已经会搭出如下美美的布局了,欢迎翻页查阅:) Android自学开发第四篇之布局上 Android自学开发第五篇之布局下 添加第二个layout 关于layout布局我们不再赘述,这

  • android开发之蜂鸣提示音和震动提示的实现原理与参考代码

    最近在读zxing项目,学到了不少东西.推荐大家也读读.里面有个BeepManager类,实现一个蜂鸣音和震动的实现.我们一起来看看他是怎么做的: 蜂鸣 1.准备一个 音频文件 比如:beep.ogg. ogg格式是声音压缩格式的一种,类似mp3这样.我们准备播放它,就产生了蜂鸣的效果. 2.为activity注册的默认 音频通道 . activity.setVolumeControlStream(AudioManager.STREAM_MUSIC); 这里声明为 STREAM_MUSIC的通道

  • android开发教程之时间对话框核心代码

    复制代码 代码如下: new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) {                c.setTimeInMillis(System.currentTimeMillis());                c

  • 解析Android开发优化之:从代码角度进行优化的技巧

    通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的.一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构.重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能.下面我们就从几个方面来了解Android开发过程中的代码优化. 1)静态变量引起内存泄露 在代码优化的过程中,我们需要对代码中的静态变量特别留意.静态变量是类相关的变量,它的生命周期是从这个类被声明,到这个类彻底被垃圾回收器回收才会被销毁.所以,一般情况下,静态变量

  • Android应用开发:电话监听和录音代码示例

    在oncreate 中执行: 复制代码 代码如下: public void onCreate() {  super.onCreate();  Log.i("TAG", "服务启动了"); // 对电话的来电状态进行监听  TelephonyManager telManager = (TelephonyManager) this    .getSystemService(Context.TELEPHONY_SERVICE);  // 注册一个监听器对电话状态进行监听 

  • Android开发常用经典代码段集锦

    本文实例总结了Android开发常用经典代码段.分享给大家供大家参考,具体如下: 1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable.moon); Matrix matrix = new Matrix(); matrix.postRotate(-90);//旋转的角度 Bitmap resizedBitmap = Bitmap.createBitma

随机推荐