美文网首页
android 小知识(一)

android 小知识(一)

作者: 我妈叫我二乖 | 来源:发表于2017-05-08 16:38 被阅读13次

一. Intent 分为两种,显示Intent 和隐式Intent

  1. 显示Intent
    Intent intent = new Intent(context, InvoiceActivity.class);
    startActivity(intent);

2.隐式Intent,应用中,我们在许多功能中都会使用到隐式的intent, 例如:拍照以及拨打电话,打开手中的应用市场等等...

/**
 * 隐式的intent,是通过在<activity>标签下配置的<intent-filter>内容,通过里面的<action><category>以及<data>标签来
 * 响应当前的活动。
 * <data> 标签:scheme, host, port, path, mineType
 *
 * <activity android:name=".SecondActivity">
 <intent-filter>
 <action android:name="android.intent.action.VIEW"/>
 <category android:name="android.intent.category.DEFAULT"/>
 <data android:host="www.baidu.com"
 android:scheme="http"
 />
 </intent-filter>
 </activity>
 *
 */
public class MainActivity extends Activity implements View.OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.bt_click).setOnClickListener(this);
    }


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.bt_click:
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.addCategory(Intent.CATEGORY_DEFAULT);
                intent.setData(Uri.parse("http://www.baidu.com"));
                startActivity(intent);
                break;
        }
    }
}

清单文件里面:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".SecondActivity">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:host="www.baidu.com"
                      android:scheme="http"
                />
            </intent-filter>
        </activity>
    </application>

二. 活动的启动模式:standard, singleTop, singleTask, singleInstance

Android是通过返回栈来管理活动的,栈是先进后出的。

standard : 是系统默认的启动模式,每当启动一个活动,这个活动就会进栈。

singleTop: 在启动活动的时候,发现栈顶就是该活动,就会直接使用它,不再重新启动新的活动, 解决了重复创建栈顶活动的问题。

singleTask: 在站内发现有该活动,直接使用这个活动,不需要重新创建,而且,这个活动以上的活动都要出栈。这个活动就会成为栈顶。举个简单的小例子:现在有四个活动,FirstActivity, SecondActivity, ThirdActivity, FourthActivity。 这四个活动依次进栈,然后,FirstActivity的启动模式是singleTask, 栈顶的FourthActivity跳转到FirstActivity, 这个时候,不会重新的创建活动,FourthActivity,ThirdActivity, SecondActivity 三个活动依次出栈。

singleInstance: 如果一个活动的启动模式是singleInstance, 那么启动这个活动的时候会重新创建一个新的栈。FirstActivity, SecondActivity, ThirdActivity, 其中SecondActivity是singleInstance, 这时候,我们点击返回键,从ThirdActivity直接的跳转到了FirstActivity, 再次点击返回按钮,从FirstActivity返回到了SecondActivity。
因为FirstActivity和ThirdActivity是一个栈,SecondActivity是单独的一个栈。

三、 屏幕的适配
px, dp, dip, dpi, sp
屏幕分辨率就是屏幕所含的像素数,比如1080*1920是指屏幕的宽有1080像素,高有1920像素。当然这个像素的单位就是我们要说的px
px: 像素的单位。
dpi: 像素密度(每英尺所包含的点数目)
dp = dip : 像素无关密度

dpi :
ldpi : < 120
mdpi: 120 ~ 160
hdpi: 160 ~ 240
xhdpi : 240 ~ 320
xxhdpi: 320~ 480
xxxhdpi: 480~640
规定是: 160dpi的手机上, 1dp = 1px
然后比例换算就是: 0.75 : 1 : 1.5 : 2: 3: 4

在对控件进行设置宽度与高度的时候,能用px作为单位吗?显而易见,是不能的。例如,同样是5.0寸的手机,不同的像素,那么用px作为单位,这个显示view的大小就不同,这显然不是我们想要的。在布局当中,用dp作为单位,就可以解决适配问题。

相关文章

  • android 常用小知识点 tips (二)

    android 常用小知识点 tips (一)android 常用小知识点 tips (二) 持续更新中.... ...

  • Chronometer和CountDownTimer计时器

    Android小知识10则(上)Android小知识10则(下)Android用5种方式实现自定义计时器, 哪种才...

  • Android 小知识

    以下内容是针对 纳兰寒明 发布 《android 小知识 1》 和 《android 小知识 2》文章做了更改,...

  • android 小知识(一)

    一. Intent 分为两种,显示Intent 和隐式Intent 显示IntentIntent intent =...

  • Android 小知识

    Activity启动方式singleTop task栈场景:Activity BAcitivty A (singl...

  • android 小知识

    Logcat 等级 verbose:冗余,最低等级 debug:调试 info:正常等级的信息 warn:警告 e...

  • Android小知识

    目录: Android系统架构Android应用开发特色Project 介绍项目运行过程剖析 res 中的资源如何...

  • android小知识

    1.editext自动弹出键盘,并且可以设置键盘种类

  • Android小知识

    canvas相关操作 http://blog.csdn.net/oney139/article/details/8...

  • Android小知识

    TextView 使用Html.fromHtml 的时候颜色建议用6位,目前不支持8位(无法改变颜色) 日期相关 ...

网友评论

      本文标题:android 小知识(一)

      本文链接:https://www.haomeiwen.com/subject/yormtxtx.html