欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 8.Android(通过Manifest配置文件传递数据(meta-data))

8.Android(通过Manifest配置文件传递数据(meta-data))

2025/4/29 11:05:50 来源:https://blog.csdn.net/m0_75166176/article/details/147581080  浏览:    关键词:8.Android(通过Manifest配置文件传递数据(meta-data))

 

配置文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><applicationandroid:allowBackup="true"android:dataExtractionRules="@xml/data_extraction_rules"android:fullBackupContent="@xml/backup_rules"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.MyApplication"tools:targetApi="31"><!--   1.application标签下是全局元元素--><meta-dataandroid:name="api_kay"android:value="123dad*^t8"/><activityandroid:name=".MainActivity"android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter><!--2.activity局部元元素--><meta-dataandroid:name="LiLi"android:value="hello"/></activity></application></manifest>

活动

package com.example.myapplication;import static android.content.ContentValues.TAG;import android.annotation.SuppressLint;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;import java.text.BreakIterator;public class MainActivity extends AppCompatActivity implements View.OnClickListener {@SuppressLint("MissingInflatedId")@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);EdgeToEdge.enable(this);setContentView(R.layout.activity_main);findViewById(R.id.activity_btn).setOnClickListener(this);findViewById(R.id.application_btn).setOnClickListener(this);ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);return insets;});}@Overridepublic void onClick(View v) {TextView text = findViewById(R.id.get_api);if(v.getId() == R.id.application_btn){//        1.全局元数据的获取方式try {ApplicationInfo info = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);String api_kay = info.metaData.getString("api_kay");Log.d(TAG, "_________________" + api_kay);// 使用配置值(如显示到TextView)text.setText(api_kay);} catch (PackageManager.NameNotFoundException e) {throw new RuntimeException(e);}}if(v.getId() == R.id.activity_btn){//        2.局部元数据的获取方式try {ActivityInfo info = getPackageManager().getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);String LiLi = info.metaData.getString("LiLi");Log.d(TAG, "_________________" + LiLi);// 使用配置值(如显示到TextView)text.setText(LiLi);} catch (PackageManager.NameNotFoundException e) {throw new RuntimeException(e);}}}
}

布局

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><TextViewandroid:id="@+id/get_api"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><Buttonandroid:id="@+id/activity_btn"android:layout_width="match_parent"android:layout_height="50dp"android:text="点击获取局部元数据"tools:ignore="MissingConstraints" /><Buttonandroid:id="@+id/application_btn"android:layout_width="match_parent"android:layout_height="50dp"android:text="点击获取全局元数据"tools:ignore="MissingConstraints" />
</LinearLayout></androidx.constraintlayout.widget.ConstraintLayout>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词