为了账号安全,请及时绑定邮箱和手机立即绑定

读Android开发实战笔记总结

标签:
Android

1.为文本设置超链接:

android:autoLink="web|all"
android:text="点我:http://www.baidu.com"/>

2.为textview设置背景颜色
创建一个xml文件color.xml,用于保存颜色

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="red">#80ff0000</color>
</resources>

在代码中:

textView.setBackgroundDrawable(getResources().getDrawable(R.drawable.red));

3,获取string.xml中的字符串

        CharSequence str=getString(R.string.hello_world);
        String str=getResources().getString(R.string.hello_world);
        String str=context.getString(R.string.hello_world);  //

4,获取手机屏幕分辨率(3中方法)
// 通过WindowManager获取

DisplayMetrics metrics=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
textView.setText(metrics.widthPixels+"  "+metrics.heightPixels);

解释:其中getWindowManager() 获得现有activity的handler,调用getDefaultDisplay()获得宽、高、维度存放于DisplayMetrics对象中。从而获得宽、高、维度。(这里的像素是绝对像素)

// 通过Resources获取

DisplayMetrics metrics = getResources().getDisplayMetrics();
textView.setText(metrics.widthPixels+"  "+metrics.heightPixels);

// 获取屏幕的默认分辨率

Display display = getWindowManager().getDefaultDisplay();

其中屏幕的宽、高、维度等信息保存在Display对象之中。
5,使用样式
在style.xml中定义如下的样式:

<style name="style1">
        <item name="android:textSize"> 20sp</item>
        <item name="android:textColor"> @color/reds</item>
</style>
xml中引用定义的样式:
    style="@style/style1"

6,不实用Intent实现简单的页面切换效果

通过 setContentView(R.layout.activity_main);加载不同的布局文件实现不同页面之间的切换。适合于页面效果较为简单的情况,并且使用此方法不会涉及页面之间传递参数。

7.获取BitMap
// 根据文件路径获取bitmap

        Bitmap bitmap1=BitmapFactory.decodeFile("filepath");

// 根据drawable获取bitmap

        Bitmap bitmap2=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);

8,为文本设置自动链接功能

Linkify.addLinks(textview, Linkify.WEB_URLS|Linkify.EMAIL_ADDRESSES|Linkify.PHONE_NUMBERS);

9,还原手机默认的主界面
重写clearWallpaper(),在oncreate()中调用。

 @Override
    public void clearWallpaper() throws IOException {
        // TODO Auto-generated method stub
        super.clearWallpaper();
    }

在注册文件中添加权限:

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

同理,可以通过重写下面两个方法来设置背景:

    @Override
    public void setWallpaper(Bitmap bitmap) throws IOException {
        // TODO Auto-generated method stub
        super.setWallpaper(bitmap);
    }
    @Override
    public void setWallpaper(InputStream data) throws IOException {
        // TODO Auto-generated method stub
        super.setWallpaper(data);
    }

10,设置屏幕的方向

  if(getRequestedOrientation()== -1){
//    判断是否为activity设置如下属性,如果没有设置这个属性,程序将不能获取屏幕方向  android:screenOrientation="portrait" 
      Toast.makeText(MainActivity.this, "rrr", Toast.LENGTH_SHORT).show();
      }else{
        if(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT==getRequestedOrientation()){  //竖屏
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }else if(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE==getRequestedOrientation()){ //横屏
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        }
  }

11,获取设备信息(系统服务)

  TelephonyManager manager=(TelephonyManager) getSystemService(TELEPHONY_SERVICE);

manager对象封装了所有设备信息:手机电话号码,电信网络所属的国家,网络公司的代码及名称、网络类型,漫游状态、手机IMEI、IMEI SV、IMSI、蓝牙状态、wifi状态、飞行模式是否打开,数据漫游是否打开等。
需要权限:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
点击查看更多内容
18人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消